@opentripplanner/core-utils 12.0.0 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/query-gen.js +12 -24
- package/esm/query-gen.js.map +1 -1
- package/lib/query-gen.d.ts +1 -1
- package/lib/query-gen.d.ts.map +1 -1
- package/lib/query-gen.js +10 -24
- package/lib/query-gen.js.map +1 -1
- package/package.json +1 -1
- package/src/query-gen.ts +5 -22
- package/tsconfig.tsbuildinfo +1 -1
package/esm/query-gen.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
1
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
3
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
3
4
|
|
|
@@ -175,20 +176,15 @@ export function generateCombinations(params) {
|
|
|
175
176
|
* @returns A fully formed query+variables ready to be sent to GraphQL backend
|
|
176
177
|
*/
|
|
177
178
|
|
|
178
|
-
export function generateOtp2Query(
|
|
179
|
-
var arriveBy = _ref.arriveBy,
|
|
180
|
-
banned = _ref.banned,
|
|
181
|
-
date = _ref.date,
|
|
182
|
-
from = _ref.from,
|
|
183
|
-
modes = _ref.modes,
|
|
184
|
-
modeSettings = _ref.modeSettings,
|
|
185
|
-
numItineraries = _ref.numItineraries,
|
|
186
|
-
preferred = _ref.preferred,
|
|
187
|
-
time = _ref.time,
|
|
188
|
-
to = _ref.to,
|
|
189
|
-
unpreferred = _ref.unpreferred;
|
|
179
|
+
export function generateOtp2Query(otpQueryParams) {
|
|
190
180
|
var planQuery = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : DefaultPlanQuery;
|
|
191
|
-
|
|
181
|
+
|
|
182
|
+
var from = otpQueryParams.from,
|
|
183
|
+
modeSettings = otpQueryParams.modeSettings,
|
|
184
|
+
to = otpQueryParams.to,
|
|
185
|
+
otherOtpQueryParams = _objectWithoutProperties(otpQueryParams, ["from", "modeSettings", "to"]); // This extracts the values from the mode settings to key value pairs
|
|
186
|
+
|
|
187
|
+
|
|
192
188
|
var modeSettingValues = modeSettings.reduce(function (prev, cur) {
|
|
193
189
|
if (cur.type === "SLIDER" && cur.inverseKey) {
|
|
194
190
|
prev[cur.inverseKey] = cur.high - cur.value + cur.low;
|
|
@@ -206,28 +202,20 @@ export function generateOtp2Query(_ref) {
|
|
|
206
202
|
}, {});
|
|
207
203
|
var bikeReluctance = modeSettingValues.bikeReluctance,
|
|
208
204
|
carReluctance = modeSettingValues.carReluctance,
|
|
209
|
-
walkSpeed = modeSettingValues.walkSpeed,
|
|
210
205
|
walkReluctance = modeSettingValues.walkReluctance,
|
|
206
|
+
walkSpeed = modeSettingValues.walkSpeed,
|
|
211
207
|
wheelchair = modeSettingValues.wheelchair;
|
|
212
208
|
return {
|
|
213
209
|
query: print(planQuery),
|
|
214
|
-
variables: {
|
|
215
|
-
arriveBy: arriveBy,
|
|
216
|
-
banned: banned,
|
|
210
|
+
variables: _objectSpread(_objectSpread({}, otherOtpQueryParams), {}, {
|
|
217
211
|
bikeReluctance: bikeReluctance,
|
|
218
212
|
carReluctance: carReluctance,
|
|
219
|
-
date: date,
|
|
220
213
|
fromPlace: "".concat(from.name, "::").concat(from.lat, ",").concat(from.lon),
|
|
221
|
-
modes: modes,
|
|
222
|
-
numItineraries: numItineraries,
|
|
223
|
-
preferred: preferred,
|
|
224
|
-
time: time,
|
|
225
214
|
toPlace: "".concat(to.name, "::").concat(to.lat, ",").concat(to.lon),
|
|
226
|
-
unpreferred: unpreferred,
|
|
227
215
|
walkReluctance: walkReluctance,
|
|
228
216
|
walkSpeed: walkSpeed,
|
|
229
217
|
wheelchair: wheelchair
|
|
230
|
-
}
|
|
218
|
+
})
|
|
231
219
|
};
|
|
232
220
|
}
|
|
233
221
|
//# sourceMappingURL=query-gen.js.map
|
package/esm/query-gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/query-gen.ts"],"names":["print","extractAdditionalModes","modeSettings","enabledModes","reduce","prev","cur","map","m","mode","includes","applicableMode","type","addTransportMode","value","newTransportModes","Array","isArray","transportMode","options","find","o","combinations","array","length","fill","e1","i","filter","e2","j","SIMPLIFICATIONS","AIRPLANE","BICYCLE","BUS","CABLE_CAR","CAR","FERRY","FLEX","FUNICULAR","GONDOLA","RAIL","MONORAIL","SCOOTER","SUBWAY","TROLLEYBUS","TRAM","TRANSIT","WALK","VALID_COMBOS","BANNED_TOGETHER","TRANSIT_SUBMODES","Object","keys","TRANSIT_SUBMODES_AND_TRANSIT","isCombinationValid","combo","queryTransitSubmodes","simplifiedModes","from","Set","c","qualifier","vc","every","generateCombinations","params","completeModeList","modes","generateOtp2Query","arriveBy","banned","date","numItineraries","preferred","time","to","unpreferred","planQuery","DefaultPlanQuery","modeSettingValues","inverseKey","high","low","key","truthValue","falseValue","bikeReluctance","carReluctance","walkSpeed","walkReluctance","wheelchair","query","variables","fromPlace","name","lat","lon","toPlace"],"mappings":"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","sourcesContent":["import { LonLatOutput } from \"@conveyal/lonlat\";\nimport { print } from \"graphql\";\nimport {\n ModeSetting,\n ModeSettingValues,\n TransportMode\n} from \"@opentripplanner/types\";\n\nimport DefaultPlanQuery from \"./planQuery.graphql\";\n\ntype InputBanned = {\n routes?: string;\n agencies?: string;\n trips?: string;\n stops?: string;\n stopsHard?: string;\n};\n\ntype InputPreferred = {\n routes?: string;\n agencies?: string;\n unpreferredCost?: string;\n};\n\ntype OTPQueryParams = {\n arriveBy: boolean;\n date?: string;\n from: LonLatOutput & { name?: string };\n modes: TransportMode[];\n modeSettings: ModeSetting[];\n time?: string;\n numItineraries?: number;\n to: LonLatOutput & { name?: string };\n banned?: InputBanned;\n preferred?: InputPreferred;\n unpreferred?: InputPreferred;\n};\n\ntype GraphQLQuery = {\n query: string;\n variables: Record<string, unknown>;\n};\n\n/**\n * Mode Settings can contain additional modes to add to the query,\n * this function extracts those additional modes from the settings\n * and returns them in an array.\n * @param modeSettings List of mode settings with values populated\n * @returns Additional transport modes to add to query\n */\nexport function extractAdditionalModes(\n modeSettings: ModeSetting[],\n enabledModes: TransportMode[]\n): TransportMode[] {\n return modeSettings.reduce<TransportMode[]>((prev, cur) => {\n // First, ensure that the mode associated with this setting is even enabled\n if (!enabledModes.map(m => m.mode).includes(cur.applicableMode)) {\n return prev;\n }\n\n // In checkboxes, mode must be enabled and have a transport mode in it\n if (\n (cur.type === \"CHECKBOX\" || cur.type === \"SUBMODE\") &&\n cur.addTransportMode &&\n cur.value\n ) {\n const newTransportModes = Array.isArray(cur.addTransportMode)\n ? cur.addTransportMode\n : [cur.addTransportMode];\n return [...prev, ...newTransportModes];\n }\n if (cur.type === \"DROPDOWN\") {\n const transportMode = cur.options.find(o => o.value === cur.value)\n ?.addTransportMode;\n if (transportMode) {\n return [...prev, transportMode];\n }\n }\n return prev;\n }, []);\n}\n\n/**\n * Generates every possible mathematical subset of the input TransportModes.\n * Uses code from:\n * https://stackoverflow.com/questions/5752002/find-all-possible-subset-combos-in-an-array\n * @param array Array of input transport modes\n * @returns 2D array representing every possible subset of transport modes from input\n */\nfunction combinations(array: TransportMode[]): TransportMode[][] {\n if (!array) return [];\n return (\n // eslint-disable-next-line no-bitwise\n new Array(1 << array.length)\n .fill(null)\n // eslint-disable-next-line no-bitwise\n .map((e1, i) => array.filter((e2, j) => i & (1 << j)))\n );\n}\n\n/**\n * This constant maps all the transport mode to a broader mode type,\n * which is used to determine the valid combinations of modes used in query generation.\n */\nexport const SIMPLIFICATIONS = {\n AIRPLANE: \"TRANSIT\",\n BICYCLE: \"PERSONAL\",\n BUS: \"TRANSIT\",\n CABLE_CAR: \"TRANSIT\",\n CAR: \"CAR\",\n FERRY: \"TRANSIT\",\n FLEX: \"SHARED\", // TODO: this allows FLEX+WALK. Is this reasonable?\n FUNICULAR: \"TRANSIT\",\n GONDOLA: \"TRANSIT\",\n RAIL: \"TRANSIT\",\n MONORAIL: \"TRANSIT\",\n SCOOTER: \"PERSONAL\",\n SUBWAY: \"TRANSIT\",\n TROLLEYBUS: \"TRANSIT\",\n TRAM: \"TRANSIT\",\n TRANSIT: \"TRANSIT\",\n WALK: \"WALK\"\n};\n\n// Inclusion of \"TRANSIT\" alone automatically implies \"WALK\" in OTP\nconst VALID_COMBOS = [\n [\"WALK\"],\n [\"PERSONAL\"],\n [\"TRANSIT\", \"SHARED\"],\n [\"WALK\", \"SHARED\"],\n [\"TRANSIT\"],\n [\"TRANSIT\", \"PERSONAL\"],\n [\"TRANSIT\", \"CAR\"]\n];\n\nconst BANNED_TOGETHER = [\"SCOOTER\", \"BICYCLE\", \"CAR\"];\n\nexport const TRANSIT_SUBMODES = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\" && mode !== \"TRANSIT\"\n);\nexport const TRANSIT_SUBMODES_AND_TRANSIT = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\"\n);\n\nfunction isCombinationValid(\n combo: TransportMode[],\n queryTransitSubmodes: string[]\n): boolean {\n if (combo.length === 0) return false;\n\n // All current qualifiers currently simplify to \"SHARED\"\n const simplifiedModes = Array.from(\n new Set(combo.map(c => (c.qualifier ? \"SHARED\" : SIMPLIFICATIONS[c.mode])))\n );\n\n // Ensure that if we have one transit mode, then we include ALL transit modes\n if (simplifiedModes.includes(\"TRANSIT\")) {\n // Don't allow TRANSIT along with any other submodes\n if (queryTransitSubmodes.length && combo.find(c => c.mode === \"TRANSIT\")) {\n return false;\n }\n\n if (\n combo.reduce((prev, cur) => {\n if (queryTransitSubmodes.includes(cur.mode)) {\n return prev - 1;\n }\n return prev;\n }, queryTransitSubmodes.length) !== 0\n ) {\n return false;\n }\n // Continue to the other checks\n }\n\n // OTP doesn't support multiple non-walk modes\n if (BANNED_TOGETHER.filter(m => combo.find(c => c.mode === m)).length > 1) {\n return false;\n }\n\n return !!VALID_COMBOS.find(\n vc =>\n simplifiedModes.every(m => vc.includes(m)) &&\n vc.every(m => simplifiedModes.includes(m))\n );\n}\n\n/**\n * Generates a list of queries for OTP to get a comprehensive\n * set of results based on the modes input.\n * @param params OTP Query Params\n * @returns Set of parameters to generate queries\n */\nexport function generateCombinations(params: OTPQueryParams): OTPQueryParams[] {\n const completeModeList = [\n ...extractAdditionalModes(params.modeSettings, params.modes),\n ...params.modes\n ];\n\n // List of the transit *submodes* that are included in the input params\n const queryTransitSubmodes = completeModeList\n .filter(mode => TRANSIT_SUBMODES.includes(mode.mode))\n .map(mode => mode.mode);\n\n return combinations(completeModeList)\n .filter(combo => isCombinationValid(combo, queryTransitSubmodes))\n .map(combo => ({ ...params, modes: combo }));\n}\n\n/**\n * Generates a query for OTP GraphQL API based on parameters.\n * @param param0 OTP2 Parameters for the query\n * @param planQuery Override the default query for OTP\n * @returns A fully formed query+variables ready to be sent to GraphQL backend\n */\nexport function generateOtp2Query(\n {\n arriveBy,\n banned,\n date,\n from,\n modes,\n modeSettings,\n numItineraries,\n preferred,\n time,\n to,\n unpreferred\n }: OTPQueryParams,\n planQuery = DefaultPlanQuery\n): GraphQLQuery {\n // This extracts the values from the mode settings to key value pairs\n const modeSettingValues = modeSettings.reduce((prev, cur) => {\n if (cur.type === \"SLIDER\" && cur.inverseKey) {\n prev[cur.inverseKey] = cur.high - cur.value + cur.low;\n }\n prev[cur.key] = cur.value;\n\n // If we assign a value on true, return the value (or null) instead of a boolean.\n if (cur.type === \"CHECKBOX\" && cur.truthValue) {\n prev[cur.key] =\n cur.value === true ? cur.truthValue : cur.falseValue ?? null;\n }\n return prev;\n }, {}) as ModeSettingValues;\n\n const {\n bikeReluctance,\n carReluctance,\n walkSpeed,\n walkReluctance,\n wheelchair\n } = modeSettingValues;\n\n return {\n query: print(planQuery),\n variables: {\n arriveBy,\n banned,\n bikeReluctance,\n carReluctance,\n date,\n fromPlace: `${from.name}::${from.lat},${from.lon}`,\n modes,\n numItineraries,\n preferred,\n time,\n toPlace: `${to.name}::${to.lat},${to.lon}`,\n unpreferred,\n walkReluctance,\n walkSpeed,\n wheelchair\n }\n };\n}\n"],"file":"query-gen.js"}
|
|
1
|
+
{"version":3,"sources":["../src/query-gen.ts"],"names":["print","extractAdditionalModes","modeSettings","enabledModes","reduce","prev","cur","map","m","mode","includes","applicableMode","type","addTransportMode","value","newTransportModes","Array","isArray","transportMode","options","find","o","combinations","array","length","fill","e1","i","filter","e2","j","SIMPLIFICATIONS","AIRPLANE","BICYCLE","BUS","CABLE_CAR","CAR","FERRY","FLEX","FUNICULAR","GONDOLA","RAIL","MONORAIL","SCOOTER","SUBWAY","TROLLEYBUS","TRAM","TRANSIT","WALK","VALID_COMBOS","BANNED_TOGETHER","TRANSIT_SUBMODES","Object","keys","TRANSIT_SUBMODES_AND_TRANSIT","isCombinationValid","combo","queryTransitSubmodes","simplifiedModes","from","Set","c","qualifier","vc","every","generateCombinations","params","completeModeList","modes","generateOtp2Query","otpQueryParams","planQuery","DefaultPlanQuery","to","otherOtpQueryParams","modeSettingValues","inverseKey","high","low","key","truthValue","falseValue","bikeReluctance","carReluctance","walkReluctance","walkSpeed","wheelchair","query","variables","fromPlace","name","lat","lon","toPlace"],"mappings":"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","sourcesContent":["import { LonLatOutput } from \"@conveyal/lonlat\";\nimport { print } from \"graphql\";\nimport {\n ModeSetting,\n ModeSettingValues,\n TransportMode\n} from \"@opentripplanner/types\";\n\nimport DefaultPlanQuery from \"./planQuery.graphql\";\n\ntype InputBanned = {\n routes?: string;\n agencies?: string;\n trips?: string;\n stops?: string;\n stopsHard?: string;\n};\n\ntype InputPreferred = {\n routes?: string;\n agencies?: string;\n unpreferredCost?: string;\n};\n\ntype OTPQueryParams = {\n arriveBy: boolean;\n date?: string;\n from: LonLatOutput & { name?: string };\n modes: TransportMode[];\n modeSettings: ModeSetting[];\n time?: string;\n numItineraries?: number;\n to: LonLatOutput & { name?: string };\n banned?: InputBanned;\n preferred?: InputPreferred;\n unpreferred?: InputPreferred;\n};\n\ntype GraphQLQuery = {\n query: string;\n variables: Record<string, unknown>;\n};\n\n/**\n * Mode Settings can contain additional modes to add to the query,\n * this function extracts those additional modes from the settings\n * and returns them in an array.\n * @param modeSettings List of mode settings with values populated\n * @returns Additional transport modes to add to query\n */\nexport function extractAdditionalModes(\n modeSettings: ModeSetting[],\n enabledModes: TransportMode[]\n): TransportMode[] {\n return modeSettings.reduce<TransportMode[]>((prev, cur) => {\n // First, ensure that the mode associated with this setting is even enabled\n if (!enabledModes.map(m => m.mode).includes(cur.applicableMode)) {\n return prev;\n }\n\n // In checkboxes, mode must be enabled and have a transport mode in it\n if (\n (cur.type === \"CHECKBOX\" || cur.type === \"SUBMODE\") &&\n cur.addTransportMode &&\n cur.value\n ) {\n const newTransportModes = Array.isArray(cur.addTransportMode)\n ? cur.addTransportMode\n : [cur.addTransportMode];\n return [...prev, ...newTransportModes];\n }\n if (cur.type === \"DROPDOWN\") {\n const transportMode = cur.options.find(o => o.value === cur.value)\n ?.addTransportMode;\n if (transportMode) {\n return [...prev, transportMode];\n }\n }\n return prev;\n }, []);\n}\n\n/**\n * Generates every possible mathematical subset of the input TransportModes.\n * Uses code from:\n * https://stackoverflow.com/questions/5752002/find-all-possible-subset-combos-in-an-array\n * @param array Array of input transport modes\n * @returns 2D array representing every possible subset of transport modes from input\n */\nfunction combinations(array: TransportMode[]): TransportMode[][] {\n if (!array) return [];\n return (\n // eslint-disable-next-line no-bitwise\n new Array(1 << array.length)\n .fill(null)\n // eslint-disable-next-line no-bitwise\n .map((e1, i) => array.filter((e2, j) => i & (1 << j)))\n );\n}\n\n/**\n * This constant maps all the transport mode to a broader mode type,\n * which is used to determine the valid combinations of modes used in query generation.\n */\nexport const SIMPLIFICATIONS = {\n AIRPLANE: \"TRANSIT\",\n BICYCLE: \"PERSONAL\",\n BUS: \"TRANSIT\",\n CABLE_CAR: \"TRANSIT\",\n CAR: \"CAR\",\n FERRY: \"TRANSIT\",\n FLEX: \"SHARED\", // TODO: this allows FLEX+WALK. Is this reasonable?\n FUNICULAR: \"TRANSIT\",\n GONDOLA: \"TRANSIT\",\n RAIL: \"TRANSIT\",\n MONORAIL: \"TRANSIT\",\n SCOOTER: \"PERSONAL\",\n SUBWAY: \"TRANSIT\",\n TROLLEYBUS: \"TRANSIT\",\n TRAM: \"TRANSIT\",\n TRANSIT: \"TRANSIT\",\n WALK: \"WALK\"\n};\n\n// Inclusion of \"TRANSIT\" alone automatically implies \"WALK\" in OTP\nconst VALID_COMBOS = [\n [\"WALK\"],\n [\"PERSONAL\"],\n [\"TRANSIT\", \"SHARED\"],\n [\"WALK\", \"SHARED\"],\n [\"TRANSIT\"],\n [\"TRANSIT\", \"PERSONAL\"],\n [\"TRANSIT\", \"CAR\"]\n];\n\nconst BANNED_TOGETHER = [\"SCOOTER\", \"BICYCLE\", \"CAR\"];\n\nexport const TRANSIT_SUBMODES = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\" && mode !== \"TRANSIT\"\n);\nexport const TRANSIT_SUBMODES_AND_TRANSIT = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\"\n);\n\nfunction isCombinationValid(\n combo: TransportMode[],\n queryTransitSubmodes: string[]\n): boolean {\n if (combo.length === 0) return false;\n\n // All current qualifiers currently simplify to \"SHARED\"\n const simplifiedModes = Array.from(\n new Set(combo.map(c => (c.qualifier ? \"SHARED\" : SIMPLIFICATIONS[c.mode])))\n );\n\n // Ensure that if we have one transit mode, then we include ALL transit modes\n if (simplifiedModes.includes(\"TRANSIT\")) {\n // Don't allow TRANSIT along with any other submodes\n if (queryTransitSubmodes.length && combo.find(c => c.mode === \"TRANSIT\")) {\n return false;\n }\n\n if (\n combo.reduce((prev, cur) => {\n if (queryTransitSubmodes.includes(cur.mode)) {\n return prev - 1;\n }\n return prev;\n }, queryTransitSubmodes.length) !== 0\n ) {\n return false;\n }\n // Continue to the other checks\n }\n\n // OTP doesn't support multiple non-walk modes\n if (BANNED_TOGETHER.filter(m => combo.find(c => c.mode === m)).length > 1) {\n return false;\n }\n\n return !!VALID_COMBOS.find(\n vc =>\n simplifiedModes.every(m => vc.includes(m)) &&\n vc.every(m => simplifiedModes.includes(m))\n );\n}\n\n/**\n * Generates a list of queries for OTP to get a comprehensive\n * set of results based on the modes input.\n * @param params OTP Query Params\n * @returns Set of parameters to generate queries\n */\nexport function generateCombinations(params: OTPQueryParams): OTPQueryParams[] {\n const completeModeList = [\n ...extractAdditionalModes(params.modeSettings, params.modes),\n ...params.modes\n ];\n\n // List of the transit *submodes* that are included in the input params\n const queryTransitSubmodes = completeModeList\n .filter(mode => TRANSIT_SUBMODES.includes(mode.mode))\n .map(mode => mode.mode);\n\n return combinations(completeModeList)\n .filter(combo => isCombinationValid(combo, queryTransitSubmodes))\n .map(combo => ({ ...params, modes: combo }));\n}\n\n/**\n * Generates a query for OTP GraphQL API based on parameters.\n * @param param0 OTP2 Parameters for the query\n * @param planQuery Override the default query for OTP\n * @returns A fully formed query+variables ready to be sent to GraphQL backend\n */\nexport function generateOtp2Query(\n otpQueryParams: OTPQueryParams,\n planQuery = DefaultPlanQuery\n): GraphQLQuery {\n const { from, modeSettings, to, ...otherOtpQueryParams } = otpQueryParams;\n\n // This extracts the values from the mode settings to key value pairs\n const modeSettingValues = modeSettings.reduce((prev, cur) => {\n if (cur.type === \"SLIDER\" && cur.inverseKey) {\n prev[cur.inverseKey] = cur.high - cur.value + cur.low;\n }\n prev[cur.key] = cur.value;\n\n // If we assign a value on true, return the value (or null) instead of a boolean.\n if (cur.type === \"CHECKBOX\" && cur.truthValue) {\n prev[cur.key] =\n cur.value === true ? cur.truthValue : cur.falseValue ?? null;\n }\n return prev;\n }, {}) as ModeSettingValues;\n\n const {\n bikeReluctance,\n carReluctance,\n walkReluctance,\n walkSpeed,\n wheelchair\n } = modeSettingValues;\n\n return {\n query: print(planQuery),\n variables: {\n ...otherOtpQueryParams,\n bikeReluctance,\n carReluctance,\n fromPlace: `${from.name}::${from.lat},${from.lon}`,\n toPlace: `${to.name}::${to.lat},${to.lon}`,\n walkReluctance,\n walkSpeed,\n wheelchair\n }\n };\n}\n"],"file":"query-gen.js"}
|
package/lib/query-gen.d.ts
CHANGED
|
@@ -79,6 +79,6 @@ export declare function generateCombinations(params: OTPQueryParams): OTPQueryPa
|
|
|
79
79
|
* @param planQuery Override the default query for OTP
|
|
80
80
|
* @returns A fully formed query+variables ready to be sent to GraphQL backend
|
|
81
81
|
*/
|
|
82
|
-
export declare function generateOtp2Query(
|
|
82
|
+
export declare function generateOtp2Query(otpQueryParams: OTPQueryParams, planQuery?: import("graphql").DocumentNode): GraphQLQuery;
|
|
83
83
|
export {};
|
|
84
84
|
//# sourceMappingURL=query-gen.d.ts.map
|
package/lib/query-gen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-gen.d.ts","sourceRoot":"","sources":["../src/query-gen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,WAAW,EAEX,aAAa,EACd,MAAM,wBAAwB,CAAC;AAIhC,aAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,aAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,aAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,EAAE,EAAE,YAAY,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,aAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,WAAW,EAAE,EAC3B,YAAY,EAAE,aAAa,EAAE,GAC5B,aAAa,EAAE,CA2BjB;AAoBD;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAeF,eAAO,MAAM,gBAAgB,UAE5B,CAAC;AACF,eAAO,MAAM,4BAA4B,UAExC,CAAC;AA6CF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CAc7E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,
|
|
1
|
+
{"version":3,"file":"query-gen.d.ts","sourceRoot":"","sources":["../src/query-gen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,OAAO,EACL,WAAW,EAEX,aAAa,EACd,MAAM,wBAAwB,CAAC;AAIhC,aAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,aAAK,cAAc,GAAG;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,aAAK,cAAc,GAAG;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,YAAY,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,EAAE,EAAE,YAAY,GAAG;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,cAAc,CAAC;IAC3B,WAAW,CAAC,EAAE,cAAc,CAAC;CAC9B,CAAC;AAEF,aAAK,YAAY,GAAG;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,YAAY,EAAE,WAAW,EAAE,EAC3B,YAAY,EAAE,aAAa,EAAE,GAC5B,aAAa,EAAE,CA2BjB;AAoBD;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;CAkB3B,CAAC;AAeF,eAAO,MAAM,gBAAgB,UAE5B,CAAC;AACF,eAAO,MAAM,4BAA4B,UAExC,CAAC;AA6CF;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,EAAE,CAc7E;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,cAAc,EAAE,cAAc,EAC9B,SAAS,iCAAmB,GAC3B,YAAY,CAuCd"}
|
package/lib/query-gen.js
CHANGED
|
@@ -150,20 +150,14 @@ function generateCombinations(params) {
|
|
|
150
150
|
*/
|
|
151
151
|
|
|
152
152
|
|
|
153
|
-
function generateOtp2Query({
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
preferred,
|
|
162
|
-
time,
|
|
163
|
-
to,
|
|
164
|
-
unpreferred
|
|
165
|
-
}, planQuery = DefaultPlanQuery) {
|
|
166
|
-
// This extracts the values from the mode settings to key value pairs
|
|
153
|
+
function generateOtp2Query(otpQueryParams, planQuery = DefaultPlanQuery) {
|
|
154
|
+
const {
|
|
155
|
+
from,
|
|
156
|
+
modeSettings,
|
|
157
|
+
to,
|
|
158
|
+
...otherOtpQueryParams
|
|
159
|
+
} = otpQueryParams; // This extracts the values from the mode settings to key value pairs
|
|
160
|
+
|
|
167
161
|
const modeSettingValues = modeSettings.reduce((prev, cur) => {
|
|
168
162
|
if (cur.type === "SLIDER" && cur.inverseKey) {
|
|
169
163
|
prev[cur.inverseKey] = cur.high - cur.value + cur.low;
|
|
@@ -182,25 +176,17 @@ function generateOtp2Query({
|
|
|
182
176
|
const {
|
|
183
177
|
bikeReluctance,
|
|
184
178
|
carReluctance,
|
|
185
|
-
walkSpeed,
|
|
186
179
|
walkReluctance,
|
|
180
|
+
walkSpeed,
|
|
187
181
|
wheelchair
|
|
188
182
|
} = modeSettingValues;
|
|
189
183
|
return {
|
|
190
184
|
query: (0, _graphql.print)(planQuery),
|
|
191
|
-
variables: {
|
|
192
|
-
arriveBy,
|
|
193
|
-
banned,
|
|
185
|
+
variables: { ...otherOtpQueryParams,
|
|
194
186
|
bikeReluctance,
|
|
195
187
|
carReluctance,
|
|
196
|
-
date,
|
|
197
188
|
fromPlace: `${from.name}::${from.lat},${from.lon}`,
|
|
198
|
-
modes,
|
|
199
|
-
numItineraries,
|
|
200
|
-
preferred,
|
|
201
|
-
time,
|
|
202
189
|
toPlace: `${to.name}::${to.lat},${to.lon}`,
|
|
203
|
-
unpreferred,
|
|
204
190
|
walkReluctance,
|
|
205
191
|
walkSpeed,
|
|
206
192
|
wheelchair
|
package/lib/query-gen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/query-gen.ts"],"names":["extractAdditionalModes","modeSettings","enabledModes","reduce","prev","cur","map","m","mode","includes","applicableMode","type","addTransportMode","value","newTransportModes","Array","isArray","transportMode","options","find","o","combinations","array","length","fill","e1","i","filter","e2","j","SIMPLIFICATIONS","AIRPLANE","BICYCLE","BUS","CABLE_CAR","CAR","FERRY","FLEX","FUNICULAR","GONDOLA","RAIL","MONORAIL","SCOOTER","SUBWAY","TROLLEYBUS","TRAM","TRANSIT","WALK","VALID_COMBOS","BANNED_TOGETHER","TRANSIT_SUBMODES","Object","keys","TRANSIT_SUBMODES_AND_TRANSIT","isCombinationValid","combo","queryTransitSubmodes","simplifiedModes","from","Set","c","qualifier","vc","every","generateCombinations","params","completeModeList","modes","generateOtp2Query","arriveBy","banned","date","numItineraries","preferred","time","to","unpreferred","planQuery","DefaultPlanQuery","modeSettingValues","inverseKey","high","low","key","truthValue","falseValue","bikeReluctance","carReluctance","walkSpeed","walkReluctance","wheelchair","query","variables","fromPlace","name","lat","lon","toPlace"],"mappings":"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","sourcesContent":["import { LonLatOutput } from \"@conveyal/lonlat\";\nimport { print } from \"graphql\";\nimport {\n ModeSetting,\n ModeSettingValues,\n TransportMode\n} from \"@opentripplanner/types\";\n\nimport DefaultPlanQuery from \"./planQuery.graphql\";\n\ntype InputBanned = {\n routes?: string;\n agencies?: string;\n trips?: string;\n stops?: string;\n stopsHard?: string;\n};\n\ntype InputPreferred = {\n routes?: string;\n agencies?: string;\n unpreferredCost?: string;\n};\n\ntype OTPQueryParams = {\n arriveBy: boolean;\n date?: string;\n from: LonLatOutput & { name?: string };\n modes: TransportMode[];\n modeSettings: ModeSetting[];\n time?: string;\n numItineraries?: number;\n to: LonLatOutput & { name?: string };\n banned?: InputBanned;\n preferred?: InputPreferred;\n unpreferred?: InputPreferred;\n};\n\ntype GraphQLQuery = {\n query: string;\n variables: Record<string, unknown>;\n};\n\n/**\n * Mode Settings can contain additional modes to add to the query,\n * this function extracts those additional modes from the settings\n * and returns them in an array.\n * @param modeSettings List of mode settings with values populated\n * @returns Additional transport modes to add to query\n */\nexport function extractAdditionalModes(\n modeSettings: ModeSetting[],\n enabledModes: TransportMode[]\n): TransportMode[] {\n return modeSettings.reduce<TransportMode[]>((prev, cur) => {\n // First, ensure that the mode associated with this setting is even enabled\n if (!enabledModes.map(m => m.mode).includes(cur.applicableMode)) {\n return prev;\n }\n\n // In checkboxes, mode must be enabled and have a transport mode in it\n if (\n (cur.type === \"CHECKBOX\" || cur.type === \"SUBMODE\") &&\n cur.addTransportMode &&\n cur.value\n ) {\n const newTransportModes = Array.isArray(cur.addTransportMode)\n ? cur.addTransportMode\n : [cur.addTransportMode];\n return [...prev, ...newTransportModes];\n }\n if (cur.type === \"DROPDOWN\") {\n const transportMode = cur.options.find(o => o.value === cur.value)\n ?.addTransportMode;\n if (transportMode) {\n return [...prev, transportMode];\n }\n }\n return prev;\n }, []);\n}\n\n/**\n * Generates every possible mathematical subset of the input TransportModes.\n * Uses code from:\n * https://stackoverflow.com/questions/5752002/find-all-possible-subset-combos-in-an-array\n * @param array Array of input transport modes\n * @returns 2D array representing every possible subset of transport modes from input\n */\nfunction combinations(array: TransportMode[]): TransportMode[][] {\n if (!array) return [];\n return (\n // eslint-disable-next-line no-bitwise\n new Array(1 << array.length)\n .fill(null)\n // eslint-disable-next-line no-bitwise\n .map((e1, i) => array.filter((e2, j) => i & (1 << j)))\n );\n}\n\n/**\n * This constant maps all the transport mode to a broader mode type,\n * which is used to determine the valid combinations of modes used in query generation.\n */\nexport const SIMPLIFICATIONS = {\n AIRPLANE: \"TRANSIT\",\n BICYCLE: \"PERSONAL\",\n BUS: \"TRANSIT\",\n CABLE_CAR: \"TRANSIT\",\n CAR: \"CAR\",\n FERRY: \"TRANSIT\",\n FLEX: \"SHARED\", // TODO: this allows FLEX+WALK. Is this reasonable?\n FUNICULAR: \"TRANSIT\",\n GONDOLA: \"TRANSIT\",\n RAIL: \"TRANSIT\",\n MONORAIL: \"TRANSIT\",\n SCOOTER: \"PERSONAL\",\n SUBWAY: \"TRANSIT\",\n TROLLEYBUS: \"TRANSIT\",\n TRAM: \"TRANSIT\",\n TRANSIT: \"TRANSIT\",\n WALK: \"WALK\"\n};\n\n// Inclusion of \"TRANSIT\" alone automatically implies \"WALK\" in OTP\nconst VALID_COMBOS = [\n [\"WALK\"],\n [\"PERSONAL\"],\n [\"TRANSIT\", \"SHARED\"],\n [\"WALK\", \"SHARED\"],\n [\"TRANSIT\"],\n [\"TRANSIT\", \"PERSONAL\"],\n [\"TRANSIT\", \"CAR\"]\n];\n\nconst BANNED_TOGETHER = [\"SCOOTER\", \"BICYCLE\", \"CAR\"];\n\nexport const TRANSIT_SUBMODES = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\" && mode !== \"TRANSIT\"\n);\nexport const TRANSIT_SUBMODES_AND_TRANSIT = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\"\n);\n\nfunction isCombinationValid(\n combo: TransportMode[],\n queryTransitSubmodes: string[]\n): boolean {\n if (combo.length === 0) return false;\n\n // All current qualifiers currently simplify to \"SHARED\"\n const simplifiedModes = Array.from(\n new Set(combo.map(c => (c.qualifier ? \"SHARED\" : SIMPLIFICATIONS[c.mode])))\n );\n\n // Ensure that if we have one transit mode, then we include ALL transit modes\n if (simplifiedModes.includes(\"TRANSIT\")) {\n // Don't allow TRANSIT along with any other submodes\n if (queryTransitSubmodes.length && combo.find(c => c.mode === \"TRANSIT\")) {\n return false;\n }\n\n if (\n combo.reduce((prev, cur) => {\n if (queryTransitSubmodes.includes(cur.mode)) {\n return prev - 1;\n }\n return prev;\n }, queryTransitSubmodes.length) !== 0\n ) {\n return false;\n }\n // Continue to the other checks\n }\n\n // OTP doesn't support multiple non-walk modes\n if (BANNED_TOGETHER.filter(m => combo.find(c => c.mode === m)).length > 1) {\n return false;\n }\n\n return !!VALID_COMBOS.find(\n vc =>\n simplifiedModes.every(m => vc.includes(m)) &&\n vc.every(m => simplifiedModes.includes(m))\n );\n}\n\n/**\n * Generates a list of queries for OTP to get a comprehensive\n * set of results based on the modes input.\n * @param params OTP Query Params\n * @returns Set of parameters to generate queries\n */\nexport function generateCombinations(params: OTPQueryParams): OTPQueryParams[] {\n const completeModeList = [\n ...extractAdditionalModes(params.modeSettings, params.modes),\n ...params.modes\n ];\n\n // List of the transit *submodes* that are included in the input params\n const queryTransitSubmodes = completeModeList\n .filter(mode => TRANSIT_SUBMODES.includes(mode.mode))\n .map(mode => mode.mode);\n\n return combinations(completeModeList)\n .filter(combo => isCombinationValid(combo, queryTransitSubmodes))\n .map(combo => ({ ...params, modes: combo }));\n}\n\n/**\n * Generates a query for OTP GraphQL API based on parameters.\n * @param param0 OTP2 Parameters for the query\n * @param planQuery Override the default query for OTP\n * @returns A fully formed query+variables ready to be sent to GraphQL backend\n */\nexport function generateOtp2Query(\n {\n arriveBy,\n banned,\n date,\n from,\n modes,\n modeSettings,\n numItineraries,\n preferred,\n time,\n to,\n unpreferred\n }: OTPQueryParams,\n planQuery = DefaultPlanQuery\n): GraphQLQuery {\n // This extracts the values from the mode settings to key value pairs\n const modeSettingValues = modeSettings.reduce((prev, cur) => {\n if (cur.type === \"SLIDER\" && cur.inverseKey) {\n prev[cur.inverseKey] = cur.high - cur.value + cur.low;\n }\n prev[cur.key] = cur.value;\n\n // If we assign a value on true, return the value (or null) instead of a boolean.\n if (cur.type === \"CHECKBOX\" && cur.truthValue) {\n prev[cur.key] =\n cur.value === true ? cur.truthValue : cur.falseValue ?? null;\n }\n return prev;\n }, {}) as ModeSettingValues;\n\n const {\n bikeReluctance,\n carReluctance,\n walkSpeed,\n walkReluctance,\n wheelchair\n } = modeSettingValues;\n\n return {\n query: print(planQuery),\n variables: {\n arriveBy,\n banned,\n bikeReluctance,\n carReluctance,\n date,\n fromPlace: `${from.name}::${from.lat},${from.lon}`,\n modes,\n numItineraries,\n preferred,\n time,\n toPlace: `${to.name}::${to.lat},${to.lon}`,\n unpreferred,\n walkReluctance,\n walkSpeed,\n wheelchair\n }\n };\n}\n"],"file":"query-gen.js"}
|
|
1
|
+
{"version":3,"sources":["../src/query-gen.ts"],"names":["extractAdditionalModes","modeSettings","enabledModes","reduce","prev","cur","map","m","mode","includes","applicableMode","type","addTransportMode","value","newTransportModes","Array","isArray","transportMode","options","find","o","combinations","array","length","fill","e1","i","filter","e2","j","SIMPLIFICATIONS","AIRPLANE","BICYCLE","BUS","CABLE_CAR","CAR","FERRY","FLEX","FUNICULAR","GONDOLA","RAIL","MONORAIL","SCOOTER","SUBWAY","TROLLEYBUS","TRAM","TRANSIT","WALK","VALID_COMBOS","BANNED_TOGETHER","TRANSIT_SUBMODES","Object","keys","TRANSIT_SUBMODES_AND_TRANSIT","isCombinationValid","combo","queryTransitSubmodes","simplifiedModes","from","Set","c","qualifier","vc","every","generateCombinations","params","completeModeList","modes","generateOtp2Query","otpQueryParams","planQuery","DefaultPlanQuery","to","otherOtpQueryParams","modeSettingValues","inverseKey","high","low","key","truthValue","falseValue","bikeReluctance","carReluctance","walkReluctance","walkSpeed","wheelchair","query","variables","fromPlace","name","lat","lon","toPlace"],"mappings":"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","sourcesContent":["import { LonLatOutput } from \"@conveyal/lonlat\";\nimport { print } from \"graphql\";\nimport {\n ModeSetting,\n ModeSettingValues,\n TransportMode\n} from \"@opentripplanner/types\";\n\nimport DefaultPlanQuery from \"./planQuery.graphql\";\n\ntype InputBanned = {\n routes?: string;\n agencies?: string;\n trips?: string;\n stops?: string;\n stopsHard?: string;\n};\n\ntype InputPreferred = {\n routes?: string;\n agencies?: string;\n unpreferredCost?: string;\n};\n\ntype OTPQueryParams = {\n arriveBy: boolean;\n date?: string;\n from: LonLatOutput & { name?: string };\n modes: TransportMode[];\n modeSettings: ModeSetting[];\n time?: string;\n numItineraries?: number;\n to: LonLatOutput & { name?: string };\n banned?: InputBanned;\n preferred?: InputPreferred;\n unpreferred?: InputPreferred;\n};\n\ntype GraphQLQuery = {\n query: string;\n variables: Record<string, unknown>;\n};\n\n/**\n * Mode Settings can contain additional modes to add to the query,\n * this function extracts those additional modes from the settings\n * and returns them in an array.\n * @param modeSettings List of mode settings with values populated\n * @returns Additional transport modes to add to query\n */\nexport function extractAdditionalModes(\n modeSettings: ModeSetting[],\n enabledModes: TransportMode[]\n): TransportMode[] {\n return modeSettings.reduce<TransportMode[]>((prev, cur) => {\n // First, ensure that the mode associated with this setting is even enabled\n if (!enabledModes.map(m => m.mode).includes(cur.applicableMode)) {\n return prev;\n }\n\n // In checkboxes, mode must be enabled and have a transport mode in it\n if (\n (cur.type === \"CHECKBOX\" || cur.type === \"SUBMODE\") &&\n cur.addTransportMode &&\n cur.value\n ) {\n const newTransportModes = Array.isArray(cur.addTransportMode)\n ? cur.addTransportMode\n : [cur.addTransportMode];\n return [...prev, ...newTransportModes];\n }\n if (cur.type === \"DROPDOWN\") {\n const transportMode = cur.options.find(o => o.value === cur.value)\n ?.addTransportMode;\n if (transportMode) {\n return [...prev, transportMode];\n }\n }\n return prev;\n }, []);\n}\n\n/**\n * Generates every possible mathematical subset of the input TransportModes.\n * Uses code from:\n * https://stackoverflow.com/questions/5752002/find-all-possible-subset-combos-in-an-array\n * @param array Array of input transport modes\n * @returns 2D array representing every possible subset of transport modes from input\n */\nfunction combinations(array: TransportMode[]): TransportMode[][] {\n if (!array) return [];\n return (\n // eslint-disable-next-line no-bitwise\n new Array(1 << array.length)\n .fill(null)\n // eslint-disable-next-line no-bitwise\n .map((e1, i) => array.filter((e2, j) => i & (1 << j)))\n );\n}\n\n/**\n * This constant maps all the transport mode to a broader mode type,\n * which is used to determine the valid combinations of modes used in query generation.\n */\nexport const SIMPLIFICATIONS = {\n AIRPLANE: \"TRANSIT\",\n BICYCLE: \"PERSONAL\",\n BUS: \"TRANSIT\",\n CABLE_CAR: \"TRANSIT\",\n CAR: \"CAR\",\n FERRY: \"TRANSIT\",\n FLEX: \"SHARED\", // TODO: this allows FLEX+WALK. Is this reasonable?\n FUNICULAR: \"TRANSIT\",\n GONDOLA: \"TRANSIT\",\n RAIL: \"TRANSIT\",\n MONORAIL: \"TRANSIT\",\n SCOOTER: \"PERSONAL\",\n SUBWAY: \"TRANSIT\",\n TROLLEYBUS: \"TRANSIT\",\n TRAM: \"TRANSIT\",\n TRANSIT: \"TRANSIT\",\n WALK: \"WALK\"\n};\n\n// Inclusion of \"TRANSIT\" alone automatically implies \"WALK\" in OTP\nconst VALID_COMBOS = [\n [\"WALK\"],\n [\"PERSONAL\"],\n [\"TRANSIT\", \"SHARED\"],\n [\"WALK\", \"SHARED\"],\n [\"TRANSIT\"],\n [\"TRANSIT\", \"PERSONAL\"],\n [\"TRANSIT\", \"CAR\"]\n];\n\nconst BANNED_TOGETHER = [\"SCOOTER\", \"BICYCLE\", \"CAR\"];\n\nexport const TRANSIT_SUBMODES = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\" && mode !== \"TRANSIT\"\n);\nexport const TRANSIT_SUBMODES_AND_TRANSIT = Object.keys(SIMPLIFICATIONS).filter(\n mode => SIMPLIFICATIONS[mode] === \"TRANSIT\"\n);\n\nfunction isCombinationValid(\n combo: TransportMode[],\n queryTransitSubmodes: string[]\n): boolean {\n if (combo.length === 0) return false;\n\n // All current qualifiers currently simplify to \"SHARED\"\n const simplifiedModes = Array.from(\n new Set(combo.map(c => (c.qualifier ? \"SHARED\" : SIMPLIFICATIONS[c.mode])))\n );\n\n // Ensure that if we have one transit mode, then we include ALL transit modes\n if (simplifiedModes.includes(\"TRANSIT\")) {\n // Don't allow TRANSIT along with any other submodes\n if (queryTransitSubmodes.length && combo.find(c => c.mode === \"TRANSIT\")) {\n return false;\n }\n\n if (\n combo.reduce((prev, cur) => {\n if (queryTransitSubmodes.includes(cur.mode)) {\n return prev - 1;\n }\n return prev;\n }, queryTransitSubmodes.length) !== 0\n ) {\n return false;\n }\n // Continue to the other checks\n }\n\n // OTP doesn't support multiple non-walk modes\n if (BANNED_TOGETHER.filter(m => combo.find(c => c.mode === m)).length > 1) {\n return false;\n }\n\n return !!VALID_COMBOS.find(\n vc =>\n simplifiedModes.every(m => vc.includes(m)) &&\n vc.every(m => simplifiedModes.includes(m))\n );\n}\n\n/**\n * Generates a list of queries for OTP to get a comprehensive\n * set of results based on the modes input.\n * @param params OTP Query Params\n * @returns Set of parameters to generate queries\n */\nexport function generateCombinations(params: OTPQueryParams): OTPQueryParams[] {\n const completeModeList = [\n ...extractAdditionalModes(params.modeSettings, params.modes),\n ...params.modes\n ];\n\n // List of the transit *submodes* that are included in the input params\n const queryTransitSubmodes = completeModeList\n .filter(mode => TRANSIT_SUBMODES.includes(mode.mode))\n .map(mode => mode.mode);\n\n return combinations(completeModeList)\n .filter(combo => isCombinationValid(combo, queryTransitSubmodes))\n .map(combo => ({ ...params, modes: combo }));\n}\n\n/**\n * Generates a query for OTP GraphQL API based on parameters.\n * @param param0 OTP2 Parameters for the query\n * @param planQuery Override the default query for OTP\n * @returns A fully formed query+variables ready to be sent to GraphQL backend\n */\nexport function generateOtp2Query(\n otpQueryParams: OTPQueryParams,\n planQuery = DefaultPlanQuery\n): GraphQLQuery {\n const { from, modeSettings, to, ...otherOtpQueryParams } = otpQueryParams;\n\n // This extracts the values from the mode settings to key value pairs\n const modeSettingValues = modeSettings.reduce((prev, cur) => {\n if (cur.type === \"SLIDER\" && cur.inverseKey) {\n prev[cur.inverseKey] = cur.high - cur.value + cur.low;\n }\n prev[cur.key] = cur.value;\n\n // If we assign a value on true, return the value (or null) instead of a boolean.\n if (cur.type === \"CHECKBOX\" && cur.truthValue) {\n prev[cur.key] =\n cur.value === true ? cur.truthValue : cur.falseValue ?? null;\n }\n return prev;\n }, {}) as ModeSettingValues;\n\n const {\n bikeReluctance,\n carReluctance,\n walkReluctance,\n walkSpeed,\n wheelchair\n } = modeSettingValues;\n\n return {\n query: print(planQuery),\n variables: {\n ...otherOtpQueryParams,\n bikeReluctance,\n carReluctance,\n fromPlace: `${from.name}::${from.lat},${from.lon}`,\n toPlace: `${to.name}::${to.lat},${to.lon}`,\n walkReluctance,\n walkSpeed,\n wheelchair\n }\n };\n}\n"],"file":"query-gen.js"}
|
package/package.json
CHANGED
package/src/query-gen.ts
CHANGED
|
@@ -214,21 +214,11 @@ export function generateCombinations(params: OTPQueryParams): OTPQueryParams[] {
|
|
|
214
214
|
* @returns A fully formed query+variables ready to be sent to GraphQL backend
|
|
215
215
|
*/
|
|
216
216
|
export function generateOtp2Query(
|
|
217
|
-
|
|
218
|
-
arriveBy,
|
|
219
|
-
banned,
|
|
220
|
-
date,
|
|
221
|
-
from,
|
|
222
|
-
modes,
|
|
223
|
-
modeSettings,
|
|
224
|
-
numItineraries,
|
|
225
|
-
preferred,
|
|
226
|
-
time,
|
|
227
|
-
to,
|
|
228
|
-
unpreferred
|
|
229
|
-
}: OTPQueryParams,
|
|
217
|
+
otpQueryParams: OTPQueryParams,
|
|
230
218
|
planQuery = DefaultPlanQuery
|
|
231
219
|
): GraphQLQuery {
|
|
220
|
+
const { from, modeSettings, to, ...otherOtpQueryParams } = otpQueryParams;
|
|
221
|
+
|
|
232
222
|
// This extracts the values from the mode settings to key value pairs
|
|
233
223
|
const modeSettingValues = modeSettings.reduce((prev, cur) => {
|
|
234
224
|
if (cur.type === "SLIDER" && cur.inverseKey) {
|
|
@@ -247,26 +237,19 @@ export function generateOtp2Query(
|
|
|
247
237
|
const {
|
|
248
238
|
bikeReluctance,
|
|
249
239
|
carReluctance,
|
|
250
|
-
walkSpeed,
|
|
251
240
|
walkReluctance,
|
|
241
|
+
walkSpeed,
|
|
252
242
|
wheelchair
|
|
253
243
|
} = modeSettingValues;
|
|
254
244
|
|
|
255
245
|
return {
|
|
256
246
|
query: print(planQuery),
|
|
257
247
|
variables: {
|
|
258
|
-
|
|
259
|
-
banned,
|
|
248
|
+
...otherOtpQueryParams,
|
|
260
249
|
bikeReluctance,
|
|
261
250
|
carReluctance,
|
|
262
|
-
date,
|
|
263
251
|
fromPlace: `${from.name}::${from.lat},${from.lon}`,
|
|
264
|
-
modes,
|
|
265
|
-
numItineraries,
|
|
266
|
-
preferred,
|
|
267
|
-
time,
|
|
268
252
|
toPlace: `${to.name}::${to.lat},${to.lon}`,
|
|
269
|
-
unpreferred,
|
|
270
253
|
walkReluctance,
|
|
271
254
|
walkSpeed,
|
|
272
255
|
wheelchair
|
package/tsconfig.tsbuildinfo
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/graphql/version.d.ts","../../node_modules/graphql/jsutils/Maybe.d.ts","../../node_modules/graphql/language/source.d.ts","../../node_modules/graphql/jsutils/ObjMap.d.ts","../../node_modules/graphql/jsutils/Path.d.ts","../../node_modules/graphql/jsutils/PromiseOrValue.d.ts","../../node_modules/graphql/language/kinds.d.ts","../../node_modules/graphql/language/tokenKind.d.ts","../../node_modules/graphql/language/ast.d.ts","../../node_modules/graphql/language/location.d.ts","../../node_modules/graphql/error/GraphQLError.d.ts","../../node_modules/graphql/language/directiveLocation.d.ts","../../node_modules/graphql/type/directives.d.ts","../../node_modules/graphql/type/schema.d.ts","../../node_modules/graphql/type/definition.d.ts","../../node_modules/graphql/execution/execute.d.ts","../../node_modules/graphql/graphql.d.ts","../../node_modules/graphql/type/scalars.d.ts","../../node_modules/graphql/type/introspection.d.ts","../../node_modules/graphql/type/validate.d.ts","../../node_modules/graphql/type/assertName.d.ts","../../node_modules/graphql/type/index.d.ts","../../node_modules/graphql/language/printLocation.d.ts","../../node_modules/graphql/language/lexer.d.ts","../../node_modules/graphql/language/parser.d.ts","../../node_modules/graphql/language/printer.d.ts","../../node_modules/graphql/language/visitor.d.ts","../../node_modules/graphql/language/predicates.d.ts","../../node_modules/graphql/language/index.d.ts","../../node_modules/graphql/execution/subscribe.d.ts","../../node_modules/graphql/execution/values.d.ts","../../node_modules/graphql/execution/index.d.ts","../../node_modules/graphql/subscription/index.d.ts","../../node_modules/graphql/utilities/TypeInfo.d.ts","../../node_modules/graphql/validation/ValidationContext.d.ts","../../node_modules/graphql/validation/validate.d.ts","../../node_modules/graphql/validation/specifiedRules.d.ts","../../node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts","../../node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts","../../node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts","../../node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts","../../node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts","../../node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts","../../node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts","../../node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts","../../node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts","../../node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts","../../node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts","../../node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts","../../node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts","../../node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts","../../node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts","../../node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts","../../node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts","../../node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts","../../node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts","../../node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts","../../node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts","../../node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts","../../node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts","../../node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts","../../node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts","../../node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts","../../node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts","../../node_modules/graphql/validation/index.d.ts","../../node_modules/graphql/error/syntaxError.d.ts","../../node_modules/graphql/error/locatedError.d.ts","../../node_modules/graphql/error/index.d.ts","../../node_modules/graphql/utilities/getIntrospectionQuery.d.ts","../../node_modules/graphql/utilities/getOperationAST.d.ts","../../node_modules/graphql/utilities/getOperationRootType.d.ts","../../node_modules/graphql/utilities/introspectionFromSchema.d.ts","../../node_modules/graphql/utilities/buildClientSchema.d.ts","../../node_modules/graphql/utilities/buildASTSchema.d.ts","../../node_modules/graphql/utilities/extendSchema.d.ts","../../node_modules/graphql/utilities/lexicographicSortSchema.d.ts","../../node_modules/graphql/utilities/printSchema.d.ts","../../node_modules/graphql/utilities/typeFromAST.d.ts","../../node_modules/graphql/utilities/valueFromAST.d.ts","../../node_modules/graphql/utilities/valueFromASTUntyped.d.ts","../../node_modules/graphql/utilities/astFromValue.d.ts","../../node_modules/graphql/utilities/coerceInputValue.d.ts","../../node_modules/graphql/utilities/concatAST.d.ts","../../node_modules/graphql/utilities/separateOperations.d.ts","../../node_modules/graphql/utilities/stripIgnoredCharacters.d.ts","../../node_modules/graphql/utilities/typeComparators.d.ts","../../node_modules/graphql/utilities/assertValidName.d.ts","../../node_modules/graphql/utilities/findBreakingChanges.d.ts","../../node_modules/graphql/utilities/typedQueryDocumentNode.d.ts","../../node_modules/graphql/utilities/index.d.ts","../../node_modules/graphql/index.d.ts","./src/graphql.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOptionsObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsSanctionedSimpleUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsValidTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedCurrencyCode.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/core.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/plural-rules.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/number.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponent.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponentForMagnitude.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/CurrencyDigits.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToParts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToString.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/InitializeNumberFormat.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/PartitionNumberPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatDigitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatUnitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawFixed.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawPrecision.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/format_to_parts.d.ts","../../node_modules/@formatjs/ecma402-abstract/PartitionPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/SupportedLocales.d.ts","../../node_modules/@formatjs/ecma402-abstract/utils.d.ts","../../node_modules/@formatjs/ecma402-abstract/data.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/relative-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/date-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/list.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/displaynames.d.ts","../../node_modules/@formatjs/ecma402-abstract/262.d.ts","../../node_modules/@formatjs/ecma402-abstract/index.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/date-time.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/number.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/index.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/types.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/error.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/parser.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/index.d.ts","../../node_modules/intl-messageformat/src/formatters.d.ts","../../node_modules/intl-messageformat/src/core.d.ts","../../node_modules/intl-messageformat/src/error.d.ts","../../node_modules/intl-messageformat/index.d.ts","../../node_modules/@formatjs/intl-listformat/index.d.ts","../../node_modules/@formatjs/intl-displaynames/index.d.ts","../../node_modules/@formatjs/intl/src/error.d.ts","../../node_modules/@formatjs/intl/src/utils.d.ts","../../node_modules/@formatjs/intl/src/types.d.ts","../../node_modules/@formatjs/intl/src/message.d.ts","../../node_modules/@formatjs/intl/src/dateTime.d.ts","../../node_modules/@formatjs/intl/src/displayName.d.ts","../../node_modules/@formatjs/intl/src/list.d.ts","../../node_modules/@formatjs/intl/src/plural.d.ts","../../node_modules/@formatjs/intl/src/relativeTime.d.ts","../../node_modules/@formatjs/intl/src/number.d.ts","../../node_modules/@formatjs/intl/src/create-intl.d.ts","../../node_modules/@formatjs/intl/index.d.ts","../../node_modules/react-intl/src/utils.d.ts","../../node_modules/react-intl/src/types.d.ts","../../node_modules/react-intl/src/components/injectIntl.d.ts","../../node_modules/react-intl/src/components/useIntl.d.ts","../../node_modules/react-intl/src/components/provider.d.ts","../../node_modules/react-intl/src/components/relative.d.ts","../../node_modules/react-intl/src/components/plural.d.ts","../../node_modules/react-intl/src/components/message.d.ts","../../node_modules/react-intl/src/components/dateTimeRange.d.ts","../../node_modules/react-intl/src/components/createFormattedComponent.d.ts","../../node_modules/react-intl/index.d.ts","../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/@types/styled-components/index.d.ts","../../node_modules/@styled-icons/styled-icon/index.d.ts","../types/lib/deprecated.d.ts","../types/lib/index.d.ts","../../node_modules/@turf/helpers/dist/js/lib/geojson.d.ts","../../node_modules/@turf/helpers/dist/js/index.d.ts","../../node_modules/@turf/along/dist/js/index.d.ts","./src/itinerary.ts","./src/map.ts","../../node_modules/@types/chroma-js/index.d.ts","./src/route.ts","./src/storage.ts","../../node_modules/date-fns/typings.d.ts","../../node_modules/date-fns-tz/typings.d.ts","./src/time.ts","./src/ui.ts","../../node_modules/@conveyal/lonlat/dist/index.d.ts","./src/query-gen.ts","./src/suspense.tsx","./src/index.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@types/babel__core/node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__core/node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostic_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/ts3.6/base.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/base.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/connect/index.d.ts","../../node_modules/@types/body-parser/index.d.ts","../../node_modules/@types/cookie/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/detect-port/index.d.ts","../../node_modules/@types/doctrine/index.d.ts","../../node_modules/@types/ejs/index.d.ts","../../node_modules/@types/emscripten/index.d.ts","../../node_modules/@types/escodegen/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/send/node_modules/@types/mime/index.d.ts","../../node_modules/@types/send/index.d.ts","../../node_modules/@types/express-serve-static-core/node_modules/@types/qs/index.d.ts","../../node_modules/@types/range-parser/index.d.ts","../../node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/@types/http-errors/index.d.ts","../../node_modules/@types/mime/Mime.d.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/serve-static/index.d.ts","../../node_modules/@types/express/node_modules/@types/qs/index.d.ts","../../node_modules/@types/express/index.d.ts","../../node_modules/@types/find-cache-dir/index.d.ts","../../node_modules/@types/flat/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/geojson/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/html-minifier-terser/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/pixelmatch/index.d.ts","../../node_modules/ssim.js/dist/types.d.ts","../../node_modules/ssim.js/dist/index.d.ts","../../node_modules/@types/jest-image-snapshot/index.d.ts","../../node_modules/@types/jest-specific-snapshot/index.d.ts","../../node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/junit-report-builder/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/mapbox-gl/index.d.ts","../../node_modules/@types/mapbox__point-geometry/index.d.ts","../../node_modules/@types/pbf/index.d.ts","../../node_modules/@types/mapbox__vector-tile/index.d.ts","../../node_modules/@types/mdx/types.d.ts","../../node_modules/@types/mdx/index.d.ts","../../node_modules/@types/mime-types/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/mute-stream/index.d.ts","../../node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/pretty-hrtime/index.d.ts","../../node_modules/@types/qs/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/scheduler/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/statuses/index.d.ts","../../node_modules/@types/throttle-debounce/index.d.ts","../../node_modules/@types/unist/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/vfile-message/index.d.ts","../../node_modules/@types/vfile/index.d.ts","../../node_modules/@types/wait-on/index.d.ts","../../node_modules/@types/wrap-ansi/index.d.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts","../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","cddd50d7bd9d7fddda91a576db9f61655d1a55e2d870f154485812f6e39d4c15","0539583b089247b73a21eb4a5f7e43208a129df6300d6b829dc1039b79b6c8c4","7aba43bc7764fcd02232382c780c3e99ef8dbfdac3c58605a0b3781fab3d8044","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","1e1ed5600d80406a10428e349af8b6f09949cd5054043ea8588903e8f9e8d705","de21641eb8edcbc08dd0db4ee70eea907cd07fe72267340b5571c92647f10a77","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","da679a5bb46df3c6d84f637f09e6689d6c2d07e907ea16adc161e4529a4954d6","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","4beaf337ee755b8c6115ff8a17e22ceab986b588722a52c776b8834af64e0f38","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","67c6de7a9c490bda48eb401bea93904b6bbfc60e47427e887e6a3da6195540be","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","764150c107451d2fd5b6de305cff0a9dcecf799e08e6f14b5a6748724db46d8a","b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","5baadaca408128671536b3cb77fea44330e169ada70ce50b902c8d992fe64cf1","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","c37aa3657fa4d1e7d22565ae609b1370c6b92bafb8c92b914403d45f0e610ddc","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","7fc9b18b6aafa8a1fc1441670c6c9da63e3d7942c7f451300c48bafd988545e9","530738d1a6a842a1fd7aa55d55a81ec61425ae63afe0478dc011c1a2a33a5579",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"5a1b30146d105f86b15aaf11ff43af00c29972d18bc3b16c8b8f56aa47801733","affectsGlobalScope":true},"13f6a3df166c16f3dcf81a87c26d9803c7fd7895e7fcc71b7c149f52ee24b639","1ee5885d5027d5193ecacf31e8ed6b6f03a3a6de2e4fb37a3280b71e65915af1","494bf82a2bd0cf241e89fdb21dd46f273e530f49f6599a985b7852f7322fc192","0edc48b402f3efa10343c59746b269ec3cab88ea08be63d73014c78d372e94ab","ba9f6d4253a5b902ddb60345aead6f691b89292f9387068bf99d9928e839a9af","eabe0e0f52a2c58966cbbed77ea6b13ff3efdab453d411c88fbf91ba4964a5ff","257369022582c2220790c87a487fda57b264e1dcb16bb9ce34172345e7f933f3","5753b9cbd5ea496f68d4459b83a5091c0dbb33a896434d2f43c5f5b9e3f4ffa8","abbf59b2100d962d82f9c842c4a20cb5db35aee74175e5c942b361138870d8eb","f408d89ab81d183abcdaaf9961ebe9ef1a892064c5790b4b87af0b7d05a43240","eb974217eac7354c2ee28c68b1fefb3aebb5839c7da0dc8b2e1670eb1bb73fc3","20f33c814aaef326c0e3f2e37f627f8e3b22d85b0859a1b47c1013f1eaa0b628","4c32e274c22c133d96fa3bd1e66af0e213c88d37372598442247e1ea2b3f3616","b446fafdc7c077bec8f3117e200fd8e8606799ef212804a58bae3b7cd3ac353c","bfd64f97f7e12d92ad6c50caddd7a5e91080ccf15e887d4574646dda09b5b8d5","4475d3f490464dd09f29d5a590392ebc9f3026a79f2f0ba247f7b3f2acc01655","09eae5649c2133876c6c07137142b2786f858ef7f2269c24c2320dc950ab1866","f2061152503791189f5fcee1e6000e1db3601a60dba32011e6ee2c3a12f23510","03e162e0e48312346141962cf4dd2aa1569a58feff88a33ac579840d24c3d165","29f7e25ee9edb7ac875d3fea892e6328a439b55b6dd994431d55315dced635ae","a1e456a92e80e7884ed0bf9c83eac71e31a7ec949eb5982d36811154bed6fb1f","3a378f155a084b9722c89ffc3d2b2ab62f50603aa80fd5d5614ade949007a891","4a254ae095bd9e42bb24b0b539fa3ad0889089f0f56c7f8b63acf2adfd4ada66","ca32554db1a6962f85143e6e9216883c0e439408541d4379eac2b80aed60cb5f","64a89eb80302eca86236ef2f40dd6b914aa42f35a7384893e7fe864b6961695f","99bb361d32c05762ab4ac1d647f750eb2e280070e30011b5feff952327d07844","19a5ca90bcba89bd8fcb7e02c379ca017dce60050e1e7671bf45f68d921870cc","84747db6b80b4e5567c21a82cbaeda7a9810307ba4023ff5ffcd90e1f7713172","214c8b4c06c4858b93230b16745a7a480cef4524b0e7745ef64755ee9b81aaf6","dea3cf3a10d7caaededded8f0a794ce9f8b17da31ccbb8ee9159d7bd2fce42ac","51dc756ec3df8a7599ef0d16268cf7cd429d5d226ceb53cf8f85657a4ade6c29","4480de0ded16219521ccf012892091e5ec44863039c965ff1664f7f4799f4126","eeaf71356de97a805f3dfb0dd93a16196da7d2480955063a79216a8fd4f1414b","c38905d6fda359cf384b9306d6b9782a1b055e6670c7894b0ffda04c81b8e59a","6beedecf272c57713b780ee23040cf45adbfedb92f893b4be80ad11fe42c1cbe","3e873837e506db540c03f5e1069427b11ed7e1a016bd29c0d83fb4c4ea9d519f","b85018c97705258ff235ae9ac44d532ab3546eb5d0354123bd781e8bea3bdc18","4386eea018b5f6eadd8dc9dc407642369bea81dcaebe64dc30285e736b102343","69818b78af77862718c44e8236defa5fd318281de3ea1a8d43f3b350439589a4","cd41024509c20e761a3bd6ce8a976f1a79ae8193e1fdba46396744136d1b6bd0","81b6d7ff019d77399bdebae52a370011cea01943fc7c2016c3dc846839206df0","407bddb7f03e070e7969eb2bc19bf931cb76ddbe2761326b8ca1f0cccb6bd35b","1135099814b6525159e76fa51f295bf05942f0d9ef84c7030f0a7ad7563531f5","5cca0d064ddbcbde07a28b74038b3f5c6b9cd41d328fd927b060da5d3c59da7b","aa29954e994b2c4566ff98b0ca2313aeffcf60924aa140053efd916a15127c6a","4e799b631914398921cd8edda132320100399522cc3c8809d7c4dad89a697c5b","29dd54502be10cc940895ade56490b55cbc3624e20b2badeb2dc1c743c641ee2","64a5448ea756e5b0f2470d16f68cb2f30d0f606c491c4e6e9f56334e9ee41190","6fd49eaee0916183cccea31985df1f27b81a89eca283e64376c10926436d4fd1","248b709d3e86c12a409badb69a4f1ad132438b9189e00096668d097d8082d089",{"version":"7be0ff644833a7105ad4afa61705b1853e4cb6e52d86e449a7d9797f97a57263","affectsGlobalScope":true},"77cd04a35d49e967b0d566d44452671650a14915b9d7176fa89c5fa87e0e46fd","94d55aa0d00aea91bcd576f60105b6f14d2bc405bd13bf0564cfa76d11b69d48","33076a79792c4eb785364eaf2ef832bfd5bdde5b1f39022af3de577ce06f213e","7ac4a9ffbac175a1f93858b6732cf2e66bd4675989d45790107a621fdbe30cca","465cc5c7e96c60fb0bbd3e1d6aee28f9eb286480a3b1a91d27dc3933fceeb722","c5142d610c6b422c39912b14200a9919410e98deb2553c420086fc43635d761c","9badb3e1a92ed9644a5ef6f372d56316fc0e52ca3fed4c957c26b6714a76f9f4","7f7193422705cc4e69d4f6781da20ba3780719fc13592f3c6777866945049a64","ca2aec1a5ca037aa66b6291dbcd2cda26dc3f94e9bff08ad34e8050012017b2e","df3a3f23c1125459b7dc5186d2c314d7da4c56cf17c0c637d6f59b06856d7cb2","f3334e3fe73231bcd013653fbc8cc0fe08ea690afc41ccc497bfde0c7bb0e580","3e4ef6a498457322df6a2b212c740f3a8e909237ce159e56e3b2364ad949f58b","df5c276a5ae10d32421d2b3924035a71e074031e0a8d4649881782f926dd55a1","01b002cf26575fa47c3a33b200fee5a8300916ad9b94705d3cbc4fdfb0e75a51","b2fbd3ecedbc082d84e5ce8b52f69ea1b2284a256f945657e25fec32931e3f02","6a71a31f883062f6d471db722889637d64f0386788a74dada2e4fcda70cfef97","4fd8fd85ee70843365438aaa5c2faeec87d3f9f186a505b5831f06f0a2c5b237","d4a08b08f4a2ecf0407180e99c8201d724c64ce7ce6137d9ed3b9b6f0f61662e","9d137a1f88aed0f776de971bc319754673efd28097b31006948d2ed54146db29","516e2ded162ddc84294deb452dda9982b2a938e6df2d7f838ae0fd8b4ed38159","bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4",{"version":"6839e1779e1f61e0ed62b1ca3ff7e74dc70479a5455077a38434d0e404103c28","affectsGlobalScope":true},"a4ce8cb63b46ff55db10c4bdd3007240a42ba71c03f159ea7e6517aef9a8013c","d721892ce2795a30a7985bb3c939747e68d6c6c8f8890eaf28bef85062f883b4","b79cf70334ad9ec3303785c6bc49f90881e4f4445e4bd13703e067a485fc83f5","b07705bcc32e76e988958ee77d6aa8af64f2bd37471c6dcef6f2f73b65ef703c","7e8b953d19b2dd932ff4d0549dbeeef0f9afb875afb4dec881406511ab8058e2","0ce3be41780c0a33a40343e06f3e4fa686d0bf392cf18e3a848abe7d50720d2d","91e1fc16264126f9d22dfbd1f88f75f581953b890ac3eb8495246ab925026b80","fd1b798443d912865c1ee180f894c10606e58ace5fa597ef7d08ef6404c6ccfe","fae40de985385b22f775c1bea02959b251abddaa1cb168ee6c4f00d79ccfd8ef","2273a3e41ab339f1f82387a6a2dcf8fbc914a2394a788fac23052d7b6b15a223","657f2c1732847deb8000d774fe7038caecfb8f3916c41cb673699818b8bec07f",{"version":"d204bd5d20ca52a553f7ba993dc2a422e9d1fce0b8178ce2bfe55fbd027c11ae","affectsGlobalScope":true},{"version":"f85022220429b071815c8aaab62a2bfb22082ba3cc60c22c2b6be2b0d495f7a9","affectsGlobalScope":true},"b17de8523d7feb3cdd3f1a3209fc52041ea282409cfee9d6176127178ba06dd9","2fd9cb02788f261cf4c4d13d8761b23cd2145b4abd959179137c0262082b7adc","17b984497972e22bcde81e57083484ddb1a9ecff70093669f92c09f19b762f2d","fd32f4338fafec6372e8ace2a0a7efe1cccb248af27433c06fc2835335a4dd74","4040de6c9fce9b2cfaef376d180df96d99b44b946d8eb95502607cb9aa789ae1","f4a1f6a61413396768d73feb91d039b36e6e5a235c79c624319ae1306f73c4d1","98f40132aab59240e3daa408377a6f779aa81f4340f4451959cd2eba3750e456","b25c5f2970d06c729f464c0aeaa64b1a5b5f1355aa93554bb5f9c199b8624b1e","3078727fed04c123165efdb42deeac5dceaa42ac62216ca13cb809dc7e13415f","b4f76b34637d79cefad486127115fed843762c69512d7101b7096e1293699679","8670878e030b88a469db43b36ef90ffa208e74faf249416feeb8fbb6b646b4a9","3051751533eee92572241b3cef28333212401408c4e7aa21718714b793c0f4ed","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","c7bdc99177a2a94d25fb13722adaaf5b3291bf70b4d1b27584ba189dd3889ba3",{"version":"41a44aa1929121f5c3124733b5ca9c59717a092b899b3771cc983939ae99eeb2","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","297f4ea4e4a5161a6627bc65c83040a91e0792e92bdc4764e24650831cc9867c","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"c8155caf28fc7b0a564156a5df28ad8a844a3bd32d331d148d8f3ce88025c870","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","5375c30f03b01e610f7370e40ccf3ade1d96de99e9a9a9a0cb0f96fc98aefb71","797a9d37eb1f76143311c3f0a186ce5c0d8735e94c0ca08ff8712a876c9b4f9e","5cc0a492da3602510b8f5ed1852b1e0390002780d8758fbc8c0cd023ca7085f8","ec7dafafe751a5121f8f1c80201ebe7e7238c47e6329280a73c4d1ca4bb7fa28","64debeb10e4b7ae4ec9e89bfb4e04c6101ab98c3cc806d14e5488607cfec2753",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"a5782d6cea81fe43d2db7ed41e789458c933ab3ab60602f7b5b14c4da3370496","affectsGlobalScope":true},"bd30510d2d803f453e10604277088a46327f5f0b6aa2b957306c458d7428f8f7","214cf066391a5a651001ebcee2c21ee4d45e8124579d271c59d7c2343bb9d29a","d28c8598067b15c7643558b936e68caefe5d171d0e629e19e2aa6ca870bb4b00","15543feaed3ce6b96bc0508f3e3f8b8f729fae62d0609bddacd483145e71c594","13257840c0850d4ebd7c2b17604a9e006f752de76c2400ebc752bc465c330452","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","6ea59cf5479f3fad5db2caa4513d8d06d6cfee8d8df69e7a040c9b5b7f25f39c","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","3ec1e108d587a5661ec790db607f482605ba9f3830e118ce578e3ffa3c42e22b","2e37dc691cb5511f49be0f8ba0df3259aa0b453b0098b436e478e60c06567ae0",{"version":"dd3f82b87fa256e7c5a66c9b8ddcc9b53275b3531c10a769722c5103a30a97e9","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","f6ea38ddcee37ec1bebde700e3a4d85040bf2d239600c877ecefd9b265066b24","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","1a63584d6605d1d5b5fd5c4fa2dc2fa5a2134aa775fcfd95fbdb705971c9ca29","fd2298fba0640e7295e7bd545e2dfbfcccbb00c27019e501c87965a02bbdebf6","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","f49709e8c096b05aca0674d39f471aa05261de7c756df9abdf4a53ed0fa98901","baca27d1de400e027cdc70217ca73e414002baef5798aa24a921097c20066fa1","75b9229192e6da08f6e06daa2b9243c251e14f179dfcc9cc9bf02dd70eabeb48","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","f4149f1aa299474c7040a35fe8f8ac2ad078cc1b190415adc1fff3ed52d490ea","3730099ed008776216268a97771de31753ef71e0a7d0ec650f588cba2a06ce44","8d649dbc429d7139a1d9a14ea2bf8af1dc089e0a879447539587463d4b6c248c","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","0431a29ecc5bb615e6d6d1709941bdf16e708f760099d017f5408a1e68e2d248","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3","1288f8ee930c03fd535824f8fe852375ec7181d73e4c1f445b82b414c95c5bbe","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","30368d3789ec56ef3006c5f2115bd00faa21471aed6cbe6fec54a5683e5497ed","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","c269a12e83c5ffc0332b1f245008e4e621e483dd2f8b9b77fc6a664fcde4969d","72dff7d18139f0d579db7e4b904fb39f5740423f656edc1f84e4baa936b1fac0","febcc45f9517827496659c229a21b058831eef4cf9b71b77fd9a364ae12c3b9e","f2a60d253f7206372203b736144906bf135762100a2b3d1b415776ebf6575d07",{"version":"fa4546e9b67dbdcc0fa8d8653c6b89d49b9e7b637b3340bea78107ca161595fa","affectsGlobalScope":true},"9dffc5c0859e5aeba5e40b079d2f5e8047bdff91d0b3477d77b6fb66ee76c99d",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","044851e9685b94a0c56bfd7f499b8be4c281e7dc024d1a715a5f9a4598bbf337","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","b94dbee2ff37d83eb578d3154289afa878f749101bd124172beece3d80a68178","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"a5562ab0448c81180ef220ff104441a4d67187a2259e6008397e7531a821f0e7","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","d2a38ad7bb4676e7fd5d058a08105d81ac232c363ee56be0b401fc277d50dbb1","2ac2e08e0d0ed266849cb9da521c3be170a8bc111d25eeeb668c7dbf0ac4171a","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","b94dbee2ff37d83eb578d3154289afa878f749101bd124172beece3d80a68178","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","19f1159e1fa24300e2eaf72cb53f0815f5879ec53cad3c606802f0c55f0917e9","d9890ea8f1da57be3c2e2d3627b787cd4b4a463fd1747c823a0de24b240c8fe5","6435575b4feae200831d37df9f871de6e695c64d3148611fe1b4d714d648ea24","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","95c22bc19835e28e2e524a4bb8898eb5f2107b640d7279a6d3aade261916bbf2","725b884357ba84171341a8e4cc08edf11417854fd069842ca6d22afb2e340e45","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"f30350dd37c3f3c11f47adb7ce4e7a4928f578f4ae8a3197e0c8a0811da46b92","948a49768a6f616ae03f7ce6ad074a0bf0cf1d139409041e0d441d037c49aabd","58729ebab0d9f2f97c1f976204c3541a1ea865811ecbeac421fbd887eb3f82e2",{"version":"8464afde15907211a1cd86c498b8c3e2ae016e6f4c6632f1a13ce7cb84804c05","affectsGlobalScope":true},{"version":"743fdf92d466daa9fe8d8719aff5c5f2c4aa7f3280e7e0b2f25aa887f45c9868","affectsGlobalScope":true},"626520302b2c8880e9eaa3a6a12022cc8b577a32e4d903aef85e3dd275063da4","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","54060f716fdbd7ac1008ac85256a400722332917837d1c0d6fdb7c9e8fa8b1cb","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","a49c26a7bad73494e987a795709e298223800407fa4e5c40c28539f752eb32ad","e86cd9c6c99834f8591ed72f08e4ca31570296f081206d0168f58f032cec5b58","2a856615ecd0af49997dfbb38cf94fd787d529062a2e96ce26b84432e61d785d","ab438f22fa7748112b6b9744b992ab6049d2fa6f46f011c145ff9c90e533856a","45b6a651b5e502cdfa93dc2f23779752def4ada323ebcfc34e4a4d22e9589971","54f1d17f9f484650cd49b53d9a6ba75593955a9ead093628888a37407b6ecd51","169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","dcefc29f25daf56cd69c0a3d3d19f51938efe1e6a15391950be43a76222ee3ed","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","5fc6e6b8232254d80ed6b802372dba7f426f0a596f5fe26b7773acfdc8232926","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c","98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e","5aca5a3bc07d2e16b6824a76c30378d6fb1b92e915d854315e1d1bd2d00974c9","199f9ead0daf25ae4c5632e3d1f42570af59685294a38123eef457407e13f365","3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","4e22b9ea2805fec5f3c120146a690e5604a3117dbdee648c85393f58422eec16","1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0","7d2b7fe4adb76d8253f20e4dbdce044f1cdfab4902ec33c3604585f553883f7d","a937bfb110176509a5fd6308b823e795525e7af8a12f1833f6567da6953ed035","6f56706c6828d0299f46f8b1a79ecae0757b91b48e63baf6f0c5292d02037129","2667c74200427135a2ff0a5f4f7cb6044bf483318a5c30e5d9eccdbfe372a529","24112d1a55250f4da7f9edb9dabeac8e3badebdf4a55b421fc7b8ca5ccc03133","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f","1a81627b04dd2feab19e26d3df04e79f50d5dae42b9b5f9181d23dc820c9f048","b2d70a269840a9528db473ac7565442434333a05c1f66801a7a672e82beb903e"],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":2,"module":1,"noEmitOnError":false,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"target":6},"fileIdsList":[[224,225,232],[224,225],[152,224,225],[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,224,225],[150,224,225],[150,151,224,225],[150,152,224,225],[178,224,225],[178,180,224,225],[178,179,224,225],[174,177,224,225],[175,176,224,225],[174,224,225],[188,189,190,191,192,193,194,195,196,197,198,224,225],[190,224,225],[174,190,224,225],[186,190,224,225],[181,185,190,224,225],[174,181,185,186,187,188,189,224,225],[139,212,224,225],[217,224,225],[216,224,225],[224,225,233,234,235,237,238],[224,225,234],[224,225,232,236],[224,225,257,291,292],[224,225,257,291],[224,225,244,291],[224,225,302,304],[224,225,301,302,303],[224,225,254,257,291,307,308,309],[224,225,293,308,310,314],[224,225,255,291],[224,225,254,291,321],[139,224,225],[224,225,325],[224,225,326],[224,225,335,336,338],[224,225,335],[224,225,332,334],[224,225,328,329],[224,225,328,329,330,331],[224,225,333],[224,225,344,346,347,348,349,350,351,352,353,354,355,356],[224,225,344,345,347,348,349,350,351,352,353,354,355,356],[224,225,345,346,347,348,349,350,351,352,353,354,355,356],[224,225,344,345,346,348,349,350,351,352,353,354,355,356],[224,225,344,345,346,347,349,350,351,352,353,354,355,356],[224,225,344,345,346,347,348,350,351,352,353,354,355,356],[224,225,344,345,346,347,348,349,351,352,353,354,355,356],[224,225,344,345,346,347,348,349,350,352,353,354,355,356],[224,225,344,345,346,347,348,349,350,351,353,354,355,356],[224,225,344,345,346,347,348,349,350,351,352,354,355,356],[224,225,344,345,346,347,348,349,350,351,352,353,355,356],[224,225,344,345,346,347,348,349,350,351,352,353,354,356],[224,225,344,345,346,347,348,349,350,351,352,353,354,355],[224,225,320],[224,225,320,358,359],[224,225,361,362],[224,225,313],[224,225,312],[224,225,271,291],[224,225,257,279,291,366,367],[224,225,289],[224,225,288,289],[224,225,254,255,262,271],[224,225,244,254,262],[224,225,280],[224,225,248,255,263],[224,225,271,276],[224,225,251,254,262],[224,225,252],[224,225,251],[224,225,254],[224,225,254,256,271,279],[224,225,254,255],[224,225,262,271,279],[224,225,254,255,257,262,271,276,279],[224,225,257,276,279],[224,225,290],[224,225,279],[224,225,251,254,271],[224,225,264],[224,225,242],[224,225,278],[224,225,269,280,283],[224,225,254,272],[224,225,271],[224,225,274],[224,225,262],[224,225,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287],[224,225,268],[224,225,281],[224,225,248,254,256,265,271,279,283],[224,225,291],[135,136,137,138,224,225],[224,225,376,415],[224,225,376,400,415],[224,225,415],[224,225,376],[224,225,376,401,415],[224,225,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414],[224,225,401,415],[224,225,255,271,291,306],[224,225,257,291,311,313],[136,139,211,224,225],[224,225,291,419,421],[224,225,276,291],[224,225,254,257,259,271,276,279,285,291],[224,225,426],[224,225,254,271,291],[224,225,257,271,291],[35,36,42,43,224,225],[44,108,109,224,225],[35,42,44,224,225],[36,44,224,225],[35,37,38,39,42,44,47,48,224,225],[38,49,63,64,224,225],[35,42,47,48,49,224,225],[35,37,42,44,46,47,48,224,225],[35,36,47,48,49,224,225],[34,50,55,62,65,66,107,110,132,224,225],[35,224,225],[36,40,41,224,225],[36,40,41,42,43,45,56,57,58,59,60,61,224,225],[36,41,42,224,225],[36,224,225],[35,36,41,42,44,57,224,225],[42,224,225],[36,42,43,224,225],[40,42,224,225],[49,63,224,225],[35,37,38,39,42,47,224,225],[35,42,45,48,224,225],[38,46,47,48,51,52,53,54,224,225],[48,224,225],[35,37,42,44,46,48,224,225],[44,47,224,225],[35,42,46,47,48,60,224,225],[44,224,225],[35,42,48,224,225],[36,42,47,58,224,225],[47,111,224,225],[44,48,224,225],[42,47,224,225],[47,224,225],[35,45,224,225],[35,42,224,225],[42,47,48,224,225],[67,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,224,225],[47,48,224,225],[37,42,224,225],[35,37,42,48,224,225],[35,37,42,224,225],[35,42,44,46,47,48,60,67,224,225],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,224,225],[60,68,224,225],[68,224,225],[35,42,44,47,67,68,224,225],[182,183,184,224,225],[181,182,224,225],[174,181,224,225],[139,174,181,186,187,199,201,202,203,204,205,206,207,208,209,224,225],[139,186,199,201,224,225],[139,174,199,224,225],[139,201,224,225],[139,185,199,224,225],[139,199,224,225],[139,199,201,224,225],[201,224,225],[139,199,200,224,225],[139,185,201,224,225],[224,225,337],[224,225,419],[133,224,225],[219,220,222,223,224,225,226,227,229,230],[215,218,224,225],[215,224,225],[133,134,215,224,225,228],[215,221,224,225],[139,210,213,214,224,225]],"referencedMap":[[236,1],[232,2],[228,2],[173,2],[140,2],[141,2],[142,2],[143,2],[144,2],[145,2],[146,2],[147,2],[148,2],[149,2],[153,3],[154,3],[155,2],[156,3],[157,3],[158,3],[159,3],[160,3],[161,3],[162,3],[163,3],[164,3],[165,2],[166,2],[168,2],[174,4],[150,2],[170,2],[172,5],[171,5],[152,6],[151,7],[169,6],[167,2],[179,8],[181,9],[180,10],[178,11],[175,2],[177,12],[176,13],[187,13],[186,13],[199,14],[198,15],[192,16],[193,15],[188,15],[194,17],[191,18],[197,15],[195,16],[196,15],[190,19],[189,16],[213,20],[218,21],[217,22],[216,2],[239,23],[235,24],[234,2],[233,1],[237,25],[238,1],[293,26],[221,2],[292,27],[294,2],[295,28],[296,2],[297,2],[298,2],[299,2],[300,2],[305,29],[301,2],[304,30],[302,2],[310,31],[308,2],[316,32],[315,2],[317,2],[318,2],[319,33],[320,2],[322,34],[323,33],[211,35],[324,2],[311,2],[325,2],[326,36],[327,37],[339,38],[340,39],[335,40],[328,2],[330,41],[332,42],[331,41],[329,2],[334,43],[333,2],[303,2],[341,2],[342,2],[343,2],[345,44],[346,45],[344,46],[347,47],[348,48],[349,49],[350,50],[351,51],[352,52],[353,53],[354,54],[355,55],[356,56],[357,57],[358,2],[360,58],[362,59],[361,2],[363,2],[312,60],[313,61],[321,2],[364,2],[365,62],[367,2],[368,63],[289,2],[240,64],[242,2],[290,65],[243,2],[244,66],[245,67],[246,68],[247,69],[248,70],[249,71],[250,2],[251,72],[252,73],[253,74],[254,74],[255,75],[256,76],[241,2],[286,2],[257,77],[258,78],[259,79],[291,80],[260,74],[261,81],[262,82],[263,2],[264,83],[265,84],[266,85],[267,2],[268,2],[269,74],[270,86],[271,87],[272,88],[273,2],[274,2],[275,89],[276,90],[277,2],[288,91],[278,90],[279,92],[280,93],[281,2],[282,88],[283,2],[287,2],[284,94],[285,88],[369,2],[370,2],[359,2],[336,95],[371,2],[137,2],[372,2],[309,2],[135,2],[139,96],[373,2],[374,2],[375,2],[138,2],[400,97],[401,98],[376,99],[379,99],[398,97],[399,97],[389,97],[388,100],[386,97],[381,97],[394,97],[392,97],[396,97],[380,97],[393,97],[397,97],[382,97],[383,97],[395,97],[377,97],[384,97],[385,97],[387,97],[391,97],[402,101],[390,97],[378,97],[415,102],[414,2],[409,101],[411,103],[410,101],[403,101],[404,101],[406,101],[408,101],[412,103],[413,103],[405,103],[407,103],[307,104],[306,2],[314,105],[416,2],[417,2],[212,106],[418,2],[419,2],[420,2],[422,107],[423,108],[424,2],[425,109],[426,2],[427,110],[428,111],[136,2],[225,2],[224,2],[366,112],[44,113],[110,114],[109,115],[108,116],[49,117],[65,118],[63,119],[64,120],[50,121],[133,122],[35,2],[37,2],[38,123],[39,2],[42,124],[45,2],[62,125],[40,2],[57,126],[43,127],[58,128],[61,129],[56,130],[59,129],[36,2],[41,2],[60,131],[66,132],[54,2],[48,133],[46,134],[55,135],[52,136],[51,136],[47,137],[53,138],[67,139],[129,140],[123,141],[116,142],[115,143],[124,144],[125,129],[117,145],[130,146],[111,147],[112,148],[113,149],[132,150],[114,143],[118,146],[119,151],[126,152],[127,127],[128,151],[120,149],[131,129],[121,153],[122,154],[68,155],[107,156],[71,157],[72,157],[73,157],[74,157],[75,157],[76,157],[77,157],[78,157],[97,157],[79,157],[80,157],[81,157],[82,157],[83,157],[84,157],[104,157],[85,157],[86,157],[87,157],[102,157],[88,157],[103,157],[89,157],[100,157],[101,157],[90,157],[91,157],[92,157],[98,157],[99,157],[93,157],[94,157],[95,157],[96,157],[105,157],[106,157],[70,158],[69,159],[34,2],[185,160],[183,161],[184,2],[182,162],[210,163],[209,164],[208,165],[202,166],[207,167],[206,168],[204,169],[205,165],[203,170],[201,171],[200,172],[338,173],[337,2],[7,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[4,2],[21,2],[18,2],[19,2],[20,2],[22,2],[23,2],[24,2],[5,2],[25,2],[26,2],[27,2],[28,2],[6,2],[29,2],[30,2],[31,2],[32,2],[1,2],[33,2],[421,174],[134,175],[231,176],[219,177],[220,178],[229,179],[222,180],[223,2],[230,35],[226,178],[227,2],[214,35],[215,181]],"exportedModulesMap":[[236,1],[232,2],[228,2],[173,2],[140,2],[141,2],[142,2],[143,2],[144,2],[145,2],[146,2],[147,2],[148,2],[149,2],[153,3],[154,3],[155,2],[156,3],[157,3],[158,3],[159,3],[160,3],[161,3],[162,3],[163,3],[164,3],[165,2],[166,2],[168,2],[174,4],[150,2],[170,2],[172,5],[171,5],[152,6],[151,7],[169,6],[167,2],[179,8],[181,9],[180,10],[178,11],[175,2],[177,12],[176,13],[187,13],[186,13],[199,14],[198,15],[192,16],[193,15],[188,15],[194,17],[191,18],[197,15],[195,16],[196,15],[190,19],[189,16],[213,20],[218,21],[217,22],[216,2],[239,23],[235,24],[234,2],[233,1],[237,25],[238,1],[293,26],[221,2],[292,27],[294,2],[295,28],[296,2],[297,2],[298,2],[299,2],[300,2],[305,29],[301,2],[304,30],[302,2],[310,31],[308,2],[316,32],[315,2],[317,2],[318,2],[319,33],[320,2],[322,34],[323,33],[211,35],[324,2],[311,2],[325,2],[326,36],[327,37],[339,38],[340,39],[335,40],[328,2],[330,41],[332,42],[331,41],[329,2],[334,43],[333,2],[303,2],[341,2],[342,2],[343,2],[345,44],[346,45],[344,46],[347,47],[348,48],[349,49],[350,50],[351,51],[352,52],[353,53],[354,54],[355,55],[356,56],[357,57],[358,2],[360,58],[362,59],[361,2],[363,2],[312,60],[313,61],[321,2],[364,2],[365,62],[367,2],[368,63],[289,2],[240,64],[242,2],[290,65],[243,2],[244,66],[245,67],[246,68],[247,69],[248,70],[249,71],[250,2],[251,72],[252,73],[253,74],[254,74],[255,75],[256,76],[241,2],[286,2],[257,77],[258,78],[259,79],[291,80],[260,74],[261,81],[262,82],[263,2],[264,83],[265,84],[266,85],[267,2],[268,2],[269,74],[270,86],[271,87],[272,88],[273,2],[274,2],[275,89],[276,90],[277,2],[288,91],[278,90],[279,92],[280,93],[281,2],[282,88],[283,2],[287,2],[284,94],[285,88],[369,2],[370,2],[359,2],[336,95],[371,2],[137,2],[372,2],[309,2],[135,2],[139,96],[373,2],[374,2],[375,2],[138,2],[400,97],[401,98],[376,99],[379,99],[398,97],[399,97],[389,97],[388,100],[386,97],[381,97],[394,97],[392,97],[396,97],[380,97],[393,97],[397,97],[382,97],[383,97],[395,97],[377,97],[384,97],[385,97],[387,97],[391,97],[402,101],[390,97],[378,97],[415,102],[414,2],[409,101],[411,103],[410,101],[403,101],[404,101],[406,101],[408,101],[412,103],[413,103],[405,103],[407,103],[307,104],[306,2],[314,105],[416,2],[417,2],[212,106],[418,2],[419,2],[420,2],[422,107],[423,108],[424,2],[425,109],[426,2],[427,110],[428,111],[136,2],[225,2],[224,2],[366,112],[44,113],[110,114],[109,115],[108,116],[49,117],[65,118],[63,119],[64,120],[50,121],[133,122],[35,2],[37,2],[38,123],[39,2],[42,124],[45,2],[62,125],[40,2],[57,126],[43,127],[58,128],[61,129],[56,130],[59,129],[36,2],[41,2],[60,131],[66,132],[54,2],[48,133],[46,134],[55,135],[52,136],[51,136],[47,137],[53,138],[67,139],[129,140],[123,141],[116,142],[115,143],[124,144],[125,129],[117,145],[130,146],[111,147],[112,148],[113,149],[132,150],[114,143],[118,146],[119,151],[126,152],[127,127],[128,151],[120,149],[131,129],[121,153],[122,154],[68,155],[107,156],[71,157],[72,157],[73,157],[74,157],[75,157],[76,157],[77,157],[78,157],[97,157],[79,157],[80,157],[81,157],[82,157],[83,157],[84,157],[104,157],[85,157],[86,157],[87,157],[102,157],[88,157],[103,157],[89,157],[100,157],[101,157],[90,157],[91,157],[92,157],[98,157],[99,157],[93,157],[94,157],[95,157],[96,157],[105,157],[106,157],[70,158],[69,159],[34,2],[185,160],[183,161],[184,2],[182,162],[210,163],[209,164],[208,165],[202,166],[207,167],[206,168],[204,169],[205,165],[203,170],[201,171],[200,172],[338,173],[337,2],[7,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[4,2],[21,2],[18,2],[19,2],[20,2],[22,2],[23,2],[24,2],[5,2],[25,2],[26,2],[27,2],[28,2],[6,2],[29,2],[30,2],[31,2],[32,2],[1,2],[33,2],[421,174],[134,175],[231,176],[219,177],[220,178],[229,179],[222,180],[223,2],[230,35],[226,178],[227,2],[214,35],[215,181]],"semanticDiagnosticsPerFile":[236,232,228,173,140,141,142,143,144,145,146,147,148,149,153,154,155,156,157,158,159,160,161,162,163,164,165,166,168,174,150,170,172,171,152,151,169,167,179,181,180,178,175,177,176,187,186,199,198,192,193,188,194,191,197,195,196,190,189,213,218,217,216,239,235,234,233,237,238,293,221,292,294,295,296,297,298,299,300,305,301,304,302,310,308,316,315,317,318,319,320,322,323,211,324,311,325,326,327,339,340,335,328,330,332,331,329,334,333,303,341,342,343,345,346,344,347,348,349,350,351,352,353,354,355,356,357,358,360,362,361,363,312,313,321,364,365,367,368,289,240,242,290,243,244,245,246,247,248,249,250,251,252,253,254,255,256,241,286,257,258,259,291,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,288,278,279,280,281,282,283,287,284,285,369,370,359,336,371,137,372,309,135,139,373,374,375,138,400,401,376,379,398,399,389,388,386,381,394,392,396,380,393,397,382,383,395,377,384,385,387,391,402,390,378,415,414,409,411,410,403,404,406,408,412,413,405,407,307,306,314,416,417,212,418,419,420,422,423,424,425,426,427,428,136,225,224,366,44,110,109,108,49,65,63,64,50,133,35,37,38,39,42,45,62,40,57,43,58,61,56,59,36,41,60,66,54,48,46,55,52,51,47,53,67,129,123,116,115,124,125,117,130,111,112,113,132,114,118,119,126,127,128,120,131,121,122,68,107,71,72,73,74,75,76,77,78,97,79,80,81,82,83,84,104,85,86,87,102,88,103,89,100,101,90,91,92,98,99,93,94,95,96,105,106,70,69,34,185,183,184,182,210,209,208,202,207,206,204,205,203,201,200,338,337,7,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,1,33,421,134,231,219,220,229,222,223,230,226,227,214,215]},"version":"4.6.4"}
|
|
1
|
+
{"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/graphql/version.d.ts","../../node_modules/graphql/jsutils/Maybe.d.ts","../../node_modules/graphql/language/source.d.ts","../../node_modules/graphql/jsutils/ObjMap.d.ts","../../node_modules/graphql/jsutils/Path.d.ts","../../node_modules/graphql/jsutils/PromiseOrValue.d.ts","../../node_modules/graphql/language/kinds.d.ts","../../node_modules/graphql/language/tokenKind.d.ts","../../node_modules/graphql/language/ast.d.ts","../../node_modules/graphql/language/location.d.ts","../../node_modules/graphql/error/GraphQLError.d.ts","../../node_modules/graphql/language/directiveLocation.d.ts","../../node_modules/graphql/type/directives.d.ts","../../node_modules/graphql/type/schema.d.ts","../../node_modules/graphql/type/definition.d.ts","../../node_modules/graphql/execution/execute.d.ts","../../node_modules/graphql/graphql.d.ts","../../node_modules/graphql/type/scalars.d.ts","../../node_modules/graphql/type/introspection.d.ts","../../node_modules/graphql/type/validate.d.ts","../../node_modules/graphql/type/assertName.d.ts","../../node_modules/graphql/type/index.d.ts","../../node_modules/graphql/language/printLocation.d.ts","../../node_modules/graphql/language/lexer.d.ts","../../node_modules/graphql/language/parser.d.ts","../../node_modules/graphql/language/printer.d.ts","../../node_modules/graphql/language/visitor.d.ts","../../node_modules/graphql/language/predicates.d.ts","../../node_modules/graphql/language/index.d.ts","../../node_modules/graphql/execution/subscribe.d.ts","../../node_modules/graphql/execution/values.d.ts","../../node_modules/graphql/execution/index.d.ts","../../node_modules/graphql/subscription/index.d.ts","../../node_modules/graphql/utilities/TypeInfo.d.ts","../../node_modules/graphql/validation/ValidationContext.d.ts","../../node_modules/graphql/validation/validate.d.ts","../../node_modules/graphql/validation/specifiedRules.d.ts","../../node_modules/graphql/validation/rules/ExecutableDefinitionsRule.d.ts","../../node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.d.ts","../../node_modules/graphql/validation/rules/FragmentsOnCompositeTypesRule.d.ts","../../node_modules/graphql/validation/rules/KnownArgumentNamesRule.d.ts","../../node_modules/graphql/validation/rules/KnownDirectivesRule.d.ts","../../node_modules/graphql/validation/rules/KnownFragmentNamesRule.d.ts","../../node_modules/graphql/validation/rules/KnownTypeNamesRule.d.ts","../../node_modules/graphql/validation/rules/LoneAnonymousOperationRule.d.ts","../../node_modules/graphql/validation/rules/NoFragmentCyclesRule.d.ts","../../node_modules/graphql/validation/rules/NoUndefinedVariablesRule.d.ts","../../node_modules/graphql/validation/rules/NoUnusedFragmentsRule.d.ts","../../node_modules/graphql/validation/rules/NoUnusedVariablesRule.d.ts","../../node_modules/graphql/validation/rules/OverlappingFieldsCanBeMergedRule.d.ts","../../node_modules/graphql/validation/rules/PossibleFragmentSpreadsRule.d.ts","../../node_modules/graphql/validation/rules/ProvidedRequiredArgumentsRule.d.ts","../../node_modules/graphql/validation/rules/ScalarLeafsRule.d.ts","../../node_modules/graphql/validation/rules/SingleFieldSubscriptionsRule.d.ts","../../node_modules/graphql/validation/rules/UniqueArgumentNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueDirectivesPerLocationRule.d.ts","../../node_modules/graphql/validation/rules/UniqueFragmentNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueInputFieldNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueOperationNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueVariableNamesRule.d.ts","../../node_modules/graphql/validation/rules/ValuesOfCorrectTypeRule.d.ts","../../node_modules/graphql/validation/rules/VariablesAreInputTypesRule.d.ts","../../node_modules/graphql/validation/rules/VariablesInAllowedPositionRule.d.ts","../../node_modules/graphql/validation/rules/LoneSchemaDefinitionRule.d.ts","../../node_modules/graphql/validation/rules/UniqueOperationTypesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueTypeNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueEnumValueNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueFieldDefinitionNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueArgumentDefinitionNamesRule.d.ts","../../node_modules/graphql/validation/rules/UniqueDirectiveNamesRule.d.ts","../../node_modules/graphql/validation/rules/PossibleTypeExtensionsRule.d.ts","../../node_modules/graphql/validation/rules/custom/NoDeprecatedCustomRule.d.ts","../../node_modules/graphql/validation/rules/custom/NoSchemaIntrospectionCustomRule.d.ts","../../node_modules/graphql/validation/index.d.ts","../../node_modules/graphql/error/syntaxError.d.ts","../../node_modules/graphql/error/locatedError.d.ts","../../node_modules/graphql/error/index.d.ts","../../node_modules/graphql/utilities/getIntrospectionQuery.d.ts","../../node_modules/graphql/utilities/getOperationAST.d.ts","../../node_modules/graphql/utilities/getOperationRootType.d.ts","../../node_modules/graphql/utilities/introspectionFromSchema.d.ts","../../node_modules/graphql/utilities/buildClientSchema.d.ts","../../node_modules/graphql/utilities/buildASTSchema.d.ts","../../node_modules/graphql/utilities/extendSchema.d.ts","../../node_modules/graphql/utilities/lexicographicSortSchema.d.ts","../../node_modules/graphql/utilities/printSchema.d.ts","../../node_modules/graphql/utilities/typeFromAST.d.ts","../../node_modules/graphql/utilities/valueFromAST.d.ts","../../node_modules/graphql/utilities/valueFromASTUntyped.d.ts","../../node_modules/graphql/utilities/astFromValue.d.ts","../../node_modules/graphql/utilities/coerceInputValue.d.ts","../../node_modules/graphql/utilities/concatAST.d.ts","../../node_modules/graphql/utilities/separateOperations.d.ts","../../node_modules/graphql/utilities/stripIgnoredCharacters.d.ts","../../node_modules/graphql/utilities/typeComparators.d.ts","../../node_modules/graphql/utilities/assertValidName.d.ts","../../node_modules/graphql/utilities/findBreakingChanges.d.ts","../../node_modules/graphql/utilities/typedQueryDocumentNode.d.ts","../../node_modules/graphql/utilities/index.d.ts","../../node_modules/graphql/index.d.ts","./src/graphql.d.ts","../../node_modules/@types/react/global.d.ts","../../node_modules/csstype/index.d.ts","../../node_modules/@types/prop-types/index.d.ts","../../node_modules/@types/scheduler/tracing.d.ts","../../node_modules/@types/react/index.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeLocaleList.d.ts","../../node_modules/@formatjs/ecma402-abstract/CanonicalizeTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/CoerceOptionsToObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetNumberOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOption.d.ts","../../node_modules/@formatjs/ecma402-abstract/GetOptionsObject.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsSanctionedSimpleUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsValidTimeZoneName.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedCurrencyCode.d.ts","../../node_modules/@formatjs/ecma402-abstract/IsWellFormedUnitIdentifier.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/core.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/plural-rules.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/number.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponent.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ComputeExponentForMagnitude.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/CurrencyDigits.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToParts.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/FormatNumericToString.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/InitializeNumberFormat.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/PartitionNumberPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatDigitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/SetNumberFormatUnitOptions.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawFixed.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/ToRawPrecision.d.ts","../../node_modules/@formatjs/ecma402-abstract/NumberFormat/format_to_parts.d.ts","../../node_modules/@formatjs/ecma402-abstract/PartitionPattern.d.ts","../../node_modules/@formatjs/ecma402-abstract/SupportedLocales.d.ts","../../node_modules/@formatjs/ecma402-abstract/utils.d.ts","../../node_modules/@formatjs/ecma402-abstract/data.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/relative-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/date-time.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/list.d.ts","../../node_modules/@formatjs/ecma402-abstract/types/displaynames.d.ts","../../node_modules/@formatjs/ecma402-abstract/262.d.ts","../../node_modules/@formatjs/ecma402-abstract/index.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/date-time.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/number.d.ts","../../node_modules/@formatjs/icu-skeleton-parser/index.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/types.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/error.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/parser.d.ts","../../node_modules/@formatjs/icu-messageformat-parser/index.d.ts","../../node_modules/intl-messageformat/src/formatters.d.ts","../../node_modules/intl-messageformat/src/core.d.ts","../../node_modules/intl-messageformat/src/error.d.ts","../../node_modules/intl-messageformat/index.d.ts","../../node_modules/@formatjs/intl-listformat/index.d.ts","../../node_modules/@formatjs/intl-displaynames/index.d.ts","../../node_modules/@formatjs/intl/src/error.d.ts","../../node_modules/@formatjs/intl/src/utils.d.ts","../../node_modules/@formatjs/intl/src/types.d.ts","../../node_modules/@formatjs/intl/src/message.d.ts","../../node_modules/@formatjs/intl/src/dateTime.d.ts","../../node_modules/@formatjs/intl/src/displayName.d.ts","../../node_modules/@formatjs/intl/src/list.d.ts","../../node_modules/@formatjs/intl/src/plural.d.ts","../../node_modules/@formatjs/intl/src/relativeTime.d.ts","../../node_modules/@formatjs/intl/src/number.d.ts","../../node_modules/@formatjs/intl/src/create-intl.d.ts","../../node_modules/@formatjs/intl/index.d.ts","../../node_modules/react-intl/src/utils.d.ts","../../node_modules/react-intl/src/types.d.ts","../../node_modules/react-intl/src/components/injectIntl.d.ts","../../node_modules/react-intl/src/components/useIntl.d.ts","../../node_modules/react-intl/src/components/provider.d.ts","../../node_modules/react-intl/src/components/relative.d.ts","../../node_modules/react-intl/src/components/plural.d.ts","../../node_modules/react-intl/src/components/message.d.ts","../../node_modules/react-intl/src/components/dateTimeRange.d.ts","../../node_modules/react-intl/src/components/createFormattedComponent.d.ts","../../node_modules/react-intl/index.d.ts","../../node_modules/@types/hoist-non-react-statics/index.d.ts","../../node_modules/@types/styled-components/index.d.ts","../../node_modules/@styled-icons/styled-icon/index.d.ts","../types/lib/deprecated.d.ts","../types/lib/index.d.ts","../../node_modules/@turf/helpers/dist/js/lib/geojson.d.ts","../../node_modules/@turf/helpers/dist/js/index.d.ts","../../node_modules/@turf/along/dist/js/index.d.ts","./src/itinerary.ts","./src/map.ts","../../node_modules/@types/chroma-js/index.d.ts","./src/route.ts","./src/storage.ts","../../node_modules/date-fns/typings.d.ts","../../node_modules/date-fns-tz/typings.d.ts","./src/time.ts","./src/ui.ts","../../node_modules/@conveyal/lonlat/dist/index.d.ts","./src/query-gen.ts","./src/suspense.tsx","./src/index.ts","../../node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__generator/index.d.ts","../../node_modules/@types/babel__core/node_modules/@babel/types/lib/index.d.ts","../../node_modules/@types/babel__core/node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@babel/parser/typings/babel-parser.d.ts","../../node_modules/@types/babel__template/index.d.ts","../../node_modules/@types/babel__traverse/index.d.ts","../../node_modules/@types/babel__core/index.d.ts","../../node_modules/@types/node/assert/strict.d.ts","../../node_modules/@types/node/globals.d.ts","../../node_modules/@types/node/async_hooks.d.ts","../../node_modules/@types/node/buffer.d.ts","../../node_modules/@types/node/child_process.d.ts","../../node_modules/@types/node/cluster.d.ts","../../node_modules/@types/node/console.d.ts","../../node_modules/@types/node/constants.d.ts","../../node_modules/@types/node/crypto.d.ts","../../node_modules/@types/node/dgram.d.ts","../../node_modules/@types/node/diagnostic_channel.d.ts","../../node_modules/@types/node/dns.d.ts","../../node_modules/@types/node/dns/promises.d.ts","../../node_modules/@types/node/domain.d.ts","../../node_modules/@types/node/events.d.ts","../../node_modules/@types/node/fs.d.ts","../../node_modules/@types/node/fs/promises.d.ts","../../node_modules/@types/node/http.d.ts","../../node_modules/@types/node/http2.d.ts","../../node_modules/@types/node/https.d.ts","../../node_modules/@types/node/inspector.d.ts","../../node_modules/@types/node/module.d.ts","../../node_modules/@types/node/net.d.ts","../../node_modules/@types/node/os.d.ts","../../node_modules/@types/node/path.d.ts","../../node_modules/@types/node/perf_hooks.d.ts","../../node_modules/@types/node/process.d.ts","../../node_modules/@types/node/punycode.d.ts","../../node_modules/@types/node/querystring.d.ts","../../node_modules/@types/node/readline.d.ts","../../node_modules/@types/node/repl.d.ts","../../node_modules/@types/node/stream.d.ts","../../node_modules/@types/node/stream/promises.d.ts","../../node_modules/@types/node/string_decoder.d.ts","../../node_modules/@types/node/timers.d.ts","../../node_modules/@types/node/timers/promises.d.ts","../../node_modules/@types/node/tls.d.ts","../../node_modules/@types/node/trace_events.d.ts","../../node_modules/@types/node/tty.d.ts","../../node_modules/@types/node/url.d.ts","../../node_modules/@types/node/util.d.ts","../../node_modules/@types/node/util/types.d.ts","../../node_modules/@types/node/v8.d.ts","../../node_modules/@types/node/vm.d.ts","../../node_modules/@types/node/worker_threads.d.ts","../../node_modules/@types/node/zlib.d.ts","../../node_modules/@types/node/globals.global.d.ts","../../node_modules/@types/node/wasi.d.ts","../../node_modules/@types/node/ts3.6/base.d.ts","../../node_modules/@types/node/assert.d.ts","../../node_modules/@types/node/base.d.ts","../../node_modules/@types/node/index.d.ts","../../node_modules/@types/connect/index.d.ts","../../node_modules/@types/body-parser/index.d.ts","../../node_modules/@types/cookie/index.d.ts","../../node_modules/@types/cross-spawn/index.d.ts","../../node_modules/@types/detect-port/index.d.ts","../../node_modules/@types/doctrine/index.d.ts","../../node_modules/@types/ejs/index.d.ts","../../node_modules/@types/emscripten/index.d.ts","../../node_modules/@types/escodegen/index.d.ts","../../node_modules/@types/eslint/helpers.d.ts","../../node_modules/@types/estree/index.d.ts","../../node_modules/@types/json-schema/index.d.ts","../../node_modules/@types/eslint/index.d.ts","../../node_modules/@types/eslint-scope/index.d.ts","../../node_modules/@types/send/node_modules/@types/mime/index.d.ts","../../node_modules/@types/send/index.d.ts","../../node_modules/@types/express-serve-static-core/node_modules/@types/qs/index.d.ts","../../node_modules/@types/range-parser/index.d.ts","../../node_modules/@types/express-serve-static-core/index.d.ts","../../node_modules/@types/http-errors/index.d.ts","../../node_modules/@types/mime/Mime.d.ts","../../node_modules/@types/mime/index.d.ts","../../node_modules/@types/serve-static/index.d.ts","../../node_modules/@types/express/node_modules/@types/qs/index.d.ts","../../node_modules/@types/express/index.d.ts","../../node_modules/@types/find-cache-dir/index.d.ts","../../node_modules/@types/flat/index.d.ts","../../node_modules/@types/fs-extra/index.d.ts","../../node_modules/@types/geojson/index.d.ts","../../node_modules/@types/minimatch/index.d.ts","../../node_modules/@types/glob/index.d.ts","../../node_modules/@types/graceful-fs/index.d.ts","../../node_modules/@types/html-minifier-terser/index.d.ts","../../node_modules/@types/istanbul-lib-coverage/index.d.ts","../../node_modules/@types/istanbul-lib-report/index.d.ts","../../node_modules/@types/istanbul-reports/index.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../node_modules/@types/jest/index.d.ts","../../node_modules/@types/pixelmatch/index.d.ts","../../node_modules/ssim.js/dist/types.d.ts","../../node_modules/ssim.js/dist/index.d.ts","../../node_modules/@types/jest-image-snapshot/index.d.ts","../../node_modules/@types/jest-specific-snapshot/index.d.ts","../../node_modules/@types/json-stable-stringify/index.d.ts","../../node_modules/@types/json5/index.d.ts","../../node_modules/@types/junit-report-builder/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../../node_modules/@types/mapbox-gl/index.d.ts","../../node_modules/@types/mapbox__point-geometry/index.d.ts","../../node_modules/@types/pbf/index.d.ts","../../node_modules/@types/mapbox__vector-tile/index.d.ts","../../node_modules/@types/mdx/types.d.ts","../../node_modules/@types/mdx/index.d.ts","../../node_modules/@types/mime-types/index.d.ts","../../node_modules/@types/minimist/index.d.ts","../../node_modules/@types/mute-stream/index.d.ts","../../node_modules/form-data/index.d.ts","../../node_modules/@types/node-fetch/externals.d.ts","../../node_modules/@types/node-fetch/index.d.ts","../../node_modules/@types/normalize-package-data/index.d.ts","../../node_modules/@types/parse-json/index.d.ts","../../node_modules/@types/pretty-hrtime/index.d.ts","../../node_modules/@types/qs/index.d.ts","../../node_modules/@types/resolve/index.d.ts","../../node_modules/@types/retry/index.d.ts","../../node_modules/@types/scheduler/index.d.ts","../../node_modules/@types/semver/classes/semver.d.ts","../../node_modules/@types/semver/functions/parse.d.ts","../../node_modules/@types/semver/functions/valid.d.ts","../../node_modules/@types/semver/functions/clean.d.ts","../../node_modules/@types/semver/functions/inc.d.ts","../../node_modules/@types/semver/functions/diff.d.ts","../../node_modules/@types/semver/functions/major.d.ts","../../node_modules/@types/semver/functions/minor.d.ts","../../node_modules/@types/semver/functions/patch.d.ts","../../node_modules/@types/semver/functions/prerelease.d.ts","../../node_modules/@types/semver/functions/compare.d.ts","../../node_modules/@types/semver/functions/rcompare.d.ts","../../node_modules/@types/semver/functions/compare-loose.d.ts","../../node_modules/@types/semver/functions/compare-build.d.ts","../../node_modules/@types/semver/functions/sort.d.ts","../../node_modules/@types/semver/functions/rsort.d.ts","../../node_modules/@types/semver/functions/gt.d.ts","../../node_modules/@types/semver/functions/lt.d.ts","../../node_modules/@types/semver/functions/eq.d.ts","../../node_modules/@types/semver/functions/neq.d.ts","../../node_modules/@types/semver/functions/gte.d.ts","../../node_modules/@types/semver/functions/lte.d.ts","../../node_modules/@types/semver/functions/cmp.d.ts","../../node_modules/@types/semver/functions/coerce.d.ts","../../node_modules/@types/semver/classes/comparator.d.ts","../../node_modules/@types/semver/classes/range.d.ts","../../node_modules/@types/semver/functions/satisfies.d.ts","../../node_modules/@types/semver/ranges/max-satisfying.d.ts","../../node_modules/@types/semver/ranges/min-satisfying.d.ts","../../node_modules/@types/semver/ranges/to-comparators.d.ts","../../node_modules/@types/semver/ranges/min-version.d.ts","../../node_modules/@types/semver/ranges/valid.d.ts","../../node_modules/@types/semver/ranges/outside.d.ts","../../node_modules/@types/semver/ranges/gtr.d.ts","../../node_modules/@types/semver/ranges/ltr.d.ts","../../node_modules/@types/semver/ranges/intersects.d.ts","../../node_modules/@types/semver/ranges/simplify.d.ts","../../node_modules/@types/semver/ranges/subset.d.ts","../../node_modules/@types/semver/internals/identifiers.d.ts","../../node_modules/@types/semver/index.d.ts","../../node_modules/@types/stack-utils/index.d.ts","../../node_modules/@types/statuses/index.d.ts","../../node_modules/@types/throttle-debounce/index.d.ts","../../node_modules/@types/unist/index.d.ts","../../node_modules/@types/uuid/index.d.ts","../../node_modules/vfile-message/index.d.ts","../../node_modules/@types/vfile/index.d.ts","../../node_modules/@types/wait-on/index.d.ts","../../node_modules/@types/wrap-ansi/index.d.ts","../../node_modules/@types/ws/index.d.ts","../../node_modules/@types/yargs-parser/index.d.ts","../../node_modules/@types/yargs/index.d.ts","../../node_modules/@types/yauzl/index.d.ts"],"fileInfos":[{"version":"3ac1b83264055b28c0165688fda6dfcc39001e9e7828f649299101c23ad0a0c3","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84",{"version":"72704b10d97777e15f1a581b73f88273037ef752d2e50b72287bd0a90af64fe6","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"78647004e18e4c16b8a2e8345fca9267573d1c5a29e11ddfee71858fd077ef6e","0804044cd0488cb7212ddbc1d0f8e1a5bd32970335dbfc613052304a1b0318f9","b725acb041d2a18fde8f46c48a1408418489c4aa222f559b1ef47bf267cb4be0","85084ae98c1d319e38ef99b1216d3372a9afd7a368022c01c3351b339d52cb58","898ec2410fae172e0a9416448b0838bed286322a5c0c8959e8e39400cd4c5697","692345a43bac37c507fa7065c554258435ab821bbe4fb44b513a70063e932b45","cddd50d7bd9d7fddda91a576db9f61655d1a55e2d870f154485812f6e39d4c15","0539583b089247b73a21eb4a5f7e43208a129df6300d6b829dc1039b79b6c8c4","7aba43bc7764fcd02232382c780c3e99ef8dbfdac3c58605a0b3781fab3d8044","522edc786ed48304671b935cf7d3ed63acc6636ab9888c6e130b97a6aea92b46","1e1ed5600d80406a10428e349af8b6f09949cd5054043ea8588903e8f9e8d705","de21641eb8edcbc08dd0db4ee70eea907cd07fe72267340b5571c92647f10a77","a53039ba614075aeb702271701981babbd0d4f4dcbf319ddee4c08fb8196cc7a","6758f7b72fa4d38f4f4b865516d3d031795c947a45cc24f2cfba43c91446d678","da679a5bb46df3c6d84f637f09e6689d6c2d07e907ea16adc161e4529a4954d6","dc1a664c33f6ddd2791569999db2b3a476e52c5eeb5474768ffa542b136d78c0","bdf7abbd7df4f29b3e0728684c790e80590b69d92ed8d3bf8e66d4bd713941fe","8decb32fc5d44b403b46c3bb4741188df4fbc3c66d6c65669000c5c9cd506523","4beaf337ee755b8c6115ff8a17e22ceab986b588722a52c776b8834af64e0f38","c26dd198f2793bbdcc55103823a2767d6223a7fdb92486c18b86deaf63208354","93551b302a808f226f0846ad8012354f2d53d6dedc33b540d6ca69836781a574","f0ff1c010d5046af3874d3b4df746c6f3921e4b3fbdec61dee0792fc0cb36ccd","778b684ebc6b006fcffeab77d25b34bf6e400100e0ec0c76056e165c6399ab05","463851fa993af55fb0296e0d6afa27407ef91bf6917098dd665aba1200d250c7","67c6de7a9c490bda48eb401bea93904b6bbfc60e47427e887e6a3da6195540be","be8f369f8d7e887eab87a3e4e41f1afcf61bf06056801383152aa83bda1f6a72","352bfb5f3a9d8a9c2464ad2dc0b2dc56a8212650a541fb550739c286dd341de1","a5aae636d9afdacb22d98e4242487436d8296e5a345348325ccc68481fe1b690","d007c769e33e72e51286b816d82cd7c3a280cba714e7f958691155068bd7150a","764150c107451d2fd5b6de305cff0a9dcecf799e08e6f14b5a6748724db46d8a","b04cf223c338c09285010f5308b980ee6d8bfa203824ed2537516f15e92e8c43","4b387f208d1e468193a45a51005b1ed5b666010fc22a15dc1baf4234078b636e","70441eda704feffd132be0c1541f2c7f6bbaafce25cb9b54b181e26af3068e79","d1addb12403afea87a1603121396261a45190886c486c88e1a5d456be17c2049","15d43873064dc8787ca1e4c39149be59183c404d48a8cd5a0ea019bb5fdf8d58","ea4b5d319625203a5a96897b057fddf6017d0f9a902c16060466fe69cc007243","3d06897c536b4aad2b2b015d529270439f2cadd89ca2ff7bd8898ee84898dd88","ab01d8fcb89fae8eda22075153053fefac69f7d9571a389632099e7a53f1922d","bac0ec1f4c61abc7c54ccebb0f739acb0cdbc22b1b19c91854dc142019492961","566b0806f9016fa067b7fecf3951fcc295c30127e5141223393bde16ad04aa4a","8e801abfeda45b1b93e599750a0a8d25074d30d4cc01e3563e56c0ff70edeb68","902997f91b09620835afd88e292eb217fbd55d01706b82b9a014ff408f357559","a3727a926e697919fb59407938bd8573964b3bf543413b685996a47df5645863","83f36c0792d352f641a213ee547d21ea02084a148355aa26b6ef82c4f61c1280","dce7d69c17a438554c11bbf930dec2bee5b62184c0494d74da336daee088ab69","1e8f2cda9735002728017933c54ccea7ebee94b9c68a59a4aac1c9a58aa7da7d","e327a2b222cf9e5c93d7c1ed6468ece2e7b9d738e5da04897f1a99f49d42cca1","65165246b59654ec4e1501dd87927a0ef95d57359709e00e95d1154ad8443bc7","f1bacba19e2fa2eb26c499e36b5ab93d6764f2dba44be3816f12d2bc9ac9a35b","bce38da5fd851520d0cb4d1e6c3c04968cec2faa674ed321c118e97e59872edc","3398f46037f21fb6c33560ceca257259bd6d2ea03737179b61ea9e17cbe07455","6e14fc6c27cb2cb203fe1727bb3a923588f0be8c2604673ad9f879182548daca","12b9bcf8395d33837f301a8e6d545a24dfff80db9e32f8e8e6cf4b11671bb442","04295cc38689e32a4ea194c954ea6604e6afb6f1c102104f74737cb8cf744422","7418f434c136734b23f634e711cf44613ca4c74e63a5ae7429acaee46c7024c8","27d40290b7caba1c04468f2b53cf7112f247f8acdd7c20589cd7decf9f762ad0","2608b8b83639baf3f07316df29202eead703102f1a7e32f74a1b18cf1eee54b5","c93657567a39bd589effe89e863aaadbc339675fca6805ae4d97eafbcce0a05d","909d5db5b3b19f03dfb4a8f1d00cf41d2f679857c28775faf1f10794cbbe9db9","e4504bffce13574bab83ab900b843590d85a0fd38faab7eff83d84ec55de4aff","8ab707f3c833fc1e8a51106b8746c8bc0ce125083ea6200ad881625ae35ce11e","730ddc2386276ac66312edbcc60853fedbb1608a99cb0b1ff82ebf26911dba1f","c1b3fa201aa037110c43c05ea97800eb66fea3f2ecc5f07c6fd47f2b6b5b21d2","636b44188dc6eb326fd566085e6c1c6035b71f839d62c343c299a35888c6f0a9","3b2105bf9823b53c269cabb38011c5a71360c8daabc618fec03102c9514d230c","f96e63eb56e736304c3aef6c745b9fe93db235ddd1fec10b45319c479de1a432","acb4f3cee79f38ceba975e7ee3114eb5cd96ccc02742b0a4c7478b4619f87cd6","cfc85d17c1493b6217bad9052a8edc332d1fde81a919228edab33c14aa762939","eebda441c4486c26de7a8a7343ebbc361d2b0109abff34c2471e45e34a93020a","727b4b8eb62dd98fa4e3a0937172c1a0041eb715b9071c3de96dad597deddcab","708e2a347a1b9868ccdb48f3e43647c6eccec47b8591b220afcafc9e7eeb3784","6bb598e2d45a170f302f113a5b68e518c8d7661ae3b59baf076be9120afa4813","c28e058db8fed2c81d324546f53d2a7aaefff380cbe70f924276dbad89acd7d1","ebe8f07bb402102c5a764b0f8e34bd92d6f50bd7ac61a2452e76b80e02f9bb4b","826a98cb79deab45ccc4e5a8b90fa64510b2169781a7cbb83c4a0a8867f4cc58","618189f94a473b7fdc5cb5ba8b94d146a0d58834cd77cd24d56995f41643ccd5","5baadaca408128671536b3cb77fea44330e169ada70ce50b902c8d992fe64cf1","a4cc469f3561ea3edc57e091f4c9dcaf7485a70d3836be23a6945db46f0acd0b","91b0965538a5eaafa8c09cf9f62b46d6125aa1b3c0e0629dce871f5f41413f90","2978e33a00b4b5fb98337c5e473ab7337030b2f69d1480eccef0290814af0d51","ba71e9777cb5460e3278f0934fd6354041cb25853feca542312807ce1f18e611","608dbaf8c8bb64f4024013e73d7107c16dba4664999a8c6e58f3e71545e48f66","61937cefd7f4d6fa76013d33d5a3c5f9b0fc382e90da34790764a0d17d6277fb","af7db74826f455bfef6a55a188eb6659fd85fdc16f720a89a515c48724ee4c42","d6ce98a960f1b99a72de771fb0ba773cb202c656b8483f22d47d01d68f59ea86","2a47dc4a362214f31689870f809c7d62024afb4297a37b22cb86f679c4d04088","42d907ac511459d7c4828ee4f3f81cc331a08dc98d7b3cb98e3ff5797c095d2e","63d010bff70619e0cdf7900e954a7e188d3175461182f887b869c312a77ecfbd","1452816d619e636de512ca98546aafb9a48382d570af1473f0432a9178c4b1ff","9e3e3932fe16b9288ec8c948048aef4edf1295b09a5412630d63f4a42265370e","8bdba132259883bac06056f7bacd29a4dcf07e3f14ce89edb022fe9b78dcf9b3","5a5406107d9949d83e1225273bcee1f559bb5588942907d923165d83251a0e37","ca0ca4ca5ad4772161ee2a99741d616fea780d777549ba9f05f4a24493ab44e1","e7ee7be996db0d7cce41a85e4cae3a5fc86cf26501ad94e0a20f8b6c1c55b2d4","72263ae386d6a49392a03bde2f88660625da1eca5df8d95120d8ccf507483d20","b498375d015f01585269588b6221008aae6f0c0dc53ead8796ace64bdfcf62ea","c37aa3657fa4d1e7d22565ae609b1370c6b92bafb8c92b914403d45f0e610ddc","34534c0ead52cc753bdfdd486430ef67f615ace54a4c0e5a3652b4116af84d6d","a1079b54643537f75fa4f4bb963d787a302bddbe3a6001c4b0a524b746e6a9de","7fc9b18b6aafa8a1fc1441670c6c9da63e3d7942c7f451300c48bafd988545e9","530738d1a6a842a1fd7aa55d55a81ec61425ae63afe0478dc011c1a2a33a5579",{"version":"ecf78e637f710f340ec08d5d92b3f31b134a46a4fcf2e758690d8c46ce62cba6","affectsGlobalScope":true},"4ee363f83d7be2202f34fcd84c44da71bf3a9329fee8a05f976f75083a52ea94","a7e32dcb90bf0c1b7a1e4ac89b0f7747cbcba25e7beddc1ebf17be1e161842ad","f5a8b384f182b3851cec3596ccc96cb7464f8d3469f48c74bf2befb782a19de5",{"version":"5a1b30146d105f86b15aaf11ff43af00c29972d18bc3b16c8b8f56aa47801733","affectsGlobalScope":true},"13f6a3df166c16f3dcf81a87c26d9803c7fd7895e7fcc71b7c149f52ee24b639","1ee5885d5027d5193ecacf31e8ed6b6f03a3a6de2e4fb37a3280b71e65915af1","494bf82a2bd0cf241e89fdb21dd46f273e530f49f6599a985b7852f7322fc192","0edc48b402f3efa10343c59746b269ec3cab88ea08be63d73014c78d372e94ab","ba9f6d4253a5b902ddb60345aead6f691b89292f9387068bf99d9928e839a9af","eabe0e0f52a2c58966cbbed77ea6b13ff3efdab453d411c88fbf91ba4964a5ff","257369022582c2220790c87a487fda57b264e1dcb16bb9ce34172345e7f933f3","5753b9cbd5ea496f68d4459b83a5091c0dbb33a896434d2f43c5f5b9e3f4ffa8","abbf59b2100d962d82f9c842c4a20cb5db35aee74175e5c942b361138870d8eb","f408d89ab81d183abcdaaf9961ebe9ef1a892064c5790b4b87af0b7d05a43240","eb974217eac7354c2ee28c68b1fefb3aebb5839c7da0dc8b2e1670eb1bb73fc3","20f33c814aaef326c0e3f2e37f627f8e3b22d85b0859a1b47c1013f1eaa0b628","4c32e274c22c133d96fa3bd1e66af0e213c88d37372598442247e1ea2b3f3616","b446fafdc7c077bec8f3117e200fd8e8606799ef212804a58bae3b7cd3ac353c","bfd64f97f7e12d92ad6c50caddd7a5e91080ccf15e887d4574646dda09b5b8d5","4475d3f490464dd09f29d5a590392ebc9f3026a79f2f0ba247f7b3f2acc01655","09eae5649c2133876c6c07137142b2786f858ef7f2269c24c2320dc950ab1866","f2061152503791189f5fcee1e6000e1db3601a60dba32011e6ee2c3a12f23510","03e162e0e48312346141962cf4dd2aa1569a58feff88a33ac579840d24c3d165","29f7e25ee9edb7ac875d3fea892e6328a439b55b6dd994431d55315dced635ae","a1e456a92e80e7884ed0bf9c83eac71e31a7ec949eb5982d36811154bed6fb1f","3a378f155a084b9722c89ffc3d2b2ab62f50603aa80fd5d5614ade949007a891","4a254ae095bd9e42bb24b0b539fa3ad0889089f0f56c7f8b63acf2adfd4ada66","ca32554db1a6962f85143e6e9216883c0e439408541d4379eac2b80aed60cb5f","64a89eb80302eca86236ef2f40dd6b914aa42f35a7384893e7fe864b6961695f","99bb361d32c05762ab4ac1d647f750eb2e280070e30011b5feff952327d07844","19a5ca90bcba89bd8fcb7e02c379ca017dce60050e1e7671bf45f68d921870cc","84747db6b80b4e5567c21a82cbaeda7a9810307ba4023ff5ffcd90e1f7713172","214c8b4c06c4858b93230b16745a7a480cef4524b0e7745ef64755ee9b81aaf6","dea3cf3a10d7caaededded8f0a794ce9f8b17da31ccbb8ee9159d7bd2fce42ac","51dc756ec3df8a7599ef0d16268cf7cd429d5d226ceb53cf8f85657a4ade6c29","4480de0ded16219521ccf012892091e5ec44863039c965ff1664f7f4799f4126","eeaf71356de97a805f3dfb0dd93a16196da7d2480955063a79216a8fd4f1414b","c38905d6fda359cf384b9306d6b9782a1b055e6670c7894b0ffda04c81b8e59a","6beedecf272c57713b780ee23040cf45adbfedb92f893b4be80ad11fe42c1cbe","3e873837e506db540c03f5e1069427b11ed7e1a016bd29c0d83fb4c4ea9d519f","b85018c97705258ff235ae9ac44d532ab3546eb5d0354123bd781e8bea3bdc18","4386eea018b5f6eadd8dc9dc407642369bea81dcaebe64dc30285e736b102343","69818b78af77862718c44e8236defa5fd318281de3ea1a8d43f3b350439589a4","cd41024509c20e761a3bd6ce8a976f1a79ae8193e1fdba46396744136d1b6bd0","81b6d7ff019d77399bdebae52a370011cea01943fc7c2016c3dc846839206df0","407bddb7f03e070e7969eb2bc19bf931cb76ddbe2761326b8ca1f0cccb6bd35b","1135099814b6525159e76fa51f295bf05942f0d9ef84c7030f0a7ad7563531f5","5cca0d064ddbcbde07a28b74038b3f5c6b9cd41d328fd927b060da5d3c59da7b","aa29954e994b2c4566ff98b0ca2313aeffcf60924aa140053efd916a15127c6a","4e799b631914398921cd8edda132320100399522cc3c8809d7c4dad89a697c5b","29dd54502be10cc940895ade56490b55cbc3624e20b2badeb2dc1c743c641ee2","64a5448ea756e5b0f2470d16f68cb2f30d0f606c491c4e6e9f56334e9ee41190","6fd49eaee0916183cccea31985df1f27b81a89eca283e64376c10926436d4fd1","248b709d3e86c12a409badb69a4f1ad132438b9189e00096668d097d8082d089",{"version":"7be0ff644833a7105ad4afa61705b1853e4cb6e52d86e449a7d9797f97a57263","affectsGlobalScope":true},"77cd04a35d49e967b0d566d44452671650a14915b9d7176fa89c5fa87e0e46fd","94d55aa0d00aea91bcd576f60105b6f14d2bc405bd13bf0564cfa76d11b69d48","33076a79792c4eb785364eaf2ef832bfd5bdde5b1f39022af3de577ce06f213e","7ac4a9ffbac175a1f93858b6732cf2e66bd4675989d45790107a621fdbe30cca","465cc5c7e96c60fb0bbd3e1d6aee28f9eb286480a3b1a91d27dc3933fceeb722","c5142d610c6b422c39912b14200a9919410e98deb2553c420086fc43635d761c","9badb3e1a92ed9644a5ef6f372d56316fc0e52ca3fed4c957c26b6714a76f9f4","7f7193422705cc4e69d4f6781da20ba3780719fc13592f3c6777866945049a64","ca2aec1a5ca037aa66b6291dbcd2cda26dc3f94e9bff08ad34e8050012017b2e","df3a3f23c1125459b7dc5186d2c314d7da4c56cf17c0c637d6f59b06856d7cb2","f3334e3fe73231bcd013653fbc8cc0fe08ea690afc41ccc497bfde0c7bb0e580","3e4ef6a498457322df6a2b212c740f3a8e909237ce159e56e3b2364ad949f58b","df5c276a5ae10d32421d2b3924035a71e074031e0a8d4649881782f926dd55a1","01b002cf26575fa47c3a33b200fee5a8300916ad9b94705d3cbc4fdfb0e75a51","b2fbd3ecedbc082d84e5ce8b52f69ea1b2284a256f945657e25fec32931e3f02","6a71a31f883062f6d471db722889637d64f0386788a74dada2e4fcda70cfef97","4fd8fd85ee70843365438aaa5c2faeec87d3f9f186a505b5831f06f0a2c5b237","d4a08b08f4a2ecf0407180e99c8201d724c64ce7ce6137d9ed3b9b6f0f61662e","9d137a1f88aed0f776de971bc319754673efd28097b31006948d2ed54146db29","516e2ded162ddc84294deb452dda9982b2a938e6df2d7f838ae0fd8b4ed38159","bfe1b52cf71aea9bf8815810cc5d9490fa9617313e3d3c2ee3809a28b80d0bb4",{"version":"6839e1779e1f61e0ed62b1ca3ff7e74dc70479a5455077a38434d0e404103c28","affectsGlobalScope":true},"a4ce8cb63b46ff55db10c4bdd3007240a42ba71c03f159ea7e6517aef9a8013c","d721892ce2795a30a7985bb3c939747e68d6c6c8f8890eaf28bef85062f883b4","b79cf70334ad9ec3303785c6bc49f90881e4f4445e4bd13703e067a485fc83f5","b07705bcc32e76e988958ee77d6aa8af64f2bd37471c6dcef6f2f73b65ef703c","7e8b953d19b2dd932ff4d0549dbeeef0f9afb875afb4dec881406511ab8058e2","0ce3be41780c0a33a40343e06f3e4fa686d0bf392cf18e3a848abe7d50720d2d","91e1fc16264126f9d22dfbd1f88f75f581953b890ac3eb8495246ab925026b80","fd1b798443d912865c1ee180f894c10606e58ace5fa597ef7d08ef6404c6ccfe","fae40de985385b22f775c1bea02959b251abddaa1cb168ee6c4f00d79ccfd8ef","2273a3e41ab339f1f82387a6a2dcf8fbc914a2394a788fac23052d7b6b15a223","657f2c1732847deb8000d774fe7038caecfb8f3916c41cb673699818b8bec07f",{"version":"d204bd5d20ca52a553f7ba993dc2a422e9d1fce0b8178ce2bfe55fbd027c11ae","affectsGlobalScope":true},{"version":"f85022220429b071815c8aaab62a2bfb22082ba3cc60c22c2b6be2b0d495f7a9","affectsGlobalScope":true},"b17de8523d7feb3cdd3f1a3209fc52041ea282409cfee9d6176127178ba06dd9","2fd9cb02788f261cf4c4d13d8761b23cd2145b4abd959179137c0262082b7adc","17b984497972e22bcde81e57083484ddb1a9ecff70093669f92c09f19b762f2d","60a46c9c8bd633814e1f575c6bc3f376f91fa6329409f47bbda5ed7344ca4370","4040de6c9fce9b2cfaef376d180df96d99b44b946d8eb95502607cb9aa789ae1","f4a1f6a61413396768d73feb91d039b36e6e5a235c79c624319ae1306f73c4d1","98f40132aab59240e3daa408377a6f779aa81f4340f4451959cd2eba3750e456","b25c5f2970d06c729f464c0aeaa64b1a5b5f1355aa93554bb5f9c199b8624b1e","3078727fed04c123165efdb42deeac5dceaa42ac62216ca13cb809dc7e13415f","b4f76b34637d79cefad486127115fed843762c69512d7101b7096e1293699679","8670878e030b88a469db43b36ef90ffa208e74faf249416feeb8fbb6b646b4a9","3051751533eee92572241b3cef28333212401408c4e7aa21718714b793c0f4ed","3b043cf9a81854a72963fdb57d1884fc4da1cf5be69b5e0a4c5b751e58cb6d88","069bebfee29864e3955378107e243508b163e77ab10de6a5ee03ae06939f0bb9","c7bdc99177a2a94d25fb13722adaaf5b3291bf70b4d1b27584ba189dd3889ba3",{"version":"41a44aa1929121f5c3124733b5ca9c59717a092b899b3771cc983939ae99eeb2","affectsGlobalScope":true},"e23424b97418eca3226fd24de079f1203eb70360622e4e093af2aff14d4be6ec","a473cf45c3d9809518f8af913312139d9f4db6887dc554e0d06d0f4e52722e6b","297f4ea4e4a5161a6627bc65c83040a91e0792e92bdc4764e24650831cc9867c","04eaa93bd75f937f9184dcb95a7983800c5770cf8ddd8ac0f3734dc02f5b20ef",{"version":"c8155caf28fc7b0a564156a5df28ad8a844a3bd32d331d148d8f3ce88025c870","affectsGlobalScope":true},"45ac321f2e15d268fd74a90ddaa6467dcaaff2c5b13f95b4b85831520fb7a491","5375c30f03b01e610f7370e40ccf3ade1d96de99e9a9a9a0cb0f96fc98aefb71","797a9d37eb1f76143311c3f0a186ce5c0d8735e94c0ca08ff8712a876c9b4f9e","5cc0a492da3602510b8f5ed1852b1e0390002780d8758fbc8c0cd023ca7085f8","ec7dafafe751a5121f8f1c80201ebe7e7238c47e6329280a73c4d1ca4bb7fa28","64debeb10e4b7ae4ec9e89bfb4e04c6101ab98c3cc806d14e5488607cfec2753",{"version":"2866a528b2708aa272ec3eaafd3c980abb23aec1ef831cfc5eb2186b98c37ce5","affectsGlobalScope":true},{"version":"a5782d6cea81fe43d2db7ed41e789458c933ab3ab60602f7b5b14c4da3370496","affectsGlobalScope":true},"bd30510d2d803f453e10604277088a46327f5f0b6aa2b957306c458d7428f8f7","214cf066391a5a651001ebcee2c21ee4d45e8124579d271c59d7c2343bb9d29a","d28c8598067b15c7643558b936e68caefe5d171d0e629e19e2aa6ca870bb4b00","15543feaed3ce6b96bc0508f3e3f8b8f729fae62d0609bddacd483145e71c594","13257840c0850d4ebd7c2b17604a9e006f752de76c2400ebc752bc465c330452","42176966283d3835c34278b9b5c0f470d484c0c0c6a55c20a2c916a1ce69b6e8","0cff7901aedfe78e314f7d44088f07e2afa1b6e4f0473a4169b8456ca2fb245d","6ea59cf5479f3fad5db2caa4513d8d06d6cfee8d8df69e7a040c9b5b7f25f39c","69640cc2e76dad52daeb9914e6b70c5c9a5591a3a65190a2d3ea432cf0015e16","3ec1e108d587a5661ec790db607f482605ba9f3830e118ce578e3ffa3c42e22b","2e37dc691cb5511f49be0f8ba0df3259aa0b453b0098b436e478e60c06567ae0",{"version":"dd3f82b87fa256e7c5a66c9b8ddcc9b53275b3531c10a769722c5103a30a97e9","affectsGlobalScope":true},"7f77304372efe3c9967e5f9ea2061f1b4bf41dc3cda3c83cdd676f2e5af6b7e6","992c6f6be16c0a1d2eec13ece33adeea2c747ba27fcd078353a8f4bb5b4fea58","f6ea38ddcee37ec1bebde700e3a4d85040bf2d239600c877ecefd9b265066b24","a6b0abdb67d63ebe964ba5fee31bc3daf10c12eecd46b24d778426010c04c67e","1a63584d6605d1d5b5fd5c4fa2dc2fa5a2134aa775fcfd95fbdb705971c9ca29","fd2298fba0640e7295e7bd545e2dfbfcccbb00c27019e501c87965a02bbdebf6","4fd3c4debadce3e9ab9dec3eb45f7f5e2e3d4ad65cf975a6d938d883cfb25a50","f49709e8c096b05aca0674d39f471aa05261de7c756df9abdf4a53ed0fa98901","baca27d1de400e027cdc70217ca73e414002baef5798aa24a921097c20066fa1","75b9229192e6da08f6e06daa2b9243c251e14f179dfcc9cc9bf02dd70eabeb48","7df562288f949945cf69c21cd912100c2afedeeb7cdb219085f7f4b46cb7dde4","9d16690485ff1eb4f6fc57aebe237728fd8e03130c460919da3a35f4d9bd97f5","dcc6910d95a3625fd2b0487fda055988e46ab46c357a1b3618c27b4a8dd739c9","f4149f1aa299474c7040a35fe8f8ac2ad078cc1b190415adc1fff3ed52d490ea","3730099ed008776216268a97771de31753ef71e0a7d0ec650f588cba2a06ce44","8d649dbc429d7139a1d9a14ea2bf8af1dc089e0a879447539587463d4b6c248c","60c9e27816ec8ac8df7240598bb086e95b47edfb454c5cbf4003c812e0ed6e39","0431a29ecc5bb615e6d6d1709941bdf16e708f760099d017f5408a1e68e2d248","4926467de88a92a4fc9971d8c6f21b91eca1c0e7fc2a46cc4638ab9440c73875",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"4e0a4d84b15692ea8669fe4f3d05a4f204567906b1347da7a58b75f45bae48d3","1288f8ee930c03fd535824f8fe852375ec7181d73e4c1f445b82b414c95c5bbe","b3593bd345ebea5e4d0a894c03251a3774b34df3d6db57075c18e089a599ba76","e61a21e9418f279bc480394a94d1581b2dee73747adcbdef999b6737e34d721b","30368d3789ec56ef3006c5f2115bd00faa21471aed6cbe6fec54a5683e5497ed","104c67f0da1bdf0d94865419247e20eded83ce7f9911a1aa75fc675c077ca66e","cc0d0b339f31ce0ab3b7a5b714d8e578ce698f1e13d7f8c60bfb766baeb1d35c","1748c03e7a7d118f7f6648c709507971eb0d416f489958492c5ae625de445184","c269a12e83c5ffc0332b1f245008e4e621e483dd2f8b9b77fc6a664fcde4969d","72dff7d18139f0d579db7e4b904fb39f5740423f656edc1f84e4baa936b1fac0","febcc45f9517827496659c229a21b058831eef4cf9b71b77fd9a364ae12c3b9e","f2a60d253f7206372203b736144906bf135762100a2b3d1b415776ebf6575d07",{"version":"fa4546e9b67dbdcc0fa8d8653c6b89d49b9e7b637b3340bea78107ca161595fa","affectsGlobalScope":true},"9dffc5c0859e5aeba5e40b079d2f5e8047bdff91d0b3477d77b6fb66ee76c99d",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","044851e9685b94a0c56bfd7f499b8be4c281e7dc024d1a715a5f9a4598bbf337","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","d3f2d715f57df3f04bf7b16dde01dec10366f64fce44503c92b8f78f614c1769","b78cd10245a90e27e62d0558564f5d9a16576294eee724a59ae21b91f9269e4a","b94dbee2ff37d83eb578d3154289afa878f749101bd124172beece3d80a68178","2f5747b1508ccf83fad0c251ba1e5da2f5a30b78b09ffa1cfaf633045160afed",{"version":"a5562ab0448c81180ef220ff104441a4d67187a2259e6008397e7531a821f0e7","affectsGlobalScope":true},"b71c603a539078a5e3a039b20f2b0a0d1708967530cf97dec8850a9ca45baa2b","d2a38ad7bb4676e7fd5d058a08105d81ac232c363ee56be0b401fc277d50dbb1","2ac2e08e0d0ed266849cb9da521c3be170a8bc111d25eeeb668c7dbf0ac4171a","34118be360cdd3381bbebbfd4b093c394460c8fc5df40688d58f45d86ab1448b","b94dbee2ff37d83eb578d3154289afa878f749101bd124172beece3d80a68178","5c45abf1e13e4463eacfd5dedda06855da8748a6a6cb3334f582b52e219acc04","19f1159e1fa24300e2eaf72cb53f0815f5879ec53cad3c606802f0c55f0917e9","d9890ea8f1da57be3c2e2d3627b787cd4b4a463fd1747c823a0de24b240c8fe5","6435575b4feae200831d37df9f871de6e695c64d3148611fe1b4d714d648ea24","8c2e6e491e1a08855b8bf70820184ff66ae0d43f7cf0311fc680e6d860af211c","95c22bc19835e28e2e524a4bb8898eb5f2107b640d7279a6d3aade261916bbf2","725b884357ba84171341a8e4cc08edf11417854fd069842ca6d22afb2e340e45","afe73051ff6a03a9565cbd8ebb0e956ee3df5e913ad5c1ded64218aabfa3dcb5","ee65fe452abe1309389c5f50710f24114e08a302d40708101c4aa950a2a7d044","de18acda71730bac52f4b256ce7511bb56cc21f6f114c59c46782eff2f632857","7eb06594824ada538b1d8b48c3925a83e7db792f47a081a62cf3e5c4e23cf0ee","905c3e8f7ddaa6c391b60c05b2f4c3931d7127ad717a080359db3df510b7bdab","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","69da61a7b5093dac77fa3bec8be95dcf9a74c95a0e9161edb98bb24e30e439d2","561eca7a381b96d6ccac6e4061e6d2ae53f5bc44203f3fd9f5b26864c32ae6e9","62ea38627e3ebab429f7616812a9394d327c2bc271003dfba985de9b4137369f","b4439890c168d646357928431100daac5cbdee1d345a34e6bf6eca9f3abe22bc","5d72971a459517c44c1379dab9ed248e87a61ba0a1e0f25c9d67e1e640cd9a09","02d734976af36f4273d930bea88b3e62adf6b078cf120c1c63d49aa8d8427c5c",{"version":"516a426e3960379f310107635b8f3a7e8c307c6c665080b128039d9299ec4087","affectsGlobalScope":true},"f30350dd37c3f3c11f47adb7ce4e7a4928f578f4ae8a3197e0c8a0811da46b92","948a49768a6f616ae03f7ce6ad074a0bf0cf1d139409041e0d441d037c49aabd","58729ebab0d9f2f97c1f976204c3541a1ea865811ecbeac421fbd887eb3f82e2",{"version":"8464afde15907211a1cd86c498b8c3e2ae016e6f4c6632f1a13ce7cb84804c05","affectsGlobalScope":true},{"version":"743fdf92d466daa9fe8d8719aff5c5f2c4aa7f3280e7e0b2f25aa887f45c9868","affectsGlobalScope":true},"626520302b2c8880e9eaa3a6a12022cc8b577a32e4d903aef85e3dd275063da4","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","54060f716fdbd7ac1008ac85256a400722332917837d1c0d6fdb7c9e8fa8b1cb","b8442e9db28157344d1bc5d8a5a256f1692de213f0c0ddeb84359834015a008c","458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","68a0d0c508e1b6d8d23a519a8a0a3303dc5baa4849ca049f21e5bad41945e3fc","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","4f6a12044ee6f458db11964153830abbc499e73d065c51c329ec97407f4b13dd","a49c26a7bad73494e987a795709e298223800407fa4e5c40c28539f752eb32ad","e86cd9c6c99834f8591ed72f08e4ca31570296f081206d0168f58f032cec5b58","2a856615ecd0af49997dfbb38cf94fd787d529062a2e96ce26b84432e61d785d","ab438f22fa7748112b6b9744b992ab6049d2fa6f46f011c145ff9c90e533856a","45b6a651b5e502cdfa93dc2f23779752def4ada323ebcfc34e4a4d22e9589971","54f1d17f9f484650cd49b53d9a6ba75593955a9ead093628888a37407b6ecd51","169cc96316cacf8b489aaab4ac6bcef7b33e8779a8902bce57c737b4aa372d16","e437d83044ba17246a861aa9691aa14223ff4a9d6f338ab1269c41c758586a88","dcefc29f25daf56cd69c0a3d3d19f51938efe1e6a15391950be43a76222ee3ed","736097ddbb2903bef918bb3b5811ef1c9c5656f2a73bd39b22a91b9cc2525e50","4340936f4e937c452ae783514e7c7bbb7fc06d0c97993ff4865370d0962bb9cf","5fc6e6b8232254d80ed6b802372dba7f426f0a596f5fe26b7773acfdc8232926","c9ad058b2cc9ce6dc2ed92960d6d009e8c04bef46d3f5312283debca6869f613","2b8264b2fefd7367e0f20e2c04eed5d3038831fe00f5efbc110ff0131aab899b","b91aaad5f9c3f5dca5e8245d5f6464bdc63a77ba4453bb3e2d0c93959cddb13c","98437d5a640b67c41534f0de2dcb64c75433dcdff54ff8f8432e613663619a2e","5aca5a3bc07d2e16b6824a76c30378d6fb1b92e915d854315e1d1bd2d00974c9","199f9ead0daf25ae4c5632e3d1f42570af59685294a38123eef457407e13f365","3169db033165677f1d414baf0c82ba27801089ca1b66d97af464512a47df31b5","cf3d384d082b933d987c4e2fe7bfb8710adfd9dc8155190056ed6695a25a559e","9871b7ee672bc16c78833bdab3052615834b08375cb144e4d2cba74473f4a589","c863198dae89420f3c552b5a03da6ed6d0acfa3807a64772b895db624b0de707","8b03a5e327d7db67112ebbc93b4f744133eda2c1743dbb0a990c61a8007823ef","86c73f2ee1752bac8eeeece234fd05dfcf0637a4fbd8032e4f5f43102faa8eec","42fad1f540271e35ca37cecda12c4ce2eef27f0f5cf0f8dd761d723c744d3159","ff3743a5de32bee10906aff63d1de726f6a7fd6ee2da4b8229054dfa69de2c34","83acd370f7f84f203e71ebba33ba61b7f1291ca027d7f9a662c6307d74e4ac22","1445cec898f90bdd18b2949b9590b3c012f5b7e1804e6e329fb0fe053946d5ec","0e5318ec2275d8da858b541920d9306650ae6ac8012f0e872fe66eb50321a669","cf530297c3fb3a92ec9591dd4fa229d58b5981e45fe6702a0bd2bea53a5e59be","c1f6f7d08d42148ddfe164d36d7aba91f467dbcb3caa715966ff95f55048b3a4","f4e9bf9103191ef3b3612d3ec0044ca4044ca5be27711fe648ada06fad4bcc85","0c1ee27b8f6a00097c2d6d91a21ee4d096ab52c1e28350f6362542b55380059a","7677d5b0db9e020d3017720f853ba18f415219fb3a9597343b1b1012cfd699f7","bc1c6bc119c1784b1a2be6d9c47addec0d83ef0d52c8fbe1f14a51b4dfffc675","52cf2ce99c2a23de70225e252e9822a22b4e0adb82643ab0b710858810e00bf1","770625067bb27a20b9826255a8d47b6b5b0a2d3dfcbd21f89904c731f671ba77","d1ed6765f4d7906a05968fb5cd6d1db8afa14dbe512a4884e8ea5c0f5e142c80","799c0f1b07c092626cf1efd71d459997635911bb5f7fc1196efe449bba87e965","2a184e4462b9914a30b1b5c41cf80c6d3428f17b20d3afb711fff3f0644001fd","9eabde32a3aa5d80de34af2c2206cdc3ee094c6504a8d0c2d6d20c7c179503cc","397c8051b6cfcb48aa22656f0faca2553c5f56187262135162ee79d2b2f6c966","a8ead142e0c87dcd5dc130eba1f8eeed506b08952d905c47621dc2f583b1bff9","a02f10ea5f73130efca046429254a4e3c06b5475baecc8f7b99a0014731be8b3","c2576a4083232b0e2d9bd06875dd43d371dee2e090325a9eac0133fd5650c1cb","4c9a0564bb317349de6a24eb4efea8bb79898fa72ad63a1809165f5bd42970dd","f40ac11d8859092d20f953aae14ba967282c3bb056431a37fced1866ec7a2681","cc11e9e79d4746cc59e0e17473a59d6f104692fd0eeea1bdb2e206eabed83b03","b444a410d34fb5e98aa5ee2b381362044f4884652e8bc8a11c8fe14bbd85518e","c35808c1f5e16d2c571aa65067e3cb95afeff843b259ecfa2fc107a9519b5392","14d5dc055143e941c8743c6a21fa459f961cbc3deedf1bfe47b11587ca4b3ef5","a3ad4e1fc542751005267d50a6298e6765928c0c3a8dce1572f2ba6ca518661c","f237e7c97a3a89f4591afd49ecb3bd8d14f51a1c4adc8fcae3430febedff5eb6","3ffdfbec93b7aed71082af62b8c3e0cc71261cc68d796665faa1e91604fbae8f","662201f943ed45b1ad600d03a90dffe20841e725203ced8b708c91fcd7f9379a","c9ef74c64ed051ea5b958621e7fb853fe3b56e8787c1587aefc6ea988b3c7e79","2462ccfac5f3375794b861abaa81da380f1bbd9401de59ffa43119a0b644253d","34baf65cfee92f110d6653322e2120c2d368ee64b3c7981dff08ed105c4f19b0","7d8ddf0f021c53099e34ee831a06c394d50371816caa98684812f089b4c6b3d4","b0d10e46cfe3f6c476b69af02eaa38e4ccc7430221ce3109ae84bb9fb8282298","1f4ae755492a669b317903a6b1664cb7af3fe0c3d1eec6447f4e95a80616d15a","4e22b9ea2805fec5f3c120146a690e5604a3117dbdee648c85393f58422eec16","1320ee42b30487cceb6da9f230354fc34826111f76bf12f0ad76c717c12625b0","7d2b7fe4adb76d8253f20e4dbdce044f1cdfab4902ec33c3604585f553883f7d","a937bfb110176509a5fd6308b823e795525e7af8a12f1833f6567da6953ed035","6f56706c6828d0299f46f8b1a79ecae0757b91b48e63baf6f0c5292d02037129","2667c74200427135a2ff0a5f4f7cb6044bf483318a5c30e5d9eccdbfe372a529","24112d1a55250f4da7f9edb9dabeac8e3badebdf4a55b421fc7b8ca5ccc03133","77c5c7f8578d139c74102a29384f5f4f0792a12d819ddcdcaf8307185ff2d45d","3bdd93ec24853e61bfa4c63ebaa425ff3e474156e87a47d90122e1d8cc717c1f","1a81627b04dd2feab19e26d3df04e79f50d5dae42b9b5f9181d23dc820c9f048","b2d70a269840a9528db473ac7565442434333a05c1f66801a7a672e82beb903e"],"options":{"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"jsx":2,"module":1,"noEmitOnError":false,"outDir":"./lib","rootDir":"./src","skipLibCheck":true,"sourceMap":true,"target":6},"fileIdsList":[[224,225,232],[224,225],[152,224,225],[140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,224,225],[150,224,225],[150,151,224,225],[150,152,224,225],[178,224,225],[178,180,224,225],[178,179,224,225],[174,177,224,225],[175,176,224,225],[174,224,225],[188,189,190,191,192,193,194,195,196,197,198,224,225],[190,224,225],[174,190,224,225],[186,190,224,225],[181,185,190,224,225],[174,181,185,186,187,188,189,224,225],[139,212,224,225],[217,224,225],[216,224,225],[224,225,233,234,235,237,238],[224,225,234],[224,225,232,236],[224,225,257,291,292],[224,225,257,291],[224,225,244,291],[224,225,302,304],[224,225,301,302,303],[224,225,254,257,291,307,308,309],[224,225,293,308,310,314],[224,225,255,291],[224,225,254,291,321],[139,224,225],[224,225,325],[224,225,326],[224,225,335,336,338],[224,225,335],[224,225,332,334],[224,225,328,329],[224,225,328,329,330,331],[224,225,333],[224,225,344,346,347,348,349,350,351,352,353,354,355,356],[224,225,344,345,347,348,349,350,351,352,353,354,355,356],[224,225,345,346,347,348,349,350,351,352,353,354,355,356],[224,225,344,345,346,348,349,350,351,352,353,354,355,356],[224,225,344,345,346,347,349,350,351,352,353,354,355,356],[224,225,344,345,346,347,348,350,351,352,353,354,355,356],[224,225,344,345,346,347,348,349,351,352,353,354,355,356],[224,225,344,345,346,347,348,349,350,352,353,354,355,356],[224,225,344,345,346,347,348,349,350,351,353,354,355,356],[224,225,344,345,346,347,348,349,350,351,352,354,355,356],[224,225,344,345,346,347,348,349,350,351,352,353,355,356],[224,225,344,345,346,347,348,349,350,351,352,353,354,356],[224,225,344,345,346,347,348,349,350,351,352,353,354,355],[224,225,320],[224,225,320,358,359],[224,225,361,362],[224,225,313],[224,225,312],[224,225,271,291],[224,225,257,279,291,366,367],[224,225,289],[224,225,288,289],[224,225,254,255,262,271],[224,225,244,254,262],[224,225,280],[224,225,248,255,263],[224,225,271,276],[224,225,251,254,262],[224,225,252],[224,225,251],[224,225,254],[224,225,254,256,271,279],[224,225,254,255],[224,225,262,271,279],[224,225,254,255,257,262,271,276,279],[224,225,257,276,279],[224,225,290],[224,225,279],[224,225,251,254,271],[224,225,264],[224,225,242],[224,225,278],[224,225,269,280,283],[224,225,254,272],[224,225,271],[224,225,274],[224,225,262],[224,225,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287],[224,225,268],[224,225,281],[224,225,248,254,256,265,271,279,283],[224,225,291],[135,136,137,138,224,225],[224,225,376,415],[224,225,376,400,415],[224,225,415],[224,225,376],[224,225,376,401,415],[224,225,376,377,378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414],[224,225,401,415],[224,225,255,271,291,306],[224,225,257,291,311,313],[136,139,211,224,225],[224,225,291,419,421],[224,225,276,291],[224,225,254,257,259,271,276,279,285,291],[224,225,426],[224,225,254,271,291],[224,225,257,271,291],[35,36,42,43,224,225],[44,108,109,224,225],[35,42,44,224,225],[36,44,224,225],[35,37,38,39,42,44,47,48,224,225],[38,49,63,64,224,225],[35,42,47,48,49,224,225],[35,37,42,44,46,47,48,224,225],[35,36,47,48,49,224,225],[34,50,55,62,65,66,107,110,132,224,225],[35,224,225],[36,40,41,224,225],[36,40,41,42,43,45,56,57,58,59,60,61,224,225],[36,41,42,224,225],[36,224,225],[35,36,41,42,44,57,224,225],[42,224,225],[36,42,43,224,225],[40,42,224,225],[49,63,224,225],[35,37,38,39,42,47,224,225],[35,42,45,48,224,225],[38,46,47,48,51,52,53,54,224,225],[48,224,225],[35,37,42,44,46,48,224,225],[44,47,224,225],[35,42,46,47,48,60,224,225],[44,224,225],[35,42,48,224,225],[36,42,47,58,224,225],[47,111,224,225],[44,48,224,225],[42,47,224,225],[47,224,225],[35,45,224,225],[35,42,224,225],[42,47,48,224,225],[67,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,224,225],[47,48,224,225],[37,42,224,225],[35,37,42,48,224,225],[35,37,42,224,225],[35,42,44,46,47,48,60,67,224,225],[68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,224,225],[60,68,224,225],[68,224,225],[35,42,44,47,67,68,224,225],[182,183,184,224,225],[181,182,224,225],[174,181,224,225],[139,174,181,186,187,199,201,202,203,204,205,206,207,208,209,224,225],[139,186,199,201,224,225],[139,174,199,224,225],[139,201,224,225],[139,185,199,224,225],[139,199,224,225],[139,199,201,224,225],[201,224,225],[139,199,200,224,225],[139,185,201,224,225],[224,225,337],[224,225,419],[133,224,225],[219,220,222,223,224,225,226,227,229,230],[215,218,224,225],[215,224,225],[133,134,215,224,225,228],[215,221,224,225],[139,210,213,214,224,225]],"referencedMap":[[236,1],[232,2],[228,2],[173,2],[140,2],[141,2],[142,2],[143,2],[144,2],[145,2],[146,2],[147,2],[148,2],[149,2],[153,3],[154,3],[155,2],[156,3],[157,3],[158,3],[159,3],[160,3],[161,3],[162,3],[163,3],[164,3],[165,2],[166,2],[168,2],[174,4],[150,2],[170,2],[172,5],[171,5],[152,6],[151,7],[169,6],[167,2],[179,8],[181,9],[180,10],[178,11],[175,2],[177,12],[176,13],[187,13],[186,13],[199,14],[198,15],[192,16],[193,15],[188,15],[194,17],[191,18],[197,15],[195,16],[196,15],[190,19],[189,16],[213,20],[218,21],[217,22],[216,2],[239,23],[235,24],[234,2],[233,1],[237,25],[238,1],[293,26],[221,2],[292,27],[294,2],[295,28],[296,2],[297,2],[298,2],[299,2],[300,2],[305,29],[301,2],[304,30],[302,2],[310,31],[308,2],[316,32],[315,2],[317,2],[318,2],[319,33],[320,2],[322,34],[323,33],[211,35],[324,2],[311,2],[325,2],[326,36],[327,37],[339,38],[340,39],[335,40],[328,2],[330,41],[332,42],[331,41],[329,2],[334,43],[333,2],[303,2],[341,2],[342,2],[343,2],[345,44],[346,45],[344,46],[347,47],[348,48],[349,49],[350,50],[351,51],[352,52],[353,53],[354,54],[355,55],[356,56],[357,57],[358,2],[360,58],[362,59],[361,2],[363,2],[312,60],[313,61],[321,2],[364,2],[365,62],[367,2],[368,63],[289,2],[240,64],[242,2],[290,65],[243,2],[244,66],[245,67],[246,68],[247,69],[248,70],[249,71],[250,2],[251,72],[252,73],[253,74],[254,74],[255,75],[256,76],[241,2],[286,2],[257,77],[258,78],[259,79],[291,80],[260,74],[261,81],[262,82],[263,2],[264,83],[265,84],[266,85],[267,2],[268,2],[269,74],[270,86],[271,87],[272,88],[273,2],[274,2],[275,89],[276,90],[277,2],[288,91],[278,90],[279,92],[280,93],[281,2],[282,88],[283,2],[287,2],[284,94],[285,88],[369,2],[370,2],[359,2],[336,95],[371,2],[137,2],[372,2],[309,2],[135,2],[139,96],[373,2],[374,2],[375,2],[138,2],[400,97],[401,98],[376,99],[379,99],[398,97],[399,97],[389,97],[388,100],[386,97],[381,97],[394,97],[392,97],[396,97],[380,97],[393,97],[397,97],[382,97],[383,97],[395,97],[377,97],[384,97],[385,97],[387,97],[391,97],[402,101],[390,97],[378,97],[415,102],[414,2],[409,101],[411,103],[410,101],[403,101],[404,101],[406,101],[408,101],[412,103],[413,103],[405,103],[407,103],[307,104],[306,2],[314,105],[416,2],[417,2],[212,106],[418,2],[419,2],[420,2],[422,107],[423,108],[424,2],[425,109],[426,2],[427,110],[428,111],[136,2],[225,2],[224,2],[366,112],[44,113],[110,114],[109,115],[108,116],[49,117],[65,118],[63,119],[64,120],[50,121],[133,122],[35,2],[37,2],[38,123],[39,2],[42,124],[45,2],[62,125],[40,2],[57,126],[43,127],[58,128],[61,129],[56,130],[59,129],[36,2],[41,2],[60,131],[66,132],[54,2],[48,133],[46,134],[55,135],[52,136],[51,136],[47,137],[53,138],[67,139],[129,140],[123,141],[116,142],[115,143],[124,144],[125,129],[117,145],[130,146],[111,147],[112,148],[113,149],[132,150],[114,143],[118,146],[119,151],[126,152],[127,127],[128,151],[120,149],[131,129],[121,153],[122,154],[68,155],[107,156],[71,157],[72,157],[73,157],[74,157],[75,157],[76,157],[77,157],[78,157],[97,157],[79,157],[80,157],[81,157],[82,157],[83,157],[84,157],[104,157],[85,157],[86,157],[87,157],[102,157],[88,157],[103,157],[89,157],[100,157],[101,157],[90,157],[91,157],[92,157],[98,157],[99,157],[93,157],[94,157],[95,157],[96,157],[105,157],[106,157],[70,158],[69,159],[34,2],[185,160],[183,161],[184,2],[182,162],[210,163],[209,164],[208,165],[202,166],[207,167],[206,168],[204,169],[205,165],[203,170],[201,171],[200,172],[338,173],[337,2],[7,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[4,2],[21,2],[18,2],[19,2],[20,2],[22,2],[23,2],[24,2],[5,2],[25,2],[26,2],[27,2],[28,2],[6,2],[29,2],[30,2],[31,2],[32,2],[1,2],[33,2],[421,174],[134,175],[231,176],[219,177],[220,178],[229,179],[222,180],[223,2],[230,35],[226,178],[227,2],[214,35],[215,181]],"exportedModulesMap":[[236,1],[232,2],[228,2],[173,2],[140,2],[141,2],[142,2],[143,2],[144,2],[145,2],[146,2],[147,2],[148,2],[149,2],[153,3],[154,3],[155,2],[156,3],[157,3],[158,3],[159,3],[160,3],[161,3],[162,3],[163,3],[164,3],[165,2],[166,2],[168,2],[174,4],[150,2],[170,2],[172,5],[171,5],[152,6],[151,7],[169,6],[167,2],[179,8],[181,9],[180,10],[178,11],[175,2],[177,12],[176,13],[187,13],[186,13],[199,14],[198,15],[192,16],[193,15],[188,15],[194,17],[191,18],[197,15],[195,16],[196,15],[190,19],[189,16],[213,20],[218,21],[217,22],[216,2],[239,23],[235,24],[234,2],[233,1],[237,25],[238,1],[293,26],[221,2],[292,27],[294,2],[295,28],[296,2],[297,2],[298,2],[299,2],[300,2],[305,29],[301,2],[304,30],[302,2],[310,31],[308,2],[316,32],[315,2],[317,2],[318,2],[319,33],[320,2],[322,34],[323,33],[211,35],[324,2],[311,2],[325,2],[326,36],[327,37],[339,38],[340,39],[335,40],[328,2],[330,41],[332,42],[331,41],[329,2],[334,43],[333,2],[303,2],[341,2],[342,2],[343,2],[345,44],[346,45],[344,46],[347,47],[348,48],[349,49],[350,50],[351,51],[352,52],[353,53],[354,54],[355,55],[356,56],[357,57],[358,2],[360,58],[362,59],[361,2],[363,2],[312,60],[313,61],[321,2],[364,2],[365,62],[367,2],[368,63],[289,2],[240,64],[242,2],[290,65],[243,2],[244,66],[245,67],[246,68],[247,69],[248,70],[249,71],[250,2],[251,72],[252,73],[253,74],[254,74],[255,75],[256,76],[241,2],[286,2],[257,77],[258,78],[259,79],[291,80],[260,74],[261,81],[262,82],[263,2],[264,83],[265,84],[266,85],[267,2],[268,2],[269,74],[270,86],[271,87],[272,88],[273,2],[274,2],[275,89],[276,90],[277,2],[288,91],[278,90],[279,92],[280,93],[281,2],[282,88],[283,2],[287,2],[284,94],[285,88],[369,2],[370,2],[359,2],[336,95],[371,2],[137,2],[372,2],[309,2],[135,2],[139,96],[373,2],[374,2],[375,2],[138,2],[400,97],[401,98],[376,99],[379,99],[398,97],[399,97],[389,97],[388,100],[386,97],[381,97],[394,97],[392,97],[396,97],[380,97],[393,97],[397,97],[382,97],[383,97],[395,97],[377,97],[384,97],[385,97],[387,97],[391,97],[402,101],[390,97],[378,97],[415,102],[414,2],[409,101],[411,103],[410,101],[403,101],[404,101],[406,101],[408,101],[412,103],[413,103],[405,103],[407,103],[307,104],[306,2],[314,105],[416,2],[417,2],[212,106],[418,2],[419,2],[420,2],[422,107],[423,108],[424,2],[425,109],[426,2],[427,110],[428,111],[136,2],[225,2],[224,2],[366,112],[44,113],[110,114],[109,115],[108,116],[49,117],[65,118],[63,119],[64,120],[50,121],[133,122],[35,2],[37,2],[38,123],[39,2],[42,124],[45,2],[62,125],[40,2],[57,126],[43,127],[58,128],[61,129],[56,130],[59,129],[36,2],[41,2],[60,131],[66,132],[54,2],[48,133],[46,134],[55,135],[52,136],[51,136],[47,137],[53,138],[67,139],[129,140],[123,141],[116,142],[115,143],[124,144],[125,129],[117,145],[130,146],[111,147],[112,148],[113,149],[132,150],[114,143],[118,146],[119,151],[126,152],[127,127],[128,151],[120,149],[131,129],[121,153],[122,154],[68,155],[107,156],[71,157],[72,157],[73,157],[74,157],[75,157],[76,157],[77,157],[78,157],[97,157],[79,157],[80,157],[81,157],[82,157],[83,157],[84,157],[104,157],[85,157],[86,157],[87,157],[102,157],[88,157],[103,157],[89,157],[100,157],[101,157],[90,157],[91,157],[92,157],[98,157],[99,157],[93,157],[94,157],[95,157],[96,157],[105,157],[106,157],[70,158],[69,159],[34,2],[185,160],[183,161],[184,2],[182,162],[210,163],[209,164],[208,165],[202,166],[207,167],[206,168],[204,169],[205,165],[203,170],[201,171],[200,172],[338,173],[337,2],[7,2],[9,2],[8,2],[2,2],[10,2],[11,2],[12,2],[13,2],[14,2],[15,2],[16,2],[17,2],[3,2],[4,2],[21,2],[18,2],[19,2],[20,2],[22,2],[23,2],[24,2],[5,2],[25,2],[26,2],[27,2],[28,2],[6,2],[29,2],[30,2],[31,2],[32,2],[1,2],[33,2],[421,174],[134,175],[231,176],[219,177],[220,178],[229,179],[222,180],[223,2],[230,35],[226,178],[227,2],[214,35],[215,181]],"semanticDiagnosticsPerFile":[236,232,228,173,140,141,142,143,144,145,146,147,148,149,153,154,155,156,157,158,159,160,161,162,163,164,165,166,168,174,150,170,172,171,152,151,169,167,179,181,180,178,175,177,176,187,186,199,198,192,193,188,194,191,197,195,196,190,189,213,218,217,216,239,235,234,233,237,238,293,221,292,294,295,296,297,298,299,300,305,301,304,302,310,308,316,315,317,318,319,320,322,323,211,324,311,325,326,327,339,340,335,328,330,332,331,329,334,333,303,341,342,343,345,346,344,347,348,349,350,351,352,353,354,355,356,357,358,360,362,361,363,312,313,321,364,365,367,368,289,240,242,290,243,244,245,246,247,248,249,250,251,252,253,254,255,256,241,286,257,258,259,291,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,288,278,279,280,281,282,283,287,284,285,369,370,359,336,371,137,372,309,135,139,373,374,375,138,400,401,376,379,398,399,389,388,386,381,394,392,396,380,393,397,382,383,395,377,384,385,387,391,402,390,378,415,414,409,411,410,403,404,406,408,412,413,405,407,307,306,314,416,417,212,418,419,420,422,423,424,425,426,427,428,136,225,224,366,44,110,109,108,49,65,63,64,50,133,35,37,38,39,42,45,62,40,57,43,58,61,56,59,36,41,60,66,54,48,46,55,52,51,47,53,67,129,123,116,115,124,125,117,130,111,112,113,132,114,118,119,126,127,128,120,131,121,122,68,107,71,72,73,74,75,76,77,78,97,79,80,81,82,83,84,104,85,86,87,102,88,103,89,100,101,90,91,92,98,99,93,94,95,96,105,106,70,69,34,185,183,184,182,210,209,208,202,207,206,204,205,203,201,200,338,337,7,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,29,30,31,32,1,33,421,134,231,219,220,229,222,223,230,226,227,214,215]},"version":"4.6.4"}
|