diff --git a/.gitignore b/.gitignore index f21726c76..b4ceac946 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,8 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +# Git internals (should never be tracked) +.git/ +*.pack +.eslintcache diff --git a/Data-Viz/node_modules/.bin/react-scripts b/Data-Viz/node_modules/.bin/react-scripts old mode 100644 new mode 100755 diff --git a/Data-Viz/node_modules/.cache/.eslintcache b/Data-Viz/node_modules/.cache/.eslintcache index 034748f8a..f33a99ae9 100644 --- a/Data-Viz/node_modules/.cache/.eslintcache +++ b/Data-Viz/node_modules/.cache/.eslintcache @@ -1 +1 @@ -[{"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\index.tsx":"1","C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\reportWebVitals.ts":"2","C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\App.tsx":"3","C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\pages\\Home\\Home.tsx":"4","C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\routes\\AppRoutes.tsx":"5","C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\shell\\Shell.tsx":"6","C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\features\\planTrip\\PlanTripPage.tsx":"7","C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\features\\routeView\\RouteViewPage.tsx":"8"},{"size":362,"mtime":1759816033728,"results":"9","hashOfConfig":"10"},{"size":381,"mtime":1759782141098,"results":"11","hashOfConfig":"10"},{"size":148,"mtime":1759813214874,"results":"12","hashOfConfig":"10"},{"size":1063,"mtime":1759813830811,"results":"13","hashOfConfig":"10"},{"size":614,"mtime":1759813577193,"results":"14","hashOfConfig":"10"},{"size":558,"mtime":1759812285532,"results":"15","hashOfConfig":"10"},{"size":460,"mtime":1759814003902,"results":"16","hashOfConfig":"10"},{"size":470,"mtime":1759814148146,"results":"17","hashOfConfig":"10"},{"filePath":"18","messages":"19","suppressedMessages":"20","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"jpiibq",{"filePath":"21","messages":"22","suppressedMessages":"23","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"24","messages":"25","suppressedMessages":"26","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"27","messages":"28","suppressedMessages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"30","messages":"31","suppressedMessages":"32","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"33","messages":"34","suppressedMessages":"35","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"36","messages":"37","suppressedMessages":"38","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","suppressedMessages":"41","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\index.tsx",[],[],"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\reportWebVitals.ts",[],[],"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\App.tsx",[],[],"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\pages\\Home\\Home.tsx",[],[],"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\routes\\AppRoutes.tsx",[],[],"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\shell\\Shell.tsx",[],[],"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\features\\planTrip\\PlanTripPage.tsx",[],[],"C:\\Users\\Owner\\stinger-delay\\Data-Viz\\src\\features\\routeView\\RouteViewPage.tsx",[],[]] \ No newline at end of file +[{"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/index.tsx":"1","/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/App.tsx":"2","/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/routes/AppRoutes.tsx":"3","/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/shell/Shell.tsx":"4","/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/pages/Home/Home.tsx":"5","/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx":"6","/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/routeView/RouteViewPage.tsx":"7","/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts":"8"},{"size":348,"mtime":1760555714964,"results":"9","hashOfConfig":"10"},{"size":140,"mtime":1760555714962,"results":"11","hashOfConfig":"10"},{"size":596,"mtime":1760555714966,"results":"12","hashOfConfig":"10"},{"size":536,"mtime":1760555714966,"results":"13","hashOfConfig":"10"},{"size":1025,"mtime":1760555714966,"results":"14","hashOfConfig":"10"},{"size":20505,"mtime":1763075934452,"results":"15","hashOfConfig":"10"},{"size":453,"mtime":1763075849542,"results":"16","hashOfConfig":"10"},{"size":8495,"mtime":1763076522685,"results":"17","hashOfConfig":"10"},{"filePath":"18","messages":"19","suppressedMessages":"20","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"1svrqxg",{"filePath":"21","messages":"22","suppressedMessages":"23","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"24","messages":"25","suppressedMessages":"26","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"27","messages":"28","suppressedMessages":"29","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"30","messages":"31","suppressedMessages":"32","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"33","messages":"34","suppressedMessages":"35","errorCount":0,"fatalErrorCount":0,"warningCount":3,"fixableErrorCount":0,"fixableWarningCount":0,"source":null},{"filePath":"36","messages":"37","suppressedMessages":"38","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},{"filePath":"39","messages":"40","suppressedMessages":"41","errorCount":0,"fatalErrorCount":0,"warningCount":0,"fixableErrorCount":0,"fixableWarningCount":0},"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/index.tsx",[],[],"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/App.tsx",[],[],"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/routes/AppRoutes.tsx",[],[],"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/shell/Shell.tsx",[],[],"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/pages/Home/Home.tsx",[],[],"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx",["42","43","44"],[],"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/routeView/RouteViewPage.tsx",[],[],"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts",[],[],{"ruleId":"45","severity":1,"message":"46","line":120,"column":6,"nodeType":"47","endLine":120,"endColumn":13,"suggestions":"48"},{"ruleId":"45","severity":1,"message":"49","line":126,"column":6,"nodeType":"47","endLine":126,"endColumn":14,"suggestions":"50"},{"ruleId":"51","severity":1,"message":"52","line":408,"column":13,"nodeType":"53","messageId":"54","endLine":408,"endColumn":16},"react-hooks/exhaustive-deps","React Hook useEffect has a missing dependency: 'initMap'. Either include it or remove the dependency array.","ArrayExpression",["55"],"React Hook useEffect has a missing dependency: 'updateMap'. Either include it or remove the dependency array.",["56"],"@typescript-eslint/no-unused-vars","'key' is assigned a value but never used.","Identifier","unusedVar",{"desc":"57","fix":"58"},{"desc":"59","fix":"60"},"Update the dependencies array to be: [initMap, stops]",{"range":"61","text":"62"},"Update the dependencies array to be: [result, updateMap]",{"range":"63","text":"64"},[4976,4983],"[initMap, stops]",[5081,5089],"[result, updateMap]"] \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/030c41df2bbc23b6e8700157dc55a05517ce302cc9400f19f38036c161a5b483.json b/Data-Viz/node_modules/.cache/babel-loader/030c41df2bbc23b6e8700157dc55a05517ce302cc9400f19f38036c161a5b483.json new file mode 100644 index 000000000..69d401d0d --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/030c41df2bbc23b6e8700157dc55a05517ce302cc9400f19f38036c161a5b483.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar __assign = this && this.__assign || function () {\n __assign = Object.assign || function (t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar named_references_1 = require(\"./named-references\");\nvar numeric_unicode_map_1 = require(\"./numeric-unicode-map\");\nvar surrogate_pairs_1 = require(\"./surrogate-pairs\");\nvar allNamedReferences = __assign(__assign({}, named_references_1.namedReferences), {\n all: named_references_1.namedReferences.html5\n});\nfunction replaceUsingRegExp(macroText, macroRegExp, macroReplacer) {\n macroRegExp.lastIndex = 0;\n var replaceMatch = macroRegExp.exec(macroText);\n var replaceResult;\n if (replaceMatch) {\n replaceResult = \"\";\n var replaceLastIndex = 0;\n do {\n if (replaceLastIndex !== replaceMatch.index) {\n replaceResult += macroText.substring(replaceLastIndex, replaceMatch.index);\n }\n var replaceInput = replaceMatch[0];\n replaceResult += macroReplacer(replaceInput);\n replaceLastIndex = replaceMatch.index + replaceInput.length;\n } while (replaceMatch = macroRegExp.exec(macroText));\n if (replaceLastIndex !== macroText.length) {\n replaceResult += macroText.substring(replaceLastIndex);\n }\n } else {\n replaceResult = macroText;\n }\n return replaceResult;\n}\nvar encodeRegExps = {\n specialChars: /[<>'\"&]/g,\n nonAscii: /[<>'\"&\\u0080-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n nonAsciiPrintable: /[<>'\"&\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n nonAsciiPrintableOnly: /[\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n extensive: /[\\x01-\\x0c\\x0e-\\x1f\\x21-\\x2c\\x2e-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7d\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g\n};\nvar defaultEncodeOptions = {\n mode: \"specialChars\",\n level: \"all\",\n numeric: \"decimal\"\n};\nfunction encode(text, _a) {\n var _b = _a === void 0 ? defaultEncodeOptions : _a,\n _c = _b.mode,\n mode = _c === void 0 ? \"specialChars\" : _c,\n _d = _b.numeric,\n numeric = _d === void 0 ? \"decimal\" : _d,\n _e = _b.level,\n level = _e === void 0 ? \"all\" : _e;\n if (!text) {\n return \"\";\n }\n var encodeRegExp = encodeRegExps[mode];\n var references = allNamedReferences[level].characters;\n var isHex = numeric === \"hexadecimal\";\n return replaceUsingRegExp(text, encodeRegExp, function (input) {\n var result = references[input];\n if (!result) {\n var code = input.length > 1 ? surrogate_pairs_1.getCodePoint(input, 0) : input.charCodeAt(0);\n result = (isHex ? \"&#x\" + code.toString(16) : \"&#\" + code) + \";\";\n }\n return result;\n });\n}\nexports.encode = encode;\nvar defaultDecodeOptions = {\n scope: \"body\",\n level: \"all\"\n};\nvar strict = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);/g;\nvar attribute = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g;\nvar baseDecodeRegExps = {\n xml: {\n strict: strict,\n attribute: attribute,\n body: named_references_1.bodyRegExps.xml\n },\n html4: {\n strict: strict,\n attribute: attribute,\n body: named_references_1.bodyRegExps.html4\n },\n html5: {\n strict: strict,\n attribute: attribute,\n body: named_references_1.bodyRegExps.html5\n }\n};\nvar decodeRegExps = __assign(__assign({}, baseDecodeRegExps), {\n all: baseDecodeRegExps.html5\n});\nvar fromCharCode = String.fromCharCode;\nvar outOfBoundsChar = fromCharCode(65533);\nvar defaultDecodeEntityOptions = {\n level: \"all\"\n};\nfunction getDecodedEntity(entity, references, isAttribute, isStrict) {\n var decodeResult = entity;\n var decodeEntityLastChar = entity[entity.length - 1];\n if (isAttribute && decodeEntityLastChar === \"=\") {\n decodeResult = entity;\n } else if (isStrict && decodeEntityLastChar !== \";\") {\n decodeResult = entity;\n } else {\n var decodeResultByReference = references[entity];\n if (decodeResultByReference) {\n decodeResult = decodeResultByReference;\n } else if (entity[0] === \"&\" && entity[1] === \"#\") {\n var decodeSecondChar = entity[2];\n var decodeCode = decodeSecondChar == \"x\" || decodeSecondChar == \"X\" ? parseInt(entity.substr(3), 16) : parseInt(entity.substr(2));\n decodeResult = decodeCode >= 1114111 ? outOfBoundsChar : decodeCode > 65535 ? surrogate_pairs_1.fromCodePoint(decodeCode) : fromCharCode(numeric_unicode_map_1.numericUnicodeMap[decodeCode] || decodeCode);\n }\n }\n return decodeResult;\n}\nfunction decodeEntity(entity, _a) {\n var _b = (_a === void 0 ? defaultDecodeEntityOptions : _a).level,\n level = _b === void 0 ? \"all\" : _b;\n if (!entity) {\n return \"\";\n }\n return getDecodedEntity(entity, allNamedReferences[level].entities, false, false);\n}\nexports.decodeEntity = decodeEntity;\nfunction decode(text, _a) {\n var _b = _a === void 0 ? defaultDecodeOptions : _a,\n _c = _b.level,\n level = _c === void 0 ? \"all\" : _c,\n _d = _b.scope,\n scope = _d === void 0 ? level === \"xml\" ? \"strict\" : \"body\" : _d;\n if (!text) {\n return \"\";\n }\n var decodeRegExp = decodeRegExps[level][scope];\n var references = allNamedReferences[level].entities;\n var isAttribute = scope === \"attribute\";\n var isStrict = scope === \"strict\";\n return replaceUsingRegExp(text, decodeRegExp, function (entity) {\n return getDecodedEntity(entity, references, isAttribute, isStrict);\n });\n}\nexports.decode = decode;","map":{"version":3,"names":["named_references_1","require","numeric_unicode_map_1","surrogate_pairs_1","allNamedReferences","__assign","namedReferences","all","html5","replaceUsingRegExp","macroText","macroRegExp","macroReplacer","lastIndex","replaceMatch","exec","replaceResult","replaceLastIndex","index","substring","replaceInput","length","encodeRegExps","specialChars","nonAscii","nonAsciiPrintable","nonAsciiPrintableOnly","extensive","defaultEncodeOptions","mode","level","numeric","encode","text","_a","_b","_c","_d","_e","encodeRegExp","references","characters","isHex","input","result","code","getCodePoint","charCodeAt","toString","exports","defaultDecodeOptions","scope","strict","attribute","baseDecodeRegExps","xml","body","bodyRegExps","html4","decodeRegExps","fromCharCode","String","outOfBoundsChar","defaultDecodeEntityOptions","getDecodedEntity","entity","isAttribute","isStrict","decodeResult","decodeEntityLastChar","decodeResultByReference","decodeSecondChar","decodeCode","parseInt","substr","fromCodePoint","numericUnicodeMap","decodeEntity","entities","decode","decodeRegExp"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/html-entities/src/index.ts"],"sourcesContent":["import {bodyRegExps, namedReferences} from './named-references';\nimport {numericUnicodeMap} from './numeric-unicode-map';\nimport {fromCodePoint, getCodePoint} from './surrogate-pairs';\n\nconst allNamedReferences = {\n ...namedReferences,\n all: namedReferences.html5\n};\n\nfunction replaceUsingRegExp(macroText: string, macroRegExp: RegExp, macroReplacer: (input: string) => string): string {\n macroRegExp.lastIndex = 0;\n let replaceMatch = macroRegExp.exec(macroText);\n let replaceResult;\n if (replaceMatch) {\n replaceResult = '';\n let replaceLastIndex = 0;\n do {\n if (replaceLastIndex !== replaceMatch.index) {\n replaceResult += macroText.substring(replaceLastIndex, replaceMatch.index);\n }\n const replaceInput = replaceMatch[0];\n replaceResult += macroReplacer(replaceInput);\n replaceLastIndex = replaceMatch.index + replaceInput.length;\n } while ((replaceMatch = macroRegExp.exec(macroText)));\n\n if (replaceLastIndex !== macroText.length) {\n replaceResult += macroText.substring(replaceLastIndex);\n }\n } else {\n replaceResult = macroText;\n }\n return replaceResult;\n}\n\nexport type Level = 'xml' | 'html4' | 'html5' | 'all';\n\ninterface CommonOptions {\n level?: Level;\n}\n\nexport type EncodeMode = 'specialChars' | 'nonAscii' | 'nonAsciiPrintable' | 'nonAsciiPrintableOnly' | 'extensive';\n\nexport interface EncodeOptions extends CommonOptions {\n mode?: EncodeMode;\n numeric?: 'decimal' | 'hexadecimal';\n}\n\nexport type DecodeScope = 'strict' | 'body' | 'attribute';\n\nexport interface DecodeOptions extends CommonOptions {\n scope?: DecodeScope;\n}\n\nconst encodeRegExps: Record = {\n specialChars: /[<>'\"&]/g,\n nonAscii: /[<>'\"&\\u0080-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n nonAsciiPrintable: /[<>'\"&\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n nonAsciiPrintableOnly: /[\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g,\n extensive: /[\\x01-\\x0c\\x0e-\\x1f\\x21-\\x2c\\x2e-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7d\\x7f-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]/g\n};\n\nconst defaultEncodeOptions: EncodeOptions = {\n mode: 'specialChars',\n level: 'all',\n numeric: 'decimal'\n};\n\n/** Encodes all the necessary (specified by `level`) characters in the text */\nexport function encode(\n text: string | undefined | null,\n {mode = 'specialChars', numeric = 'decimal', level = 'all'}: EncodeOptions = defaultEncodeOptions\n) {\n if (!text) {\n return '';\n }\n\n const encodeRegExp = encodeRegExps[mode];\n const references = allNamedReferences[level].characters;\n const isHex = numeric === 'hexadecimal';\n\n return replaceUsingRegExp(text, encodeRegExp, (input) => {\n let result = references[input];\n if (!result) {\n const code = input.length > 1 ? getCodePoint(input, 0)! : input.charCodeAt(0);\n result = (isHex ? '&#x' + code.toString(16) : '&#' + code) + ';';\n }\n return result;\n });\n}\n\nconst defaultDecodeOptions: DecodeOptions = {\n scope: 'body',\n level: 'all'\n};\n\nconst strict = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);/g;\nconst attribute = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g;\n\nconst baseDecodeRegExps: Record, Record> = {\n xml: {\n strict,\n attribute,\n body: bodyRegExps.xml\n },\n html4: {\n strict,\n attribute,\n body: bodyRegExps.html4\n },\n html5: {\n strict,\n attribute,\n body: bodyRegExps.html5\n }\n};\n\nconst decodeRegExps: Record> = {\n ...baseDecodeRegExps,\n all: baseDecodeRegExps.html5\n};\n\nconst fromCharCode = String.fromCharCode;\nconst outOfBoundsChar = fromCharCode(65533);\n\nconst defaultDecodeEntityOptions: CommonOptions = {\n level: 'all'\n};\n\nfunction getDecodedEntity(\n entity: string,\n references: Record,\n isAttribute: boolean,\n isStrict: boolean\n): string {\n let decodeResult = entity;\n const decodeEntityLastChar = entity[entity.length - 1];\n if (isAttribute && decodeEntityLastChar === '=') {\n decodeResult = entity;\n } else if (isStrict && decodeEntityLastChar !== ';') {\n decodeResult = entity;\n } else {\n const decodeResultByReference = references[entity];\n if (decodeResultByReference) {\n decodeResult = decodeResultByReference;\n } else if (entity[0] === '&' && entity[1] === '#') {\n const decodeSecondChar = entity[2];\n const decodeCode =\n decodeSecondChar == 'x' || decodeSecondChar == 'X'\n ? parseInt(entity.substr(3), 16)\n : parseInt(entity.substr(2));\n\n decodeResult =\n decodeCode >= 0x10ffff\n ? outOfBoundsChar\n : decodeCode > 65535\n ? fromCodePoint(decodeCode)\n : fromCharCode(numericUnicodeMap[decodeCode] || decodeCode);\n }\n }\n return decodeResult;\n}\n\n/** Decodes a single entity */\nexport function decodeEntity(\n entity: string | undefined | null,\n {level = 'all'}: CommonOptions = defaultDecodeEntityOptions\n): string {\n if (!entity) {\n return '';\n }\n return getDecodedEntity(entity, allNamedReferences[level].entities, false, false);\n}\n\n/** Decodes all entities in the text */\nexport function decode(\n text: string | undefined | null,\n {level = 'all', scope = level === 'xml' ? 'strict' : 'body'}: DecodeOptions = defaultDecodeOptions\n) {\n if (!text) {\n return '';\n }\n\n const decodeRegExp = decodeRegExps[level][scope];\n const references = allNamedReferences[level].entities;\n const isAttribute = scope === 'attribute';\n const isStrict = scope === 'strict';\n\n return replaceUsingRegExp(text, decodeRegExp, (entity) =>\n getDecodedEntity(entity, references, isAttribute, isStrict)\n );\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/0322205c157db61e9ccfb6e89c5a943940981091a538d4b8f402687a10b0dc6e.json b/Data-Viz/node_modules/.cache/babel-loader/0322205c157db61e9ccfb6e89c5a943940981091a538d4b8f402687a10b0dc6e.json new file mode 100644 index 000000000..47b65e11a --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/0322205c157db61e9ccfb6e89c5a943940981091a538d4b8f402687a10b0dc6e.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar isCallable = require('../internals/is-callable');\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};","map":{"version":3,"names":["isCallable","require","module","exports","it"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/is-object.js"],"sourcesContent":["'use strict';\nvar isCallable = require('../internals/is-callable');\n\nmodule.exports = function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,UAAU,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AAEpDC,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B,OAAO,OAAOA,EAAE,IAAI,QAAQ,GAAGA,EAAE,KAAK,IAAI,GAAGJ,UAAU,CAACI,EAAE,CAAC;AAC7D,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/03a64b448d5a0f1fe74fb3d4ab2b9b9bbbe21ba3fee0eeb127908dc81427e7c9.json b/Data-Viz/node_modules/.cache/babel-loader/03a64b448d5a0f1fe74fb3d4ab2b9b9bbbe21ba3fee0eeb127908dc81427e7c9.json new file mode 100644 index 000000000..50d794f9b --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/03a64b448d5a0f1fe74fb3d4ab2b9b9bbbe21ba3fee0eeb127908dc81427e7c9.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});","map":{"version":3,"names":["V8_VERSION","require","fails","globalThis","$String","String","module","exports","Object","getOwnPropertySymbols","symbol","Symbol","sham"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/symbol-constructor-detection.js"],"sourcesContent":["'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/environment-v8-version');\nvar fails = require('../internals/fails');\nvar globalThis = require('../internals/global-this');\n\nvar $String = globalThis.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n"],"mappings":"AAAA,YAAY;;AACZ;AACA,IAAIA,UAAU,GAAGC,OAAO,CAAC,qCAAqC,CAAC;AAC/D,IAAIC,KAAK,GAAGD,OAAO,CAAC,oBAAoB,CAAC;AACzC,IAAIE,UAAU,GAAGF,OAAO,CAAC,0BAA0B,CAAC;AAEpD,IAAIG,OAAO,GAAGD,UAAU,CAACE,MAAM;;AAE/B;AACAC,MAAM,CAACC,OAAO,GAAG,CAAC,CAACC,MAAM,CAACC,qBAAqB,IAAI,CAACP,KAAK,CAAC,YAAY;EACpE,IAAIQ,MAAM,GAAGC,MAAM,CAAC,kBAAkB,CAAC;EACvC;EACA;EACA;EACA;EACA,OAAO,CAACP,OAAO,CAACM,MAAM,CAAC,IAAI,EAAEF,MAAM,CAACE,MAAM,CAAC,YAAYC,MAAM,CAAC;EAC5D;EACA,CAACA,MAAM,CAACC,IAAI,IAAIZ,UAAU,IAAIA,UAAU,GAAG,EAAE;AACjD,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/04ed9899780a5ff7e5c80b154952455d0d51c7ebb292dfbe1a76896bf86ad04d.json b/Data-Viz/node_modules/.cache/babel-loader/04ed9899780a5ff7e5c80b154952455d0d51c7ebb292dfbe1a76896bf86ad04d.json new file mode 100644 index 000000000..fa17b186c --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/04ed9899780a5ff7e5c80b154952455d0d51c7ebb292dfbe1a76896bf86ad04d.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890\n }],\n delayPredictions: [{\n stopId: 'midtown-marta',\n predictedDelayMinutes: 2,\n routeId: '1',\n eta: generateETA(2)\n }, {\n stopId: 'tech-square',\n predictedDelayMinutes: 6,\n routeId: '1',\n eta: generateETA(6)\n }, {\n stopId: 'klaus',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '1',\n eta: generateETA(12)\n }, {\n stopId: 'weber-turnaround',\n predictedDelayMinutes: 15,\n routeId: '1',\n eta: generateETA(15)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n }, SHARED.crc, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }, SHARED.studentCenter],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970\n }],\n delayPredictions: [{\n stopId: 'klaus',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 5,\n routeId: '2',\n eta: generateETA(5)\n }, {\n stopId: 'curran',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 17,\n routeId: '2',\n eta: generateETA(17)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.3935\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","delayPredictions","stopId","predictedDelayMinutes","routeId","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{ busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890 }],\n delayPredictions: [\n { stopId: 'midtown-marta', predictedDelayMinutes: 2, routeId: '1', eta: generateETA(2) },\n { stopId: 'tech-square', predictedDelayMinutes: 6, routeId: '1', eta: generateETA(6) },\n { stopId: 'klaus', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '1', eta: generateETA(12) },\n { stopId: 'weber-turnaround', predictedDelayMinutes: 15, routeId: '1', eta: generateETA(15) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 },\n SHARED.crc,\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 },\n SHARED.studentCenter\n ],\n busLocations: [{ busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970 }],\n delayPredictions: [\n { stopId: 'klaus', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 5, routeId: '2', eta: generateETA(5) },\n { stopId: 'curran', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'student-center', predictedDelayMinutes: 17, routeId: '2', eta: generateETA(17) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.3935 }\n ],\n busLocations: [{ busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980 }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{ busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900 }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{ busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950 }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/09d3d968bc4cc0fc0ee17792cb36a3fcd2f7104cdac49c8823a5a225f0972de7.json b/Data-Viz/node_modules/.cache/babel-loader/09d3d968bc4cc0fc0ee17792cb36a3fcd2f7104cdac49c8823a5a225f0972de7.json new file mode 100644 index 000000000..6a9b8e8cc --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/09d3d968bc4cc0fc0ee17792cb36a3fcd2f7104cdac49c8823a5a225f0972de7.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};","map":{"version":3,"names":["uncurryThis","require","toString","stringSlice","slice","module","exports","it"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/classof-raw.js"],"sourcesContent":["'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAE/D,IAAIC,QAAQ,GAAGF,WAAW,CAAC,CAAC,CAAC,CAACE,QAAQ,CAAC;AACvC,IAAIC,WAAW,GAAGH,WAAW,CAAC,EAAE,CAACI,KAAK,CAAC;AAEvCC,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B,OAAOJ,WAAW,CAACD,QAAQ,CAACK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/0e14556bfe78b514052dae75de683a1a9cf91005bbe9e94da4cbf57a1a3daa4a.json b/Data-Viz/node_modules/.cache/babel-loader/0e14556bfe78b514052dae75de683a1a9cf91005bbe9e94da4cbf57a1a3daa4a.json new file mode 100644 index 000000000..fc96881df --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/0e14556bfe78b514052dae75de683a1a9cf91005bbe9e94da4cbf57a1a3daa4a.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) {/* empty */}\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};","map":{"version":3,"names":["DESCRIPTORS","require","call","propertyIsEnumerableModule","createPropertyDescriptor","toIndexedObject","toPropertyKey","hasOwn","IE8_DOM_DEFINE","$getOwnPropertyDescriptor","Object","getOwnPropertyDescriptor","exports","f","O","P","error"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/object-get-own-property-descriptor.js"],"sourcesContent":["'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACrD,IAAIC,IAAI,GAAGD,OAAO,CAAC,4BAA4B,CAAC;AAChD,IAAIE,0BAA0B,GAAGF,OAAO,CAAC,4CAA4C,CAAC;AACtF,IAAIG,wBAAwB,GAAGH,OAAO,CAAC,yCAAyC,CAAC;AACjF,IAAII,eAAe,GAAGJ,OAAO,CAAC,gCAAgC,CAAC;AAC/D,IAAIK,aAAa,GAAGL,OAAO,CAAC,8BAA8B,CAAC;AAC3D,IAAIM,MAAM,GAAGN,OAAO,CAAC,+BAA+B,CAAC;AACrD,IAAIO,cAAc,GAAGP,OAAO,CAAC,6BAA6B,CAAC;;AAE3D;AACA,IAAIQ,yBAAyB,GAAGC,MAAM,CAACC,wBAAwB;;AAE/D;AACA;AACAC,OAAO,CAACC,CAAC,GAAGb,WAAW,GAAGS,yBAAyB,GAAG,SAASE,wBAAwBA,CAACG,CAAC,EAAEC,CAAC,EAAE;EAC5FD,CAAC,GAAGT,eAAe,CAACS,CAAC,CAAC;EACtBC,CAAC,GAAGT,aAAa,CAACS,CAAC,CAAC;EACpB,IAAIP,cAAc,EAAE,IAAI;IACtB,OAAOC,yBAAyB,CAACK,CAAC,EAAEC,CAAC,CAAC;EACxC,CAAC,CAAC,OAAOC,KAAK,EAAE,CAAE;EAClB,IAAIT,MAAM,CAACO,CAAC,EAAEC,CAAC,CAAC,EAAE,OAAOX,wBAAwB,CAAC,CAACF,IAAI,CAACC,0BAA0B,CAACU,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAC,EAAED,CAAC,CAACC,CAAC,CAAC,CAAC;AACpG,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/125f0e6ec9017c280a36abc1b9c77538c1ec7c6d822a1dad1986642ad2be6c86.json b/Data-Viz/node_modules/.cache/babel-loader/125f0e6ec9017c280a36abc1b9c77538c1ec7c6d822a1dad1986642ad2be6c86.json new file mode 100644 index 000000000..de272377c --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/125f0e6ec9017c280a36abc1b9c77538c1ec7c6d822a1dad1986642ad2be6c86.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/pages/Home/Home.tsx\";\nimport React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport styles from \"./Home.module.css\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst Home = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"header\", {\n className: styles.header,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n className: styles.title,\n children: \"Georgia Tech Stinger Shuttle Delay Visualizer\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.subtitle,\n children: \"A Georgia Tech's Big Data Big Impact project.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"section\", {\n className: styles.content,\n children: [/*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.paragraph,\n children: \"Select a feature to begin:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 18,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.links,\n children: [/*#__PURE__*/_jsxDEV(Link, {\n to: \"/plan-trip\",\n className: styles.linkButton,\n children: \"Plan Your Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 21,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/bus-routes\",\n className: styles.linkButton,\n children: \"View Bus Routes\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 25,\n columnNumber: 11\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 20,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 17,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"footer\", {\n className: styles.footer,\n children: [\"\\xA9 \", new Date().getFullYear(), \" Stinger Delay\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 31,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 5\n }, this);\n};\n_c = Home;\nexport default Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");","map":{"version":3,"names":["React","Link","styles","jsxDEV","_jsxDEV","Home","className","container","children","header","title","fileName","_jsxFileName","lineNumber","columnNumber","subtitle","content","paragraph","links","to","linkButton","footer","Date","getFullYear","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/pages/Home/Home.tsx"],"sourcesContent":["import React from \"react\";\nimport { Link } from \"react-router-dom\";\nimport styles from \"./Home.module.css\";\n\nconst Home: React.FC = () => {\n return (\n
\n
\n

\n Georgia Tech Stinger Shuttle Delay Visualizer\n

\n

\n A Georgia Tech's Big Data Big Impact project.\n

\n
\n\n
\n

Select a feature to begin:

\n\n
\n \n Plan Your Trip\n \n\n \n View Bus Routes\n \n
\n
\n\n
\n © {new Date().getFullYear()} Stinger Delay\n
\n
\n );\n};\n\nexport default Home;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,QAAQ,kBAAkB;AACvC,OAAOC,MAAM,MAAM,mBAAmB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEvC,MAAMC,IAAc,GAAGA,CAAA,KAAM;EAC3B,oBACED,OAAA;IAAKE,SAAS,EAAEJ,MAAM,CAACK,SAAU;IAAAC,QAAA,gBAC/BJ,OAAA;MAAQE,SAAS,EAAEJ,MAAM,CAACO,MAAO;MAAAD,QAAA,gBAC/BJ,OAAA;QAAIE,SAAS,EAAEJ,MAAM,CAACQ,KAAM;QAAAF,QAAA,EAAC;MAE7B;QAAAG,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAI,CAAC,eACLV,OAAA;QAAGE,SAAS,EAAEJ,MAAM,CAACa,QAAS;QAAAP,QAAA,EAAC;MAE/B;QAAAG,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAG,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACE,CAAC,eAETV,OAAA;MAASE,SAAS,EAAEJ,MAAM,CAACc,OAAQ;MAAAR,QAAA,gBACjCJ,OAAA;QAAGE,SAAS,EAAEJ,MAAM,CAACe,SAAU;QAAAT,QAAA,EAAC;MAA0B;QAAAG,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAG,CAAC,eAE9DV,OAAA;QAAKE,SAAS,EAAEJ,MAAM,CAACgB,KAAM;QAAAV,QAAA,gBAC3BJ,OAAA,CAACH,IAAI;UAACkB,EAAE,EAAC,YAAY;UAACb,SAAS,EAAEJ,MAAM,CAACkB,UAAW;UAAAZ,QAAA,EAAC;QAEpD;UAAAG,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM,CAAC,eAEPV,OAAA,CAACH,IAAI;UAACkB,EAAE,EAAC,aAAa;UAACb,SAAS,EAAEJ,MAAM,CAACkB,UAAW;UAAAZ,QAAA,EAAC;QAErD;UAAAG,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAM,CAAC;MAAA;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OACJ,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACC,CAAC,eAEVV,OAAA;MAAQE,SAAS,EAAEJ,MAAM,CAACmB,MAAO;MAAAb,QAAA,GAAC,OACzB,EAAC,IAAIc,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,EAAC,gBACnC;IAAA;MAAAZ,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAAQ,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACN,CAAC;AAEV,CAAC;AAACU,EAAA,GA/BInB,IAAc;AAiCpB,eAAeA,IAAI;AAAC,IAAAmB,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/16fcddc4597ac2db3c428aba1fa13032f75c3672b48853c6681857020bb13218.json b/Data-Viz/node_modules/.cache/babel-loader/16fcddc4597ac2db3c428aba1fa13032f75c3672b48853c6681857020bb13218.json new file mode 100644 index 000000000..e6da3e729 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/16fcddc4597ac2db3c428aba1fa13032f75c3672b48853c6681857020bb13218.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = true;","map":{"version":3,"names":["module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/is-pure.js"],"sourcesContent":["'use strict';\nmodule.exports = true;\n"],"mappings":"AAAA,YAAY;;AACZA,MAAM,CAACC,OAAO,GAAG,IAAI","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/18b7143597d9153b21bc0e0ea4471aba2cbd22b98507eed083e1b4264fcfc06d.json b/Data-Viz/node_modules/.cache/babel-loader/18b7143597d9153b21bc0e0ea4471aba2cbd22b98507eed083e1b4264fcfc06d.json new file mode 100644 index 000000000..0c1c73466 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/18b7143597d9153b21bc0e0ea4471aba2cbd22b98507eed083e1b4264fcfc06d.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};","map":{"version":3,"names":["module","exports","url","options","String","__esModule","default","test","slice","hash","needQuotes","concat","replace"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/css-loader/dist/runtime/getUrl.js"],"sourcesContent":["\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n options = {};\n }\n if (!url) {\n return url;\n }\n url = String(url.__esModule ? url.default : url);\n\n // If url is already wrapped in quotes, remove them\n if (/^['\"].*['\"]$/.test(url)) {\n url = url.slice(1, -1);\n }\n if (options.hash) {\n url += options.hash;\n }\n\n // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n if (/[\"'() \\t\\n]|(%20)/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n return url;\n};"],"mappings":"AAAA,YAAY;;AAEZA,MAAM,CAACC,OAAO,GAAG,UAAUC,GAAG,EAAEC,OAAO,EAAE;EACvC,IAAI,CAACA,OAAO,EAAE;IACZA,OAAO,GAAG,CAAC,CAAC;EACd;EACA,IAAI,CAACD,GAAG,EAAE;IACR,OAAOA,GAAG;EACZ;EACAA,GAAG,GAAGE,MAAM,CAACF,GAAG,CAACG,UAAU,GAAGH,GAAG,CAACI,OAAO,GAAGJ,GAAG,CAAC;;EAEhD;EACA,IAAI,cAAc,CAACK,IAAI,CAACL,GAAG,CAAC,EAAE;IAC5BA,GAAG,GAAGA,GAAG,CAACM,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EACxB;EACA,IAAIL,OAAO,CAACM,IAAI,EAAE;IAChBP,GAAG,IAAIC,OAAO,CAACM,IAAI;EACrB;;EAEA;EACA;EACA,IAAI,mBAAmB,CAACF,IAAI,CAACL,GAAG,CAAC,IAAIC,OAAO,CAACO,UAAU,EAAE;IACvD,OAAO,IAAI,CAACC,MAAM,CAACT,GAAG,CAACU,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC;EAC1E;EACA,OAAOV,GAAG;AACZ,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/19f4389d191c56d1a4c2cb1c40915d1a2d004146d2018135aa8981bf5786fab6.json b/Data-Viz/node_modules/.cache/babel-loader/19f4389d191c56d1a4c2cb1c40915d1a2d004146d2018135aa8981bf5786fab6.json new file mode 100644 index 000000000..fa5de2770 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/19f4389d191c56d1a4c2cb1c40915d1a2d004146d2018135aa8981bf5786fab6.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'midtown-marta',\n predictedDelayMinutes: 2,\n routeId: '1',\n eta: generateETA(2)\n }, {\n stopId: 'tech-square',\n predictedDelayMinutes: 6,\n routeId: '1',\n eta: generateETA(6)\n }, {\n stopId: 'klaus',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '1',\n eta: generateETA(12)\n }, {\n stopId: 'weber-turnaround',\n predictedDelayMinutes: 15,\n routeId: '1',\n eta: generateETA(15)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n }, SHARED.crc, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }, SHARED.studentCenter],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'klaus',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 5,\n routeId: '2',\n eta: generateETA(5)\n }, {\n stopId: 'curran',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 17,\n routeId: '2',\n eta: generateETA(17)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7755,\n longitude: -84.3918\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'midtown-marta', predictedDelayMinutes: 2, routeId: '1', eta: generateETA(2) },\n { stopId: 'tech-square', predictedDelayMinutes: 6, routeId: '1', eta: generateETA(6) },\n { stopId: 'klaus', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '1', eta: generateETA(12) },\n { stopId: 'weber-turnaround', predictedDelayMinutes: 15, routeId: '1', eta: generateETA(15) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 },\n SHARED.crc,\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 },\n SHARED.studentCenter\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'klaus', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 5, routeId: '2', eta: generateETA(5) },\n { stopId: 'curran', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'student-center', predictedDelayMinutes: 17, routeId: '2', eta: generateETA(17) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7755, longitude: -84.3918 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/1a525d1a57c94445eabd42cc6575c524099c221191130fa8406cadb5b4778e50.json b/Data-Viz/node_modules/.cache/babel-loader/1a525d1a57c94445eabd42cc6575c524099c221191130fa8406cadb5b4778e50.json new file mode 100644 index 000000000..b02fb66bd --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/1a525d1a57c94445eabd42cc6575c524099c221191130fa8406cadb5b4778e50.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst PlanTripPage = () => {\n _s();\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState(null);\n const [toCoords, setToCoords] = useState(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n const GT_CENTER = [33.7756, -84.3963];\n\n // Expanded list of GT locations\n const popularLocations = [{\n name: \"Student Center\",\n lat: 33.7738,\n lng: -84.3986\n }, {\n name: \"Klaus Advanced Computing Building\",\n lat: 33.7772,\n lng: -84.3956\n }, {\n name: \"Tech Square\",\n lat: 33.7764,\n lng: -84.3889\n }, {\n name: \"Campus Recreation Center (CRC)\",\n lat: 33.7758,\n lng: -84.4025\n }, {\n name: \"Price Gilbert Library\",\n lat: 33.7746,\n lng: -84.3967\n }, {\n name: \"Bobby Dodd Stadium\",\n lat: 33.7722,\n lng: -84.3922\n }, {\n name: \"Midtown MARTA Station\",\n lat: 33.7812,\n lng: -84.3867\n }, {\n name: \"College of Computing\",\n lat: 33.7778,\n lng: -84.3975\n }, {\n name: \"Clough Undergraduate Learning Commons\",\n lat: 33.7751,\n lng: -84.3963\n }, {\n name: \"Kendeda Building\",\n lat: 33.7773,\n lng: -84.4005\n }, {\n name: \"Van Leer Building\",\n lat: 33.7758,\n lng: -84.3968\n }, {\n name: \"Howey Physics Building\",\n lat: 33.7775,\n lng: -84.3990\n }, {\n name: \"Molecular Science Building\",\n lat: 33.7783,\n lng: -84.3994\n }, {\n name: \"Instructional Center\",\n lat: 33.7754,\n lng: -84.3982\n }, {\n name: \"Skiles Classroom Building\",\n lat: 33.7741,\n lng: -84.3955\n }, {\n name: \"Weber Space Science Building\",\n lat: 33.7725,\n lng: -84.3951\n }, {\n name: \"Ferst Center for the Arts\",\n lat: 33.7732,\n lng: -84.3977\n }, {\n name: \"North Avenue Apartments\",\n lat: 33.7780,\n lng: -84.4035\n }, {\n name: \"East Campus Apartments\",\n lat: 33.7705,\n lng: -84.3880\n }, {\n name: \"Georgia Tech Hotel\",\n lat: 33.7763,\n lng: -84.3878\n }, {\n name: \"GTRI Research Building\",\n lat: 33.7820,\n lng: -84.3870\n }, {\n name: \"Techwood Drive Apartments\",\n lat: 33.7695,\n lng: -84.3850\n }, {\n name: \"Curran Parking Deck\",\n lat: 33.7795,\n lng: -84.4010\n }, {\n name: \"Fifth Street Bridge\",\n lat: 33.7775,\n lng: -84.3910\n }, {\n name: \"Manufacture Building\",\n lat: 33.7765,\n lng: -84.4015\n }];\n\n // Custom marker icons (same as before)\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n useEffect(() => {\n loadMockData();\n }, []);\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n const loadMockData = () => {\n setLoading(true);\n setRoutes(mockRoutes);\n const allStops = [];\n const stopIds = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopIds.has(stop.id)) {\n stopIds.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n const calculateDistance = (lat1, lon1, lat2, lon2) => {\n const toRadian = angle => Math.PI / 180 * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) * Math.sin(dLon / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = R * c;\n return distance;\n };\n const findNearestStop = (lat, lng) => {\n let nearestStop = stops[0];\n let minDistance = calculateDistance(lat, lng, stops[0].latitude, stops[0].longitude);\n stops.forEach(stop => {\n const distance = calculateDistance(lat, lng, stop.latitude, stop.longitude);\n if (distance < minDistance) {\n minDistance = distance;\n nearestStop = stop;\n }\n });\n return nearestStop;\n };\n const handleFromLocationSelect = e => {\n const locationName = e.target.value;\n setFromLocation(locationName);\n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setFromCoords({\n lat: location.lat,\n lng: location.lng\n });\n }\n };\n const handleToLocationSelect = e => {\n const locationName = e.target.value;\n setToLocation(locationName);\n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setToCoords({\n lat: location.lat,\n lng: location.lng\n });\n }\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n if (markersRef.current && markersRef.current.length > 0) {\n markersRef.current.forEach(marker => {\n if (marker && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(marker);\n }\n });\n }\n markersRef.current = [];\n if (routeLineRef.current && routeLineRef.current.length > 0) {\n routeLineRef.current.forEach(line => {\n if (line && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(line);\n }\n });\n }\n routeLineRef.current = [];\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const allCoordinates = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n const marker = L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([[fromCoords.lat, fromCoords.lng], [result.startStop.latitude, result.startStop.longitude]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n result.segments.forEach((segment, index) => {\n const coordinates = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n const line = L.polyline(coordinates, {\n color: colors[index % colors.length],\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(line);\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n const marker = L.marker([stop.latitude, stop.longitude], {\n icon\n }).bindPopup(popupText).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n });\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n const marker = L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([[result.endStop.latitude, result.endStop.longitude], [toCoords.lat, toCoords.lng]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, {\n padding: [50, 50]\n });\n }\n };\n const findOptimalRoute = () => {\n if (!fromCoords || !toCoords) {\n setError(\"Please select both starting location and destination.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n setSearching(true);\n setError(\"\");\n setResult(null);\n setTimeout(() => {\n try {\n const startStop = findNearestStop(fromCoords.lat, fromCoords.lng);\n const endStop = findNearestStop(toCoords.lat, toCoords.lng);\n const walkDistStart = calculateDistance(fromCoords.lat, fromCoords.lng, startStop.latitude, startStop.longitude);\n const walkDistEnd = calculateDistance(toCoords.lat, toCoords.lng, endStop.latitude, endStop.longitude);\n console.log(`Nearest start stop: ${startStop.name} (${(walkDistStart * 1000).toFixed(0)}m away)`);\n console.log(`Nearest end stop: ${endStop.name} (${(walkDistEnd * 1000).toFixed(0)}m away)`);\n const result = findRouteWithBFS(startStop.id, endStop.id);\n if (result) {\n setResult({\n ...result,\n startStop,\n endStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these locations. Try different locations.\");\n }\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n console.error(err);\n } finally {\n setSearching(false);\n }\n }, 500);\n };\n const findRouteWithBFS = (startStopId, endStopId) => {\n const queue = [];\n const best = {};\n\n // Enqueue every route containing the start stop, at every index\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n while (queue.length > 0) {\n const current = queue.shift();\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route === null || route === void 0 ? void 0 : route.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n\n // Try both forward and backward directions\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n\n // Found the destination!\n if (stop.id === endStopId) {\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n\n // Transfer opportunities: check all other routes for this stop\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s => s.id === stop.id || s.name === stop.name);\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (!current.visitedCombo.has(key) && (best[key] === undefined || best[key] > current.transfers + 1)) {\n // Make segment to here, transfer\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n i += dir;\n }\n }\n }\n return null; // No route found\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.center,\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDE8C Loading GT Bus Data...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 474,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 473,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"\\uD83D\\uDE8C Plan Your GT Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 481,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Enter your location and destination - we'll find the best route with unlimited transfers!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 482,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.gridContainer,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.formPanel,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Plan Your Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 486,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.form,\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFC1 Starting Location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 489,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: fromLocation,\n onChange: handleFromLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select starting location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 495,\n columnNumber: 15\n }, this), popularLocations.map(loc => /*#__PURE__*/_jsxDEV(\"option\", {\n value: loc.name,\n children: loc.name\n }, loc.name, false, {\n fileName: _jsxFileName,\n lineNumber: 497,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 490,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFAF Destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 503,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: toLocation,\n onChange: handleToLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 509,\n columnNumber: 15\n }, this), popularLocations.map(loc => /*#__PURE__*/_jsxDEV(\"option\", {\n value: loc.name,\n children: loc.name\n }, loc.name, false, {\n fileName: _jsxFileName,\n lineNumber: 511,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 504,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: findOptimalRoute,\n disabled: searching,\n children: searching ? \"Finding Route...\" : \"Find Best Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 517,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.error,\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 521,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 488,\n columnNumber: 11\n }, this), result && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.result,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\u2705 Route Found\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 526,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: result.transfers === 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: \"\\uD83D\\uDE8C Direct route - No transfers needed!\"\n }, void 0, false) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [\"\\uD83D\\uDD04 \", result.transfers, \" transfer\", result.transfers > 1 ? 's' : '', \" required\"]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 527,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceStart * 1000).toFixed(0), \"m to \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.startStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 536,\n columnNumber: 82\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 536,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 535,\n columnNumber: 15\n }, this), result.segments.map((segment, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.segment,\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: [index === 0 ? '🟢' : '🔄', \" \", segment.route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 541,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Board at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.fromStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 544,\n columnNumber: 32\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 544,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Ride \", segment.stops.length - 1, \" stop\", segment.stops.length > 2 ? 's' : '']\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 545,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Exit at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.toStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 546,\n columnNumber: 31\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 546,\n columnNumber: 19\n }, this), index < result.segments.length - 1 && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.transfer,\n children: [\"\\u2193 Transfer to \", result.segments[index + 1].route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 548,\n columnNumber: 21\n }, this)]\n }, index, true, {\n fileName: _jsxFileName,\n lineNumber: 540,\n columnNumber: 17\n }, this)), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m to destination\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 556,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 555,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.stats,\n children: [\"Total: \", result.totalStops, \" bus stops + \", ((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0), \"m walking\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 559,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 525,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 485,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.mapPanel,\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n ref: mapRef,\n className: styles.map\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 567,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 566,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 484,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n className: styles.linkButton,\n children: \"\\u2190 Return Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 571,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 480,\n columnNumber: 5\n }, this);\n};\n_s(PlanTripPage, \"BJkWI6YcChkCwBdhobILpv/9/gE=\");\n_c = PlanTripPage;\nexport default PlanTripPage;\nvar _c;\n$RefreshReg$(_c, \"PlanTripPage\");","map":{"version":3,"names":["React","useState","useEffect","useRef","Link","L","styles","mockRoutes","jsxDEV","_jsxDEV","Fragment","_Fragment","PlanTripPage","_s","routes","setRoutes","stops","setStops","fromLocation","setFromLocation","toLocation","setToLocation","fromCoords","setFromCoords","toCoords","setToCoords","loading","setLoading","searching","setSearching","result","setResult","error","setError","mapRef","mapInstanceRef","markersRef","routeLineRef","GT_CENTER","popularLocations","name","lat","lng","startIcon","icon","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","endIcon","transferIcon","stopIcon","loadMockData","current","length","initMap","updateMap","allStops","stopIds","Set","forEach","route","stop","has","id","add","push","map","setView","tileLayer","attribution","addTo","calculateDistance","lat1","lon1","lat2","lon2","toRadian","angle","Math","PI","R","dLat","dLon","a","sin","cos","c","atan2","sqrt","distance","findNearestStop","nearestStop","minDistance","latitude","longitude","handleFromLocationSelect","e","locationName","target","value","location","find","loc","handleToLocationSelect","clearMarkers","marker","removeLayer","line","allCoordinates","colors","bindPopup","startStop","walkLine","polyline","color","weight","opacity","dashArray","segments","segment","index","coordinates","s","stopIndex","popupText","endStop","bounds","latLngBounds","fitBounds","padding","findOptimalRoute","setTimeout","walkDistStart","walkDistEnd","console","log","toFixed","findRouteWithBFS","walkingDistanceStart","walkingDistanceEnd","err","startStopId","endStopId","queue","best","idx","stopId","routeId","transfers","visitedCombo","shift","r","curIdx","findIndex","undefined","dir","i","fromStop","toStop","slice","min","max","allSegments","totalStops","reduce","sum","seg","otherRoute","transferIdx","key","newVisitedCombo","className","center","children","fileName","_jsxFileName","lineNumber","columnNumber","container","gridContainer","formPanel","form","onChange","select","onClick","disabled","highlight","walking","transfer","stats","mapPanel","ref","to","linkButton","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { Route } from \"@/types/route\";\nimport { Stop } from \"@/types/stop\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\n\ninterface RouteSegment {\n route: Route;\n fromStop: Stop;\n toStop: Stop;\n stops: Stop[];\n}\n\ninterface RouteResult {\n segments: RouteSegment[];\n totalStops: number;\n transfers: number;\n startStop: Stop;\n endStop: Stop;\n walkingDistanceStart: number;\n walkingDistanceEnd: number;\n}\n\nconst PlanTripPage: React.FC = () => {\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState<{lat: number, lng: number} | null>(null);\n const [toCoords, setToCoords] = useState<{lat: number, lng: number} | null>(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n\n const GT_CENTER: [number, number] = [33.7756, -84.3963];\n\n // Expanded list of GT locations\n const popularLocations = [\n { name: \"Student Center\", lat: 33.7738, lng: -84.3986 },\n { name: \"Klaus Advanced Computing Building\", lat: 33.7772, lng: -84.3956 },\n { name: \"Tech Square\", lat: 33.7764, lng: -84.3889 },\n { name: \"Campus Recreation Center (CRC)\", lat: 33.7758, lng: -84.4025 },\n { name: \"Price Gilbert Library\", lat: 33.7746, lng: -84.3967 },\n { name: \"Bobby Dodd Stadium\", lat: 33.7722, lng: -84.3922 },\n { name: \"Midtown MARTA Station\", lat: 33.7812, lng: -84.3867 },\n { name: \"College of Computing\", lat: 33.7778, lng: -84.3975 },\n { name: \"Clough Undergraduate Learning Commons\", lat: 33.7751, lng: -84.3963 },\n { name: \"Kendeda Building\", lat: 33.7773, lng: -84.4005 },\n { name: \"Van Leer Building\", lat: 33.7758, lng: -84.3968 },\n { name: \"Howey Physics Building\", lat: 33.7775, lng: -84.3990 },\n { name: \"Molecular Science Building\", lat: 33.7783, lng: -84.3994 },\n { name: \"Instructional Center\", lat: 33.7754, lng: -84.3982 },\n { name: \"Skiles Classroom Building\", lat: 33.7741, lng: -84.3955 },\n { name: \"Weber Space Science Building\", lat: 33.7725, lng: -84.3951 },\n { name: \"Ferst Center for the Arts\", lat: 33.7732, lng: -84.3977 },\n { name: \"North Avenue Apartments\", lat: 33.7780, lng: -84.4035 },\n { name: \"East Campus Apartments\", lat: 33.7705, lng: -84.3880 },\n { name: \"Georgia Tech Hotel\", lat: 33.7763, lng: -84.3878 },\n { name: \"GTRI Research Building\", lat: 33.7820, lng: -84.3870 },\n { name: \"Techwood Drive Apartments\", lat: 33.7695, lng: -84.3850 },\n { name: \"Curran Parking Deck\", lat: 33.7795, lng: -84.4010 },\n { name: \"Fifth Street Bridge\", lat: 33.7775, lng: -84.3910 },\n { name: \"Manufacture Building\", lat: 33.7765, lng: -84.4015 },\n ];\n\n // Custom marker icons (same as before)\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n\n useEffect(() => {\n loadMockData();\n }, []);\n\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n\n const loadMockData = () => {\n setLoading(true);\n setRoutes(mockRoutes);\n\n const allStops: Stop[] = [];\n const stopIds = new Set();\n\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopIds.has(stop.id)) {\n stopIds.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n\n setStops(allStops);\n setLoading(false);\n };\n\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n \n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n\n mapInstanceRef.current = map;\n };\n\n const calculateDistance = (lat1: number, lon1: number, lat2: number, lon2: number): number => {\n const toRadian = (angle: number) => (Math.PI / 180) * angle;\n const R = 6371;\n \n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n \n const a = \n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) *\n Math.sin(dLon / 2) * Math.sin(dLon / 2);\n \n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = R * c;\n \n return distance;\n };\n\n const findNearestStop = (lat: number, lng: number): Stop => {\n let nearestStop = stops[0];\n let minDistance = calculateDistance(lat, lng, stops[0].latitude, stops[0].longitude);\n\n stops.forEach(stop => {\n const distance = calculateDistance(lat, lng, stop.latitude, stop.longitude);\n if (distance < minDistance) {\n minDistance = distance;\n nearestStop = stop;\n }\n });\n\n return nearestStop;\n };\n\n const handleFromLocationSelect = (e: React.ChangeEvent) => {\n const locationName = e.target.value;\n setFromLocation(locationName);\n \n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setFromCoords({ lat: location.lat, lng: location.lng });\n }\n };\n\n const handleToLocationSelect = (e: React.ChangeEvent) => {\n const locationName = e.target.value;\n setToLocation(locationName);\n \n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setToCoords({ lat: location.lat, lng: location.lng });\n }\n };\n\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n\n if (markersRef.current && markersRef.current.length > 0) {\n markersRef.current.forEach(marker => {\n if (marker && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(marker);\n }\n });\n }\n markersRef.current = [];\n \n if (routeLineRef.current && routeLineRef.current.length > 0) {\n routeLineRef.current.forEach(line => {\n if (line && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(line);\n }\n });\n }\n routeLineRef.current = [];\n };\n\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n\n clearMarkers();\n\n const allCoordinates: [number, number][] = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n const marker = L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n\n const walkLine = L.polyline([\n [fromCoords.lat, fromCoords.lng],\n [result.startStop.latitude, result.startStop.longitude]\n ], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n\n result.segments.forEach((segment, index) => {\n const coordinates: [number, number][] = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n\n const line = L.polyline(coordinates, {\n color: colors[index % colors.length],\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current!);\n routeLineRef.current.push(line);\n\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n\n const marker = L.marker([stop.latitude, stop.longitude], { icon })\n .bindPopup(popupText)\n .addTo(mapInstanceRef.current!);\n markersRef.current.push(marker);\n });\n });\n\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n const marker = L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n\n const walkLine = L.polyline([\n [result.endStop.latitude, result.endStop.longitude],\n [toCoords.lat, toCoords.lng]\n ], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, { padding: [50, 50] });\n }\n };\n\n const findOptimalRoute = () => {\n if (!fromCoords || !toCoords) {\n setError(\"Please select both starting location and destination.\");\n return;\n }\n\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n\n setSearching(true);\n setError(\"\");\n setResult(null);\n\n setTimeout(() => {\n try {\n const startStop = findNearestStop(fromCoords.lat, fromCoords.lng);\n const endStop = findNearestStop(toCoords.lat, toCoords.lng);\n\n const walkDistStart = calculateDistance(fromCoords.lat, fromCoords.lng, startStop.latitude, startStop.longitude);\n const walkDistEnd = calculateDistance(toCoords.lat, toCoords.lng, endStop.latitude, endStop.longitude);\n\n console.log(`Nearest start stop: ${startStop.name} (${(walkDistStart * 1000).toFixed(0)}m away)`);\n console.log(`Nearest end stop: ${endStop.name} (${(walkDistEnd * 1000).toFixed(0)}m away)`);\n\n const result = findRouteWithBFS(startStop.id, endStop.id);\n \n if (result) {\n setResult({\n ...result,\n startStop,\n endStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these locations. Try different locations.\");\n }\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n console.error(err);\n } finally {\n setSearching(false);\n }\n }, 500);\n };\n\n const findRouteWithBFS = (\n startStopId: string,\n endStopId: string\n): Omit | null => {\n interface BFSNode {\n stopId: string;\n routeId: string;\n segments: RouteSegment[];\n transfers: number;\n visitedCombo: Set; // \"stopId:routeId\"\n }\n\n const queue: BFSNode[] = [];\n const best: Record = {};\n\n // Enqueue every route containing the start stop, at every index\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n\n while (queue.length > 0) {\n const current = queue.shift()!;\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route?.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n\n // Try both forward and backward directions\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n\n // Found the destination!\n if (stop.id === endStopId) {\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n\n // Transfer opportunities: check all other routes for this stop\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s =>\n s.id === stop.id || s.name === stop.name\n );\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (\n !current.visitedCombo.has(key) &&\n (best[key] === undefined || best[key] > current.transfers + 1)\n ) {\n // Make segment to here, transfer\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n\n i += dir;\n }\n }\n }\n return null; // No route found\n};\n\n\n if (loading) {\n return (\n
\n

🚌 Loading GT Bus Data...

\n
\n );\n }\n\n return (\n
\n

🚌 Plan Your GT Trip

\n

Enter your location and destination - we'll find the best route with unlimited transfers!

\n\n
\n
\n

Plan Your Route

\n\n
\n \n \n \n {popularLocations.map((loc) => (\n \n ))}\n \n\n \n \n \n {popularLocations.map((loc) => (\n \n ))}\n \n\n \n\n {error &&

{error}

}\n
\n\n {result && (\n
\n

✅ Route Found

\n

\n {result.transfers === 0 ? (\n <>🚌 Direct route - No transfers needed!\n ) : (\n <>🔄 {result.transfers} transfer{result.transfers > 1 ? 's' : ''} required\n )}\n

\n \n
\n

🚶 Walk {(result.walkingDistanceStart * 1000).toFixed(0)}m to {result.startStop.name}

\n
\n\n {result.segments.map((segment, index) => (\n
\n

\n {index === 0 ? '🟢' : '🔄'} {segment.route.name}\n

\n

Board at: {segment.fromStop.name}

\n

Ride {segment.stops.length - 1} stop{segment.stops.length > 2 ? 's' : ''}

\n

Exit at: {segment.toStop.name}

\n {index < result.segments.length - 1 && (\n

\n ↓ Transfer to {result.segments[index + 1].route.name}\n

\n )}\n
\n ))}\n\n
\n

🚶 Walk {(result.walkingDistanceEnd * 1000).toFixed(0)}m to destination

\n
\n \n

\n Total: {result.totalStops} bus stops + {((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0)}m walking\n

\n
\n )}\n
\n\n
\n
\n
\n
\n\n \n ← Return Home\n \n
\n );\n};\n\nexport default PlanTripPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/1a8a6d0e49fec6ec7742330440a8996d7664b93708d972b2f75d63eb92af1c91.json b/Data-Viz/node_modules/.cache/babel-loader/1a8a6d0e49fec6ec7742330440a8996d7664b93708d972b2f75d63eb92af1c91.json new file mode 100644 index 000000000..80bdafef6 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/1a8a6d0e49fec6ec7742330440a8996d7664b93708d972b2f75d63eb92af1c91.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar fails = require('../internals/fails');\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = function () {/* empty */}.bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});","map":{"version":3,"names":["fails","require","module","exports","test","bind","hasOwnProperty"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/function-bind-native.js"],"sourcesContent":["'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,KAAK,GAAGC,OAAO,CAAC,oBAAoB,CAAC;AAEzCC,MAAM,CAACC,OAAO,GAAG,CAACH,KAAK,CAAC,YAAY;EAClC;EACA,IAAII,IAAI,GAAI,YAAY,CAAE,YAAa,CAAEC,IAAI,CAAC,CAAC;EAC/C;EACA,OAAO,OAAOD,IAAI,IAAI,UAAU,IAAIA,IAAI,CAACE,cAAc,CAAC,WAAW,CAAC;AACtE,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/1d45ca6e52dce2ecf4ccb92ee5d7b97aedac12acc6d65ce0dddf58ee117e2080.json b/Data-Viz/node_modules/.cache/babel-loader/1d45ca6e52dce2ecf4ccb92ee5d7b97aedac12acc6d65ce0dddf58ee117e2080.json new file mode 100644 index 000000000..a33990221 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/1d45ca6e52dce2ecf4ccb92ee5d7b97aedac12acc6d65ce0dddf58ee117e2080.json @@ -0,0 +1 @@ +{"ast":null,"code":"/** @license React vundefined\n * react-refresh-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function () {\n 'use strict';\n\n // ATTENTION\n // When adding new symbols to this file,\n // Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n // The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n // nor polyfill, then a plain number is used for performance.\n var REACT_ELEMENT_TYPE = 0xeac7;\n var REACT_PORTAL_TYPE = 0xeaca;\n var REACT_FRAGMENT_TYPE = 0xeacb;\n var REACT_STRICT_MODE_TYPE = 0xeacc;\n var REACT_PROFILER_TYPE = 0xead2;\n var REACT_PROVIDER_TYPE = 0xeacd;\n var REACT_CONTEXT_TYPE = 0xeace;\n var REACT_FORWARD_REF_TYPE = 0xead0;\n var REACT_SUSPENSE_TYPE = 0xead1;\n var REACT_SUSPENSE_LIST_TYPE = 0xead8;\n var REACT_MEMO_TYPE = 0xead3;\n var REACT_LAZY_TYPE = 0xead4;\n var REACT_SCOPE_TYPE = 0xead7;\n var REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\n var REACT_OFFSCREEN_TYPE = 0xeae2;\n var REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\n var REACT_CACHE_TYPE = 0xeae4;\n if (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n REACT_CACHE_TYPE = symbolFor('react.cache');\n }\n var PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n // It's OK to reference families, but use WeakMap/Set for types.\n\n var allFamiliesByID = new Map();\n var allFamiliesByType = new PossiblyWeakMap();\n var allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n // that have actually been edited here. This keeps checks fast.\n // $FlowIssue\n\n var updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n // It is an array of [Family, NextType] tuples.\n\n var pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\n var helpersByRendererID = new Map();\n var helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\n var mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\n var failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n // It needs to be weak because we do this even for roots that failed to mount.\n // If there is no WeakMap, we won't attempt to do retrying.\n // $FlowIssue\n\n var rootElements =\n // $FlowIssue\n typeof WeakMap === 'function' ? new WeakMap() : null;\n var isPerformingRefresh = false;\n function computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n var fullKey = signature.ownKey;\n var hooks;\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n var nestedHookSignature = allSignaturesByType.get(hook);\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n var nestedHookKey = computeFullKey(nestedHookSignature);\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n signature.fullKey = fullKey;\n return fullKey;\n }\n function haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n if (nextSignature.forceReset) {\n return false;\n }\n return true;\n }\n function isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n }\n function canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n return false;\n }\n function resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n } // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n function cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n }\n function cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n } // This is a safety mechanism to protect against rogue getters and Proxies.\n\n function getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n }\n function performReactRefresh() {\n if (pendingUpdates.length === 0) {\n return null;\n }\n if (isPerformingRefresh) {\n return null;\n }\n isPerformingRefresh = true;\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n if (!failedRoots.has(root)) {// No longer failed.\n }\n if (rootElements === null) {\n return;\n }\n if (!rootElements.has(root)) {\n return;\n }\n var element = rootElements.get(root);\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n }\n });\n if (didError) {\n throw firstError;\n }\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n }\n function register(type, id) {\n {\n if (type === null) {\n return;\n }\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n var family = allFamiliesByID.get(id);\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n }\n function setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n } // This is lazily called during first render for a type.\n // It captures Hook list at that time so inline requires don't break comparisons.\n\n function collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n }\n function getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n }\n function getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n }\n function findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n }\n function injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n var oldInject = hook.inject;\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null;\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ;else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n }\n function hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n } // Exposed for testing.\n\n function _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n } // This is a wrapper over more primitive functions for setting signature.\n // Signatures let us decide whether the Hook order has changed on refresh.\n //\n // This function is intended to be used as a transform target, e.g.:\n // var _s = createSignatureFunctionForTransform()\n //\n // function Hello() {\n // const [foo, setFoo] = useState(0);\n // const value = useCustomHook();\n // _s(); /* Call without arguments triggers collecting the custom Hook list.\n // * This doesn't happen during the module evaluation because we\n // * don't want to change the module order with inline requires.\n // * Next calls are noops. */\n // return

Hi

;\n // }\n //\n // /* Call with arguments attaches the signature to the type: */\n // _s(\n // Hello,\n // 'useState{[foo, setFoo]}(0)',\n // () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n // );\n\n function createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n }\n function isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n } // For plain functions and arrows, use name as a heuristic.\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n default:\n return false;\n }\n }\n return false;\n }\n default:\n {\n return false;\n }\n }\n }\n }\n exports._getMountedRootCount = _getMountedRootCount;\n exports.collectCustomHooksForSignature = collectCustomHooksForSignature;\n exports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\n exports.findAffectedHostInstances = findAffectedHostInstances;\n exports.getFamilyByID = getFamilyByID;\n exports.getFamilyByType = getFamilyByType;\n exports.hasUnrecoverableErrors = hasUnrecoverableErrors;\n exports.injectIntoGlobalHook = injectIntoGlobalHook;\n exports.isLikelyComponentType = isLikelyComponentType;\n exports.performReactRefresh = performReactRefresh;\n exports.register = register;\n exports.setSignature = setSignature;\n })();\n}","map":{"version":3,"names":["process","env","NODE_ENV","REACT_ELEMENT_TYPE","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_PROVIDER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_SCOPE_TYPE","REACT_DEBUG_TRACING_MODE_TYPE","REACT_OFFSCREEN_TYPE","REACT_LEGACY_HIDDEN_TYPE","REACT_CACHE_TYPE","Symbol","for","symbolFor","PossiblyWeakMap","WeakMap","Map","allFamiliesByID","allFamiliesByType","allSignaturesByType","updatedFamiliesByType","pendingUpdates","helpersByRendererID","helpersByRoot","mountedRoots","Set","failedRoots","rootElements","isPerformingRefresh","computeFullKey","signature","fullKey","ownKey","hooks","getCustomHooks","err","forceReset","i","length","hook","nestedHookSignature","get","undefined","nestedHookKey","haveEqualSignatures","prevType","nextType","prevSignature","nextSignature","isReactClass","type","prototype","isReactComponent","canPreserveStateBetween","resolveFamily","cloneMap","map","clone","forEach","value","key","set","cloneSet","add","getProperty","object","property","performReactRefresh","staleFamilies","updatedFamilies","updates","_ref","family","current","update","helpers","setRefreshHandler","didError","firstError","failedRootsSnapshot","mountedRootsSnapshot","helpersByRootSnapshot","root","Error","has","element","scheduleRoot","scheduleRefresh","register","id","push","render","setSignature","arguments","collectCustomHooksForSignature","getFamilyByID","getFamilyByType","findAffectedHostInstances","families","affectedInstances","instancesForRoot","findHostInstancesForRefresh","inst","injectIntoGlobalHook","globalObject","__REACT_DEVTOOLS_GLOBAL_HOOK__","nextID","renderers","supportsFiber","inject","injected","onScheduleFiberRoot","children","onCommitFiberRoot","maybePriorityLevel","onCommitFiberUnmount","isDisabled","console","oldInject","apply","oldOnCommitFiberRoot","oldOnScheduleFiberRoot","delete","alternate","wasMounted","memoizedState","isMounted","hasUnrecoverableErrors","_getMountedRootCount","size","createSignatureFunctionForTransform","savedType","hasCustomHooks","didCollectHooks","isLikelyComponentType","ownNames","Object","getOwnPropertyNames","__proto__","name","displayName","test","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react-refresh/cjs/react-refresh-runtime.development.js"],"sourcesContent":["/** @license React vundefined\n * react-refresh-runtime.development.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nif (process.env.NODE_ENV !== \"production\") {\n (function() {\n'use strict';\n\n// ATTENTION\n// When adding new symbols to this file,\n// Please consider also adding to 'react-devtools-shared/src/backend/ReactSymbols'\n// The Symbol used to tag the ReactElement-like types. If there is no native Symbol\n// nor polyfill, then a plain number is used for performance.\nvar REACT_ELEMENT_TYPE = 0xeac7;\nvar REACT_PORTAL_TYPE = 0xeaca;\nvar REACT_FRAGMENT_TYPE = 0xeacb;\nvar REACT_STRICT_MODE_TYPE = 0xeacc;\nvar REACT_PROFILER_TYPE = 0xead2;\nvar REACT_PROVIDER_TYPE = 0xeacd;\nvar REACT_CONTEXT_TYPE = 0xeace;\nvar REACT_FORWARD_REF_TYPE = 0xead0;\nvar REACT_SUSPENSE_TYPE = 0xead1;\nvar REACT_SUSPENSE_LIST_TYPE = 0xead8;\nvar REACT_MEMO_TYPE = 0xead3;\nvar REACT_LAZY_TYPE = 0xead4;\nvar REACT_SCOPE_TYPE = 0xead7;\nvar REACT_DEBUG_TRACING_MODE_TYPE = 0xeae1;\nvar REACT_OFFSCREEN_TYPE = 0xeae2;\nvar REACT_LEGACY_HIDDEN_TYPE = 0xeae3;\nvar REACT_CACHE_TYPE = 0xeae4;\n\nif (typeof Symbol === 'function' && Symbol.for) {\n var symbolFor = Symbol.for;\n REACT_ELEMENT_TYPE = symbolFor('react.element');\n REACT_PORTAL_TYPE = symbolFor('react.portal');\n REACT_FRAGMENT_TYPE = symbolFor('react.fragment');\n REACT_STRICT_MODE_TYPE = symbolFor('react.strict_mode');\n REACT_PROFILER_TYPE = symbolFor('react.profiler');\n REACT_PROVIDER_TYPE = symbolFor('react.provider');\n REACT_CONTEXT_TYPE = symbolFor('react.context');\n REACT_FORWARD_REF_TYPE = symbolFor('react.forward_ref');\n REACT_SUSPENSE_TYPE = symbolFor('react.suspense');\n REACT_SUSPENSE_LIST_TYPE = symbolFor('react.suspense_list');\n REACT_MEMO_TYPE = symbolFor('react.memo');\n REACT_LAZY_TYPE = symbolFor('react.lazy');\n REACT_SCOPE_TYPE = symbolFor('react.scope');\n REACT_DEBUG_TRACING_MODE_TYPE = symbolFor('react.debug_trace_mode');\n REACT_OFFSCREEN_TYPE = symbolFor('react.offscreen');\n REACT_LEGACY_HIDDEN_TYPE = symbolFor('react.legacy_hidden');\n REACT_CACHE_TYPE = symbolFor('react.cache');\n}\n\nvar PossiblyWeakMap = typeof WeakMap === 'function' ? WeakMap : Map; // We never remove these associations.\n// It's OK to reference families, but use WeakMap/Set for types.\n\nvar allFamiliesByID = new Map();\nvar allFamiliesByType = new PossiblyWeakMap();\nvar allSignaturesByType = new PossiblyWeakMap(); // This WeakMap is read by React, so we only put families\n// that have actually been edited here. This keeps checks fast.\n// $FlowIssue\n\nvar updatedFamiliesByType = new PossiblyWeakMap(); // This is cleared on every performReactRefresh() call.\n// It is an array of [Family, NextType] tuples.\n\nvar pendingUpdates = []; // This is injected by the renderer via DevTools global hook.\n\nvar helpersByRendererID = new Map();\nvar helpersByRoot = new Map(); // We keep track of mounted roots so we can schedule updates.\n\nvar mountedRoots = new Set(); // If a root captures an error, we remember it so we can retry on edit.\n\nvar failedRoots = new Set(); // In environments that support WeakMap, we also remember the last element for every root.\n// It needs to be weak because we do this even for roots that failed to mount.\n// If there is no WeakMap, we won't attempt to do retrying.\n// $FlowIssue\n\nvar rootElements = // $FlowIssue\ntypeof WeakMap === 'function' ? new WeakMap() : null;\nvar isPerformingRefresh = false;\n\nfunction computeFullKey(signature) {\n if (signature.fullKey !== null) {\n return signature.fullKey;\n }\n\n var fullKey = signature.ownKey;\n var hooks;\n\n try {\n hooks = signature.getCustomHooks();\n } catch (err) {\n // This can happen in an edge case, e.g. if expression like Foo.useSomething\n // depends on Foo which is lazily initialized during rendering.\n // In that case just assume we'll have to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n for (var i = 0; i < hooks.length; i++) {\n var hook = hooks[i];\n\n if (typeof hook !== 'function') {\n // Something's wrong. Assume we need to remount.\n signature.forceReset = true;\n signature.fullKey = fullKey;\n return fullKey;\n }\n\n var nestedHookSignature = allSignaturesByType.get(hook);\n\n if (nestedHookSignature === undefined) {\n // No signature means Hook wasn't in the source code, e.g. in a library.\n // We'll skip it because we can assume it won't change during this session.\n continue;\n }\n\n var nestedHookKey = computeFullKey(nestedHookSignature);\n\n if (nestedHookSignature.forceReset) {\n signature.forceReset = true;\n }\n\n fullKey += '\\n---\\n' + nestedHookKey;\n }\n\n signature.fullKey = fullKey;\n return fullKey;\n}\n\nfunction haveEqualSignatures(prevType, nextType) {\n var prevSignature = allSignaturesByType.get(prevType);\n var nextSignature = allSignaturesByType.get(nextType);\n\n if (prevSignature === undefined && nextSignature === undefined) {\n return true;\n }\n\n if (prevSignature === undefined || nextSignature === undefined) {\n return false;\n }\n\n if (computeFullKey(prevSignature) !== computeFullKey(nextSignature)) {\n return false;\n }\n\n if (nextSignature.forceReset) {\n return false;\n }\n\n return true;\n}\n\nfunction isReactClass(type) {\n return type.prototype && type.prototype.isReactComponent;\n}\n\nfunction canPreserveStateBetween(prevType, nextType) {\n if (isReactClass(prevType) || isReactClass(nextType)) {\n return false;\n }\n\n if (haveEqualSignatures(prevType, nextType)) {\n return true;\n }\n\n return false;\n}\n\nfunction resolveFamily(type) {\n // Only check updated types to keep lookups fast.\n return updatedFamiliesByType.get(type);\n} // If we didn't care about IE11, we could use new Map/Set(iterable).\n\n\nfunction cloneMap(map) {\n var clone = new Map();\n map.forEach(function (value, key) {\n clone.set(key, value);\n });\n return clone;\n}\n\nfunction cloneSet(set) {\n var clone = new Set();\n set.forEach(function (value) {\n clone.add(value);\n });\n return clone;\n} // This is a safety mechanism to protect against rogue getters and Proxies.\n\n\nfunction getProperty(object, property) {\n try {\n return object[property];\n } catch (err) {\n // Intentionally ignore.\n return undefined;\n }\n}\n\nfunction performReactRefresh() {\n\n if (pendingUpdates.length === 0) {\n return null;\n }\n\n if (isPerformingRefresh) {\n return null;\n }\n\n isPerformingRefresh = true;\n\n try {\n var staleFamilies = new Set();\n var updatedFamilies = new Set();\n var updates = pendingUpdates;\n pendingUpdates = [];\n updates.forEach(function (_ref) {\n var family = _ref[0],\n nextType = _ref[1];\n // Now that we got a real edit, we can create associations\n // that will be read by the React reconciler.\n var prevType = family.current;\n updatedFamiliesByType.set(prevType, family);\n updatedFamiliesByType.set(nextType, family);\n family.current = nextType; // Determine whether this should be a re-render or a re-mount.\n\n if (canPreserveStateBetween(prevType, nextType)) {\n updatedFamilies.add(family);\n } else {\n staleFamilies.add(family);\n }\n }); // TODO: rename these fields to something more meaningful.\n\n var update = {\n updatedFamilies: updatedFamilies,\n // Families that will re-render preserving state\n staleFamilies: staleFamilies // Families that will be remounted\n\n };\n helpersByRendererID.forEach(function (helpers) {\n // Even if there are no roots, set the handler on first update.\n // This ensures that if *new* roots are mounted, they'll use the resolve handler.\n helpers.setRefreshHandler(resolveFamily);\n });\n var didError = false;\n var firstError = null; // We snapshot maps and sets that are mutated during commits.\n // If we don't do this, there is a risk they will be mutated while\n // we iterate over them. For example, trying to recover a failed root\n // may cause another root to be added to the failed list -- an infinite loop.\n\n var failedRootsSnapshot = cloneSet(failedRoots);\n var mountedRootsSnapshot = cloneSet(mountedRoots);\n var helpersByRootSnapshot = cloneMap(helpersByRoot);\n failedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!failedRoots.has(root)) {// No longer failed.\n }\n\n if (rootElements === null) {\n return;\n }\n\n if (!rootElements.has(root)) {\n return;\n }\n\n var element = rootElements.get(root);\n\n try {\n helpers.scheduleRoot(root, element);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n mountedRootsSnapshot.forEach(function (root) {\n var helpers = helpersByRootSnapshot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n if (!mountedRoots.has(root)) {// No longer mounted.\n }\n\n try {\n helpers.scheduleRefresh(root, update);\n } catch (err) {\n if (!didError) {\n didError = true;\n firstError = err;\n } // Keep trying other roots.\n\n }\n });\n\n if (didError) {\n throw firstError;\n }\n\n return update;\n } finally {\n isPerformingRefresh = false;\n }\n}\nfunction register(type, id) {\n {\n if (type === null) {\n return;\n }\n\n if (typeof type !== 'function' && typeof type !== 'object') {\n return;\n } // This can happen in an edge case, e.g. if we register\n // return value of a HOC but it returns a cached component.\n // Ignore anything but the first registration for each type.\n\n\n if (allFamiliesByType.has(type)) {\n return;\n } // Create family or remember to update it.\n // None of this bookkeeping affects reconciliation\n // until the first performReactRefresh() call above.\n\n\n var family = allFamiliesByID.get(id);\n\n if (family === undefined) {\n family = {\n current: type\n };\n allFamiliesByID.set(id, family);\n } else {\n pendingUpdates.push([family, type]);\n }\n\n allFamiliesByType.set(type, family); // Visit inner types because we might not have registered them.\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n register(type.render, id + '$render');\n break;\n\n case REACT_MEMO_TYPE:\n register(type.type, id + '$type');\n break;\n }\n }\n }\n}\nfunction setSignature(type, key) {\n var forceReset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var getCustomHooks = arguments.length > 3 ? arguments[3] : undefined;\n\n {\n if (!allSignaturesByType.has(type)) {\n allSignaturesByType.set(type, {\n forceReset: forceReset,\n ownKey: key,\n fullKey: null,\n getCustomHooks: getCustomHooks || function () {\n return [];\n }\n });\n } // Visit inner types because we might not have signed them.\n\n\n if (typeof type === 'object' && type !== null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n setSignature(type.render, key, forceReset, getCustomHooks);\n break;\n\n case REACT_MEMO_TYPE:\n setSignature(type.type, key, forceReset, getCustomHooks);\n break;\n }\n }\n }\n} // This is lazily called during first render for a type.\n// It captures Hook list at that time so inline requires don't break comparisons.\n\nfunction collectCustomHooksForSignature(type) {\n {\n var signature = allSignaturesByType.get(type);\n\n if (signature !== undefined) {\n computeFullKey(signature);\n }\n }\n}\nfunction getFamilyByID(id) {\n {\n return allFamiliesByID.get(id);\n }\n}\nfunction getFamilyByType(type) {\n {\n return allFamiliesByType.get(type);\n }\n}\nfunction findAffectedHostInstances(families) {\n {\n var affectedInstances = new Set();\n mountedRoots.forEach(function (root) {\n var helpers = helpersByRoot.get(root);\n\n if (helpers === undefined) {\n throw new Error('Could not find helpers for a root. This is a bug in React Refresh.');\n }\n\n var instancesForRoot = helpers.findHostInstancesForRefresh(root, families);\n instancesForRoot.forEach(function (inst) {\n affectedInstances.add(inst);\n });\n });\n return affectedInstances;\n }\n}\nfunction injectIntoGlobalHook(globalObject) {\n {\n // For React Native, the global hook will be set up by require('react-devtools-core').\n // That code will run before us. So we need to monkeypatch functions on existing hook.\n // For React Web, the global hook will be set up by the extension.\n // This will also run before us.\n var hook = globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__;\n\n if (hook === undefined) {\n // However, if there is no DevTools extension, we'll need to set up the global hook ourselves.\n // Note that in this case it's important that renderer code runs *after* this method call.\n // Otherwise, the renderer will think that there is no global hook, and won't do the injection.\n var nextID = 0;\n globalObject.__REACT_DEVTOOLS_GLOBAL_HOOK__ = hook = {\n renderers: new Map(),\n supportsFiber: true,\n inject: function (injected) {\n return nextID++;\n },\n onScheduleFiberRoot: function (id, root, children) {},\n onCommitFiberRoot: function (id, root, maybePriorityLevel, didError) {},\n onCommitFiberUnmount: function () {}\n };\n }\n\n if (hook.isDisabled) {\n // This isn't a real property on the hook, but it can be set to opt out\n // of DevTools integration and associated warnings and logs.\n // Using console['warn'] to evade Babel and ESLint\n console['warn']('Something has shimmed the React DevTools global hook (__REACT_DEVTOOLS_GLOBAL_HOOK__). ' + 'Fast Refresh is not compatible with this shim and will be disabled.');\n return;\n } // Here, we just want to get a reference to scheduleRefresh.\n\n\n var oldInject = hook.inject;\n\n hook.inject = function (injected) {\n var id = oldInject.apply(this, arguments);\n\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n\n return id;\n }; // Do the same for any already injected roots.\n // This is useful if ReactDOM has already been initialized.\n // https://github.com/facebook/react/issues/17626\n\n\n hook.renderers.forEach(function (injected, id) {\n if (typeof injected.scheduleRefresh === 'function' && typeof injected.setRefreshHandler === 'function') {\n // This version supports React Refresh.\n helpersByRendererID.set(id, injected);\n }\n }); // We also want to track currently mounted roots.\n\n var oldOnCommitFiberRoot = hook.onCommitFiberRoot;\n\n var oldOnScheduleFiberRoot = hook.onScheduleFiberRoot || function () {};\n\n hook.onScheduleFiberRoot = function (id, root, children) {\n if (!isPerformingRefresh) {\n // If it was intentionally scheduled, don't attempt to restore.\n // This includes intentionally scheduled unmounts.\n failedRoots.delete(root);\n\n if (rootElements !== null) {\n rootElements.set(root, children);\n }\n }\n\n return oldOnScheduleFiberRoot.apply(this, arguments);\n };\n\n hook.onCommitFiberRoot = function (id, root, maybePriorityLevel, didError) {\n var helpers = helpersByRendererID.get(id);\n\n if (helpers !== undefined) {\n helpersByRoot.set(root, helpers);\n var current = root.current;\n var alternate = current.alternate; // We need to determine whether this root has just (un)mounted.\n // This logic is copy-pasted from similar logic in the DevTools backend.\n // If this breaks with some refactoring, you'll want to update DevTools too.\n\n if (alternate !== null) {\n var wasMounted = alternate.memoizedState != null && alternate.memoizedState.element != null;\n var isMounted = current.memoizedState != null && current.memoizedState.element != null;\n\n if (!wasMounted && isMounted) {\n // Mount a new root.\n mountedRoots.add(root);\n failedRoots.delete(root);\n } else if (wasMounted && isMounted) ; else if (wasMounted && !isMounted) {\n // Unmount an existing root.\n mountedRoots.delete(root);\n\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n } else {\n helpersByRoot.delete(root);\n }\n } else if (!wasMounted && !isMounted) {\n if (didError) {\n // We'll remount it on future edits.\n failedRoots.add(root);\n }\n }\n } else {\n // Mount a new root.\n mountedRoots.add(root);\n }\n } // Always call the decorated DevTools hook.\n\n\n return oldOnCommitFiberRoot.apply(this, arguments);\n };\n }\n}\nfunction hasUnrecoverableErrors() {\n // TODO: delete this after removing dependency in RN.\n return false;\n} // Exposed for testing.\n\nfunction _getMountedRootCount() {\n {\n return mountedRoots.size;\n }\n} // This is a wrapper over more primitive functions for setting signature.\n// Signatures let us decide whether the Hook order has changed on refresh.\n//\n// This function is intended to be used as a transform target, e.g.:\n// var _s = createSignatureFunctionForTransform()\n//\n// function Hello() {\n// const [foo, setFoo] = useState(0);\n// const value = useCustomHook();\n// _s(); /* Call without arguments triggers collecting the custom Hook list.\n// * This doesn't happen during the module evaluation because we\n// * don't want to change the module order with inline requires.\n// * Next calls are noops. */\n// return

Hi

;\n// }\n//\n// /* Call with arguments attaches the signature to the type: */\n// _s(\n// Hello,\n// 'useState{[foo, setFoo]}(0)',\n// () => [useCustomHook], /* Lazy to avoid triggering inline requires */\n// );\n\nfunction createSignatureFunctionForTransform() {\n {\n var savedType;\n var hasCustomHooks;\n var didCollectHooks = false;\n return function (type, key, forceReset, getCustomHooks) {\n if (typeof key === 'string') {\n // We're in the initial phase that associates signatures\n // with the functions. Note this may be called multiple times\n // in HOC chains like _s(hoc1(_s(hoc2(_s(actualFunction))))).\n if (!savedType) {\n // We're in the innermost call, so this is the actual type.\n savedType = type;\n hasCustomHooks = typeof getCustomHooks === 'function';\n } // Set the signature for all types (even wrappers!) in case\n // they have no signatures of their own. This is to prevent\n // problems like https://github.com/facebook/react/issues/20417.\n\n\n if (type != null && (typeof type === 'function' || typeof type === 'object')) {\n setSignature(type, key, forceReset, getCustomHooks);\n }\n\n return type;\n } else {\n // We're in the _s() call without arguments, which means\n // this is the time to collect custom Hook signatures.\n // Only do this once. This path is hot and runs *inside* every render!\n if (!didCollectHooks && hasCustomHooks) {\n didCollectHooks = true;\n collectCustomHooksForSignature(savedType);\n }\n }\n };\n }\n}\nfunction isLikelyComponentType(type) {\n {\n switch (typeof type) {\n case 'function':\n {\n // First, deal with classes.\n if (type.prototype != null) {\n if (type.prototype.isReactComponent) {\n // React class.\n return true;\n }\n\n var ownNames = Object.getOwnPropertyNames(type.prototype);\n\n if (ownNames.length > 1 || ownNames[0] !== 'constructor') {\n // This looks like a class.\n return false;\n } // eslint-disable-next-line no-proto\n\n\n if (type.prototype.__proto__ !== Object.prototype) {\n // It has a superclass.\n return false;\n } // Pass through.\n // This looks like a regular function with empty prototype.\n\n } // For plain functions and arrows, use name as a heuristic.\n\n\n var name = type.name || type.displayName;\n return typeof name === 'string' && /^[A-Z]/.test(name);\n }\n\n case 'object':\n {\n if (type != null) {\n switch (getProperty(type, '$$typeof')) {\n case REACT_FORWARD_REF_TYPE:\n case REACT_MEMO_TYPE:\n // Definitely React components.\n return true;\n\n default:\n return false;\n }\n }\n\n return false;\n }\n\n default:\n {\n return false;\n }\n }\n }\n}\n\nexports._getMountedRootCount = _getMountedRootCount;\nexports.collectCustomHooksForSignature = collectCustomHooksForSignature;\nexports.createSignatureFunctionForTransform = createSignatureFunctionForTransform;\nexports.findAffectedHostInstances = findAffectedHostInstances;\nexports.getFamilyByID = getFamilyByID;\nexports.getFamilyByType = getFamilyByType;\nexports.hasUnrecoverableErrors = hasUnrecoverableErrors;\nexports.injectIntoGlobalHook = injectIntoGlobalHook;\nexports.isLikelyComponentType = isLikelyComponentType;\nexports.performReactRefresh = performReactRefresh;\nexports.register = register;\nexports.setSignature = setSignature;\n })();\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/2043ff68124f1ea990b0c7a1221e4da53acb22fc9d816a1cbba45605d0713c6c.json b/Data-Viz/node_modules/.cache/babel-loader/2043ff68124f1ea990b0c7a1221e4da53acb22fc9d816a1cbba45605d0713c6c.json new file mode 100644 index 000000000..5c2ec9c66 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/2043ff68124f1ea990b0c7a1221e4da53acb22fc9d816a1cbba45605d0713c6c.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-dev-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-dev-runtime.development.js');\n}","map":{"version":3,"names":["process","env","NODE_ENV","module","exports","require"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react/jsx-dev-runtime.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-jsx-dev-runtime.production.js');\n} else {\n module.exports = require('./cjs/react-jsx-dev-runtime.development.js');\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCC,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,2CAA2C,CAAC;AACvE,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,4CAA4C,CAAC;AACxE","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/23d67557e33aea1e7c95bbe9b530bf7633ceac158d7cacd4e224f5e5b36c1c9b.json b/Data-Viz/node_modules/.cache/babel-loader/23d67557e33aea1e7c95bbe9b530bf7633ceac158d7cacd4e224f5e5b36c1c9b.json new file mode 100644 index 000000000..5a37ea522 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/23d67557e33aea1e7c95bbe9b530bf7633ceac158d7cacd4e224f5e5b36c1c9b.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","map":{"version":3,"names":["module","exports","item","content","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","concat","sourceMapping","join"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/css-loader/dist/runtime/sourceMaps.js"],"sourcesContent":["\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};"],"mappings":"AAAA,YAAY;;AAEZA,MAAM,CAACC,OAAO,GAAG,UAAUC,IAAI,EAAE;EAC/B,IAAIC,OAAO,GAAGD,IAAI,CAAC,CAAC,CAAC;EACrB,IAAIE,UAAU,GAAGF,IAAI,CAAC,CAAC,CAAC;EACxB,IAAI,CAACE,UAAU,EAAE;IACf,OAAOD,OAAO;EAChB;EACA,IAAI,OAAOE,IAAI,KAAK,UAAU,EAAE;IAC9B,IAAIC,MAAM,GAAGD,IAAI,CAACE,QAAQ,CAACC,kBAAkB,CAACC,IAAI,CAACC,SAAS,CAACN,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3E,IAAIO,IAAI,GAAG,8DAA8D,CAACC,MAAM,CAACN,MAAM,CAAC;IACxF,IAAIO,aAAa,GAAG,MAAM,CAACD,MAAM,CAACD,IAAI,EAAE,KAAK,CAAC;IAC9C,OAAO,CAACR,OAAO,CAAC,CAACS,MAAM,CAAC,CAACC,aAAa,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;EACrD;EACA,OAAO,CAACX,OAAO,CAAC,CAACW,IAAI,CAAC,IAAI,CAAC;AAC7B,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/248973c1b7ff6767c630c36b6b19a535262ad81cb948b60fffc644f07c4cb209.json b/Data-Viz/node_modules/.cache/babel-loader/248973c1b7ff6767c630c36b6b19a535262ad81cb948b60fffc644f07c4cb209.json new file mode 100644 index 000000000..8e92ee908 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/248973c1b7ff6767c630c36b6b19a535262ad81cb948b60fffc644f07c4cb209.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};","map":{"version":3,"names":["module","exports","exec","error"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/fails.js"],"sourcesContent":["'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n"],"mappings":"AAAA,YAAY;;AACZA,MAAM,CAACC,OAAO,GAAG,UAAUC,IAAI,EAAE;EAC/B,IAAI;IACF,OAAO,CAAC,CAACA,IAAI,CAAC,CAAC;EACjB,CAAC,CAAC,OAAOC,KAAK,EAAE;IACd,OAAO,IAAI;EACb;AACF,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/275f16314c2f0cfbf2a586b6c69e04a0adc292844adf89c768e914dffe61e8ac.json b/Data-Viz/node_modules/.cache/babel-loader/275f16314c2f0cfbf2a586b6c69e04a0adc292844adf89c768e914dffe61e8ac.json new file mode 100644 index 000000000..91f7f6304 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/275f16314c2f0cfbf2a586b6c69e04a0adc292844adf89c768e914dffe61e8ac.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n/**\n * @typedef {Object} StateDefinitions\n * @property {{[event: string]: { target: string; actions?: Array }}} [on]\n */\n\n/**\n * @typedef {Object} Options\n * @property {{[state: string]: StateDefinitions}} states\n * @property {object} context;\n * @property {string} initial\n */\n\n/**\n * @typedef {Object} Implementation\n * @property {{[actionName: string]: (ctx: object, event: any) => object}} actions\n */\n\n/**\n * A simplified `createMachine` from `@xstate/fsm` with the following differences:\n *\n * - the returned machine is technically a \"service\". No `interpret(machine).start()` is needed.\n * - the state definition only support `on` and target must be declared with { target: 'nextState', actions: [] } explicitly.\n * - event passed to `send` must be an object with `type` property.\n * - actions implementation will be [assign action](https://xstate.js.org/docs/guides/context.html#assign-action) if you return any value.\n * Do not return anything if you just want to invoke side effect.\n *\n * The goal of this custom function is to avoid installing the entire `'xstate/fsm'` package, while enabling modeling using\n * state machine. You can copy the first parameter into the editor at https://stately.ai/viz to visualize the state machine.\n *\n * @param {Options} options\n * @param {Implementation} implementation\n */\nfunction createMachine(_ref, _ref2) {\n var states = _ref.states,\n context = _ref.context,\n initial = _ref.initial;\n var actions = _ref2.actions;\n var currentState = initial;\n var currentContext = context;\n return {\n send: function send(event) {\n var currentStateOn = states[currentState].on;\n var transitionConfig = currentStateOn && currentStateOn[event.type];\n if (transitionConfig) {\n currentState = transitionConfig.target;\n if (transitionConfig.actions) {\n transitionConfig.actions.forEach(function (actName) {\n var actionImpl = actions[actName];\n var nextContextValue = actionImpl && actionImpl(currentContext, event);\n if (nextContextValue) {\n currentContext = _objectSpread(_objectSpread({}, currentContext), nextContextValue);\n }\n });\n }\n }\n }\n };\n}\nexport default createMachine;","map":{"version":3,"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","createMachine","_ref","_ref2","states","context","initial","actions","currentState","currentContext","send","event","currentStateOn","on","transitionConfig","type","actName","actionImpl","nextContextValue"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/overlay/fsm.js"],"sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n/**\n * @typedef {Object} StateDefinitions\n * @property {{[event: string]: { target: string; actions?: Array }}} [on]\n */\n\n/**\n * @typedef {Object} Options\n * @property {{[state: string]: StateDefinitions}} states\n * @property {object} context;\n * @property {string} initial\n */\n\n/**\n * @typedef {Object} Implementation\n * @property {{[actionName: string]: (ctx: object, event: any) => object}} actions\n */\n\n/**\n * A simplified `createMachine` from `@xstate/fsm` with the following differences:\n *\n * - the returned machine is technically a \"service\". No `interpret(machine).start()` is needed.\n * - the state definition only support `on` and target must be declared with { target: 'nextState', actions: [] } explicitly.\n * - event passed to `send` must be an object with `type` property.\n * - actions implementation will be [assign action](https://xstate.js.org/docs/guides/context.html#assign-action) if you return any value.\n * Do not return anything if you just want to invoke side effect.\n *\n * The goal of this custom function is to avoid installing the entire `'xstate/fsm'` package, while enabling modeling using\n * state machine. You can copy the first parameter into the editor at https://stately.ai/viz to visualize the state machine.\n *\n * @param {Options} options\n * @param {Implementation} implementation\n */\nfunction createMachine(_ref, _ref2) {\n var states = _ref.states,\n context = _ref.context,\n initial = _ref.initial;\n var actions = _ref2.actions;\n var currentState = initial;\n var currentContext = context;\n return {\n send: function send(event) {\n var currentStateOn = states[currentState].on;\n var transitionConfig = currentStateOn && currentStateOn[event.type];\n if (transitionConfig) {\n currentState = transitionConfig.target;\n if (transitionConfig.actions) {\n transitionConfig.actions.forEach(function (actName) {\n var actionImpl = actions[actName];\n var nextContextValue = actionImpl && actionImpl(currentContext, event);\n if (nextContextValue) {\n currentContext = _objectSpread(_objectSpread({}, currentContext), nextContextValue);\n }\n });\n }\n }\n }\n };\n}\nexport default createMachine;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/29d910b0d95336901b17892feb8f7644ade493463eb8723e8aae96b1c474a62d.json b/Data-Viz/node_modules/.cache/babel-loader/29d910b0d95336901b17892feb8f7644ade493463eb8723e8aae96b1c474a62d.json new file mode 100644 index 000000000..76c9833bd --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/29d910b0d95336901b17892feb8f7644ade493463eb8723e8aae96b1c474a62d.json @@ -0,0 +1 @@ +{"ast":null,"code":"// Shared stops (same id/name on every route they're on)\nconst SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center (CRC)',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [{\n id: 'tech-square-wb',\n name: 'Tech Square WB',\n latitude: 33.7764,\n longitude: -84.3889\n }, {\n id: '5th-street-bridge-wb',\n name: '5th Street Bridge WB',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'tech-square-wb',\n predictedDelayMinutes: 4,\n routeId: '1',\n eta: generateETA(4)\n }, {\n stopId: SHARED.klaus.id,\n predictedDelayMinutes: 8,\n routeId: '1',\n eta: generateETA(8)\n }, {\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }, {\n stopId: SHARED.midtownMarta.id,\n predictedDelayMinutes: 15,\n routeId: '1',\n eta: generateETA(15)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7795,\n longitude: -84.4010\n }, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: SHARED.klaus.id,\n predictedDelayMinutes: 3,\n routeId: '2',\n eta: generateETA(3)\n }, {\n stopId: SHARED.kendeda.id,\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.4035\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: SHARED.crc.id,\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: SHARED.kendeda.id,\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: SHARED.crc.id,\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }, {\n stopId: SHARED.techSquare.id,\n predictedDelayMinutes: 14,\n routeId: '5',\n eta: generateETA(14)\n }, {\n stopId: SHARED.midtownMarta.id,\n predictedDelayMinutes: 18,\n routeId: '5',\n eta: generateETA(18)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\n// Shared stops (same id/name on every route they're on)\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center (CRC)', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n { id: 'tech-square-wb', name: 'Tech Square WB', latitude: 33.7764, longitude: -84.3889 },\n { id: '5th-street-bridge-wb', name: '5th Street Bridge WB', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [\n {\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }\n ],\n delayPredictions: [\n { stopId: 'tech-square-wb', predictedDelayMinutes: 4, routeId: '1', eta: generateETA(4) },\n { stopId: SHARED.klaus.id, predictedDelayMinutes: 8, routeId: '1', eta: generateETA(8) },\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) },\n { stopId: SHARED.midtownMarta.id, predictedDelayMinutes: 15, routeId: '1', eta: generateETA(15) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7795, longitude: -84.4010 },\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 }\n ],\n busLocations: [\n {\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }\n ],\n delayPredictions: [\n { stopId: SHARED.klaus.id, predictedDelayMinutes: 3, routeId: '2', eta: generateETA(3) },\n { stopId: SHARED.kendeda.id, predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.4035 }\n ],\n busLocations: [\n {\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }\n ],\n delayPredictions: [\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: SHARED.crc.id, predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [\n {\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }\n ],\n delayPredictions: [\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [\n {\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }\n ],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: SHARED.kendeda.id, predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: SHARED.crc.id, predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) },\n { stopId: SHARED.techSquare.id, predictedDelayMinutes: 14, routeId: '5', eta: generateETA(14) },\n { stopId: SHARED.midtownMarta.id, predictedDelayMinutes: 18, routeId: '5', eta: generateETA(18) }\n ]\n }\n];\n"],"mappings":"AAEA;AACA,MAAMA,MAAM,GAAG;EACbC,aAAa,EAAG;IAAEC,EAAE,EAAE,gBAAgB;IAAEC,IAAI,EAAE,gBAAgB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC;EACxGC,KAAK,EAAW;IAAEJ,EAAE,EAAE,OAAO;IAAEC,IAAI,EAAE,gBAAgB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC;EAC/FE,OAAO,EAAS;IAAEL,EAAE,EAAE,SAAS;IAAEC,IAAI,EAAE,kBAAkB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC;EACnGG,GAAG,EAAa;IAAEN,EAAE,EAAE,KAAK;IAAEC,IAAI,EAAE,gCAAgC;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC;EAC7GI,YAAY,EAAI;IAAEP,EAAE,EAAE,eAAe;IAAEC,IAAI,EAAE,uBAAuB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC;EAC9GK,UAAU,EAAM;IAAER,EAAE,EAAE,aAAa;IAAEC,IAAI,EAAE,aAAa;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ;AACnG,CAAC;AAED,MAAMM,WAAW,GAAIC,YAAoB,IAAa;EACpD,MAAMC,GAAG,GAAG,IAAIC,IAAI,CAAC,CAAC;EACtBD,GAAG,CAACE,UAAU,CAACF,GAAG,CAACG,UAAU,CAAC,CAAC,GAAGJ,YAAY,CAAC;EAC/C,MAAMK,KAAK,GAAGJ,GAAG,CAACK,QAAQ,CAAC,CAAC;EAC5B,MAAMC,OAAO,GAAGN,GAAG,CAACG,UAAU,CAAC,CAAC;EAChC,MAAMI,IAAI,GAAGH,KAAK,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI;EACtC,MAAMI,YAAY,GAAGJ,KAAK,GAAG,EAAE,IAAI,EAAE;EACrC,MAAMK,cAAc,GAAGH,OAAO,GAAG,EAAE,GAAG,IAAIA,OAAO,EAAE,GAAGA,OAAO;EAC7D,OAAO,GAAGE,YAAY,IAAIC,cAAc,IAAIF,IAAI,EAAE;AACpD,CAAC;AAED,OAAO,MAAMG,UAAmB,GAAG,CACjC;EACErB,EAAE,EAAE,GAAG;EACPC,IAAI,EAAE,YAAY;EAClBqB,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,CACL;IAAEvB,EAAE,EAAE,gBAAgB;IAAEC,IAAI,EAAE,gBAAgB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACxF;IAAEH,EAAE,EAAE,sBAAsB;IAAEC,IAAI,EAAE,sBAAsB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACpGL,MAAM,CAACM,KAAK,EACZN,MAAM,CAACC,aAAa,EACpBD,MAAM,CAACS,YAAY,EACnB;IAAEP,EAAE,EAAE,QAAQ;IAAEC,IAAI,EAAE,kBAAkB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EAClF;IAAEH,EAAE,EAAE,kBAAkB;IAAEC,IAAI,EAAE,kBAAkB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,CAC7F;EACDqB,YAAY,EAAE,CACZ;IACEC,KAAK,EAAE,YAAY;IAAEvB,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC,OAAO;IAC3DuB,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACf,CAAC,CACF;EACDC,gBAAgB,EAAE,CAChB;IAAEC,MAAM,EAAE,gBAAgB;IAAEC,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC,EACzF;IAAEoB,MAAM,EAAE/B,MAAM,CAACM,KAAK,CAACJ,EAAE;IAAE8B,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC,EACxF;IAAEoB,MAAM,EAAE/B,MAAM,CAACC,aAAa,CAACC,EAAE;IAAE8B,qBAAqB,EAAE,EAAE;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,EAAE;EAAE,CAAC,EAClG;IAAEoB,MAAM,EAAE/B,MAAM,CAACS,YAAY,CAACP,EAAE;IAAE8B,qBAAqB,EAAE,EAAE;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,EAAE;EAAE,CAAC;AAErG,CAAC,EACD;EACET,EAAE,EAAE,GAAG;EACPC,IAAI,EAAE,WAAW;EACjBqB,KAAK,EAAE,WAAW;EAClBC,KAAK,EAAE,CACLzB,MAAM,CAACM,KAAK,EACZ;IAAEJ,EAAE,EAAE,gBAAgB;IAAEC,IAAI,EAAE,gBAAgB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACxFL,MAAM,CAACO,OAAO,EACd;IAAEL,EAAE,EAAE,QAAQ;IAAEC,IAAI,EAAE,qBAAqB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACrF;IAAEH,EAAE,EAAE,UAAU;IAAEC,IAAI,EAAE,UAAU;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EAC5E;IAAEH,EAAE,EAAE,sBAAsB;IAAEC,IAAI,EAAE,sBAAsB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACpG;IAAEH,EAAE,EAAE,sBAAsB;IAAEC,IAAI,EAAE,sBAAsB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACpG;IAAEH,EAAE,EAAE,eAAe;IAAEC,IAAI,EAAE,eAAe;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,CACvF;EACDqB,YAAY,EAAE,CACZ;IACEC,KAAK,EAAE,WAAW;IAAEvB,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC,OAAO;IAC1DuB,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACf,CAAC,CACF;EACDC,gBAAgB,EAAE,CAChB;IAAEC,MAAM,EAAE/B,MAAM,CAACM,KAAK,CAACJ,EAAE;IAAE8B,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC,EACxF;IAAEoB,MAAM,EAAE/B,MAAM,CAACO,OAAO,CAACL,EAAE;IAAE8B,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC;AAE9F,CAAC,EACD;EACET,EAAE,EAAE,GAAG;EACPC,IAAI,EAAE,YAAY;EAClBqB,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,CACLzB,MAAM,CAACC,aAAa,EACpB;IAAEC,EAAE,EAAE,SAAS;IAAEC,IAAI,EAAE,SAAS;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EAC1E;IAAEH,EAAE,EAAE,QAAQ;IAAEC,IAAI,EAAE,kBAAkB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EAClF;IAAEH,EAAE,EAAE,aAAa;IAAEC,IAAI,EAAE,qBAAqB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EAC1F;IAAEH,EAAE,EAAE,cAAc;IAAEC,IAAI,EAAE,cAAc;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACpFL,MAAM,CAACQ,GAAG,EACV;IAAEN,EAAE,EAAE,gBAAgB;IAAEC,IAAI,EAAE,yBAAyB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,CAClG;EACDqB,YAAY,EAAE,CACZ;IACEC,KAAK,EAAE,YAAY;IAAEvB,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC,OAAO;IAC3DuB,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACf,CAAC,CACF;EACDC,gBAAgB,EAAE,CAChB;IAAEC,MAAM,EAAE/B,MAAM,CAACC,aAAa,CAACC,EAAE;IAAE8B,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC,EAChG;IAAEoB,MAAM,EAAE/B,MAAM,CAACQ,GAAG,CAACN,EAAE;IAAE8B,qBAAqB,EAAE,EAAE;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,EAAE;EAAE,CAAC;AAE5F,CAAC,EACD;EACET,EAAE,EAAE,GAAG;EACPC,IAAI,EAAE,aAAa;EACnBqB,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,CACLzB,MAAM,CAACC,aAAa,EACpB;IAAEC,EAAE,EAAE,YAAY;IAAEC,IAAI,EAAE,oBAAoB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACxF;IAAEH,EAAE,EAAE,kBAAkB;IAAEC,IAAI,EAAE,wBAAwB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EAClG;IAAEH,EAAE,EAAE,gBAAgB;IAAEC,IAAI,EAAE,gBAAgB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACxF;IAAEH,EAAE,EAAE,MAAM;IAAEC,IAAI,EAAE,MAAM;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EACpE;IAAEH,EAAE,EAAE,eAAe;IAAEC,IAAI,EAAE,oBAAoB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,CAC5F;EACDqB,YAAY,EAAE,CACZ;IACEC,KAAK,EAAE,aAAa;IAAEvB,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC,OAAO;IAC5DuB,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACf,CAAC,CACF;EACDC,gBAAgB,EAAE,CAChB;IAAEC,MAAM,EAAE/B,MAAM,CAACC,aAAa,CAACC,EAAE;IAAE8B,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC;AAEpG,CAAC,EACD;EACET,EAAE,EAAE,GAAG;EACPC,IAAI,EAAE,eAAe;EACrBqB,KAAK,EAAE,SAAS;EAChBC,KAAK,EAAE,CACL;IAAEvB,EAAE,EAAE,QAAQ;IAAEC,IAAI,EAAE,gBAAgB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,EAChFL,MAAM,CAACO,OAAO,EACdP,MAAM,CAACQ,GAAG,EACVR,MAAM,CAACU,UAAU,EACjBV,MAAM,CAACS,YAAY,EACnB;IAAEP,EAAE,EAAE,sBAAsB;IAAEC,IAAI,EAAE,sBAAsB;IAAEC,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC;EAAQ,CAAC,CACrG;EACDqB,YAAY,EAAE,CACZ;IACEC,KAAK,EAAE,eAAe;IAAEvB,QAAQ,EAAE,OAAO;IAAEC,SAAS,EAAE,CAAC,OAAO;IAC9DuB,OAAO,EAAE,EAAE;IACXC,WAAW,EAAE;EACf,CAAC,CACF;EACDC,gBAAgB,EAAE,CAChB;IAAEC,MAAM,EAAE,QAAQ;IAAEC,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC,EACjF;IAAEoB,MAAM,EAAE/B,MAAM,CAACO,OAAO,CAACL,EAAE;IAAE8B,qBAAqB,EAAE,CAAC;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,CAAC;EAAE,CAAC,EAC1F;IAAEoB,MAAM,EAAE/B,MAAM,CAACQ,GAAG,CAACN,EAAE;IAAE8B,qBAAqB,EAAE,EAAE;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,EAAE;EAAE,CAAC,EACxF;IAAEoB,MAAM,EAAE/B,MAAM,CAACU,UAAU,CAACR,EAAE;IAAE8B,qBAAqB,EAAE,EAAE;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,EAAE;EAAE,CAAC,EAC/F;IAAEoB,MAAM,EAAE/B,MAAM,CAACS,YAAY,CAACP,EAAE;IAAE8B,qBAAqB,EAAE,EAAE;IAAEJ,OAAO,EAAE,GAAG;IAAEK,GAAG,EAAEtB,WAAW,CAAC,EAAE;EAAE,CAAC;AAErG,CAAC,CACF","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/2a9677632c2ee0cba2e19612bcbbe68cff961a09a90ef26e0d4f4c970a1f94c1.json b/Data-Viz/node_modules/.cache/babel-loader/2a9677632c2ee0cba2e19612bcbbe68cff961a09a90ef26e0d4f4c970a1f94c1.json new file mode 100644 index 000000000..d1651207d --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/2a9677632c2ee0cba2e19612bcbbe68cff961a09a90ef26e0d4f4c970a1f94c1.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * react-router-dom v7.5.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n\n// index.ts\nimport { HydratedRouter, RouterProvider } from \"react-router/dom\";\nexport * from \"react-router\";\nexport { HydratedRouter, RouterProvider };","map":{"version":3,"names":["HydratedRouter","RouterProvider"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react-router-dom/dist/index.mjs"],"sourcesContent":["/**\n * react-router-dom v7.5.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\n\n// index.ts\nimport { HydratedRouter, RouterProvider } from \"react-router/dom\";\nexport * from \"react-router\";\nexport {\n HydratedRouter,\n RouterProvider\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,SAASA,cAAc,EAAEC,cAAc,QAAQ,kBAAkB;AACjE,cAAc,cAAc;AAC5B,SACED,cAAc,EACdC,cAAc","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/2a9e9d747737b64940e243a2ee173754a4543368550a7d6f678f19458a0e35a9.json b/Data-Viz/node_modules/.cache/babel-loader/2a9e9d747737b64940e243a2ee173754a4543368550a7d6f678f19458a0e35a9.json new file mode 100644 index 000000000..8c757e54d --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/2a9e9d747737b64940e243a2ee173754a4543368550a7d6f678f19458a0e35a9.json @@ -0,0 +1 @@ +{"ast":null,"code":"function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nimport { log } from \"../utils/log.js\";\nvar WebSocketClient = /*#__PURE__*/function () {\n /**\n * @param {string} url\n */\n function WebSocketClient(url) {\n _classCallCheck(this, WebSocketClient);\n this.client = new WebSocket(url);\n this.client.onerror = function (error) {\n log.error(error);\n };\n }\n\n /**\n * @param {(...args: any[]) => void} f\n */\n _createClass(WebSocketClient, [{\n key: \"onOpen\",\n value: function onOpen(f) {\n this.client.onopen = f;\n }\n\n /**\n * @param {(...args: any[]) => void} f\n */\n }, {\n key: \"onClose\",\n value: function onClose(f) {\n this.client.onclose = f;\n }\n\n // call f with the message string as the first argument\n /**\n * @param {(...args: any[]) => void} f\n */\n }, {\n key: \"onMessage\",\n value: function onMessage(f) {\n this.client.onmessage = function (e) {\n f(e.data);\n };\n }\n }]);\n return WebSocketClient;\n}();\nexport { WebSocketClient as default };","map":{"version":3,"names":["_classCallCheck","instance","Constructor","TypeError","_defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","prototype","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","Number","log","WebSocketClient","url","client","WebSocket","onerror","error","value","onOpen","f","onopen","onClose","onclose","onMessage","onmessage","e","data","default"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/clients/WebSocketClient.js"],"sourcesContent":["function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\nimport { log } from \"../utils/log.js\";\nvar WebSocketClient = /*#__PURE__*/function () {\n /**\n * @param {string} url\n */\n function WebSocketClient(url) {\n _classCallCheck(this, WebSocketClient);\n this.client = new WebSocket(url);\n this.client.onerror = function (error) {\n log.error(error);\n };\n }\n\n /**\n * @param {(...args: any[]) => void} f\n */\n _createClass(WebSocketClient, [{\n key: \"onOpen\",\n value: function onOpen(f) {\n this.client.onopen = f;\n }\n\n /**\n * @param {(...args: any[]) => void} f\n */\n }, {\n key: \"onClose\",\n value: function onClose(f) {\n this.client.onclose = f;\n }\n\n // call f with the message string as the first argument\n /**\n * @param {(...args: any[]) => void} f\n */\n }, {\n key: \"onMessage\",\n value: function onMessage(f) {\n this.client.onmessage = function (e) {\n f(e.data);\n };\n }\n }]);\n return WebSocketClient;\n}();\nexport { WebSocketClient as default };"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/2c16c835a9a2f5078cdc67c45217f9d10a91dd6120030d7616dd7870cee689d3.json b/Data-Viz/node_modules/.cache/babel-loader/2c16c835a9a2f5078cdc67c45217f9d10a91dd6120030d7616dd7870cee689d3.json new file mode 100644 index 000000000..eb2999194 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/2c16c835a9a2f5078cdc67c45217f9d10a91dd6120030d7616dd7870cee689d3.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\nmodule.exports = version;","map":{"version":3,"names":["globalThis","require","userAgent","process","Deno","versions","version","v8","match","split","module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/environment-v8-version.js"],"sourcesContent":["'use strict';\nvar globalThis = require('../internals/global-this');\nvar userAgent = require('../internals/environment-user-agent');\n\nvar process = globalThis.process;\nvar Deno = globalThis.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,UAAU,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIC,SAAS,GAAGD,OAAO,CAAC,qCAAqC,CAAC;AAE9D,IAAIE,OAAO,GAAGH,UAAU,CAACG,OAAO;AAChC,IAAIC,IAAI,GAAGJ,UAAU,CAACI,IAAI;AAC1B,IAAIC,QAAQ,GAAGF,OAAO,IAAIA,OAAO,CAACE,QAAQ,IAAID,IAAI,IAAIA,IAAI,CAACE,OAAO;AAClE,IAAIC,EAAE,GAAGF,QAAQ,IAAIA,QAAQ,CAACE,EAAE;AAChC,IAAIC,KAAK,EAAEF,OAAO;AAElB,IAAIC,EAAE,EAAE;EACNC,KAAK,GAAGD,EAAE,CAACE,KAAK,CAAC,GAAG,CAAC;EACrB;EACA;EACAH,OAAO,GAAGE,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAIA,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAEA,KAAK,CAAC,CAAC,CAAC,GAAGA,KAAK,CAAC,CAAC,CAAC,CAAC;AACrE;;AAEA;AACA;AACA,IAAI,CAACF,OAAO,IAAIJ,SAAS,EAAE;EACzBM,KAAK,GAAGN,SAAS,CAACM,KAAK,CAAC,aAAa,CAAC;EACtC,IAAI,CAACA,KAAK,IAAIA,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE;IAC5BA,KAAK,GAAGN,SAAS,CAACM,KAAK,CAAC,eAAe,CAAC;IACxC,IAAIA,KAAK,EAAEF,OAAO,GAAG,CAACE,KAAK,CAAC,CAAC,CAAC;EAChC;AACF;AAEAE,MAAM,CAACC,OAAO,GAAGL,OAAO","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/2e3847cda437c7a594438e111e139100fe624d89fe647a5c932d5cca589cf2b6.json b/Data-Viz/node_modules/.cache/babel-loader/2e3847cda437c7a594438e111e139100fe624d89fe647a5c932d5cca589cf2b6.json new file mode 100644 index 000000000..de975468c --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/2e3847cda437c7a594438e111e139100fe624d89fe647a5c932d5cca589cf2b6.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst PlanTripPage = () => {\n _s();\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState(null);\n const [toCoords, setToCoords] = useState(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n const GT_CENTER = [33.7756, -84.3963];\n\n // Custom marker icons -- same as before\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n useEffect(() => {\n setRoutes(mockRoutes);\n // Gather all stops from all routes\n const allStops = [];\n const stopKey = new Set(); // unique by id+name\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n const key = `${stop.id}|${stop.name}`;\n if (!stopKey.has(key)) {\n stopKey.add(key);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) initMap();\n }, [stops]);\n useEffect(() => {\n if (result && mapInstanceRef.current) updateMap();\n }, [result]);\n\n // --------- Utilities ----------\n function getStopByName(name) {\n return stops.find(s => s.name === name);\n }\n function handleFromLocationSelect(e) {\n const stopName = e.target.value;\n setFromLocation(stopName); // use name as canonical reference here\n const stop = getStopByName(stopName);\n if (stop) setFromCoords({\n lat: stop.latitude,\n lng: stop.longitude\n });\n }\n function handleToLocationSelect(e) {\n const stopName = e.target.value;\n setToLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setToCoords({\n lat: stop.latitude,\n lng: stop.longitude\n });\n }\n const calculateDistance = (lat1, lon1, lat2, lon2) => {\n const toRadian = angle => Math.PI / 180 * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) ** 2 + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n markersRef.current.forEach(marker => {\n if (marker) mapInstanceRef.current.removeLayer(marker);\n });\n markersRef.current = [];\n routeLineRef.current.forEach(line => {\n if (line) mapInstanceRef.current.removeLayer(line);\n });\n routeLineRef.current = [];\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const allCoordinates = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n markersRef.current.push(L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`).addTo(mapInstanceRef.current));\n routeLineRef.current.push(L.polyline([[fromCoords.lat, fromCoords.lng], [result.startStop.latitude, result.startStop.longitude]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current));\n }\n result.segments.forEach((segment, index) => {\n const coordinates = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n routeLineRef.current.push(L.polyline(coordinates, {\n color: colors[index % colors.length],\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current));\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n markersRef.current.push(L.marker([stop.latitude, stop.longitude], {\n icon\n }).bindPopup(popupText).addTo(mapInstanceRef.current));\n });\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n markersRef.current.push(L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`).addTo(mapInstanceRef.current));\n routeLineRef.current.push(L.polyline([[result.endStop.latitude, result.endStop.longitude], [toCoords.lat, toCoords.lng]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current));\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, {\n padding: [50, 50]\n });\n }\n };\n\n // Robust hybrid-BFS transfer algorithm as above\n const findRouteWithBFS = (startStopId, endStopId) => {\n const queue = [];\n const best = {};\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n while (queue.length > 0) {\n const current = queue.shift();\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route === null || route === void 0 ? void 0 : route.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n if (stop.id === endStopId) {\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s => s.id === stop.id);\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (!current.visitedCombo.has(key) && (best[key] === undefined || best[key] > current.transfers + 1)) {\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n i += dir;\n }\n }\n }\n return null;\n };\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n const fromStop = getStopByName(fromLocation);\n const toStop = getStopByName(toLocation);\n if (!fromStop || !toStop) {\n setError(\"Selected stop not found on the network.\");\n return;\n }\n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n setSearching(true);\n setError(\"\");\n setResult(null);\n setTimeout(() => {\n const routeResult = findRouteWithBFS(fromStop.id, toStop.id);\n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these stops. Try a different combination.\");\n }\n setSearching(false);\n }, 200);\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.center,\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDE8C Loading GT Bus Data...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"\\uD83D\\uDE8C Plan Your GT Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 316,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Enter your start and end locations\\u2014every stop is available for bus routing with transfers!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 317,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.gridContainer,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.formPanel,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Plan Your Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 320,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.form,\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFC1 Starting Location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 322,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: fromLocation,\n onChange: handleFromLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select starting stop\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 324,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.name,\n children: stop.name\n }, stop.id, false, {\n fileName: _jsxFileName,\n lineNumber: 326,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 323,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFAF Destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 329,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: toLocation,\n onChange: handleToLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 331,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.name,\n children: stop.name\n }, stop.id, false, {\n fileName: _jsxFileName,\n lineNumber: 333,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 330,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: findOptimalRoute,\n disabled: searching,\n children: searching ? \"Finding Route...\" : \"Find Best Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 336,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.error,\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 339,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 321,\n columnNumber: 11\n }, this), result && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.result,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\u2705 Route Found\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 343,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: result.transfers === 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: \"\\uD83D\\uDE8C Direct route - No transfers needed!\"\n }, void 0, false) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [\"\\uD83D\\uDD04 \", result.transfers, \" transfer\", result.transfers > 1 ? 's' : '', \" required\"]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 344,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceStart * 1000).toFixed(0), \"m to \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.startStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 351,\n columnNumber: 82\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 351,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 15\n }, this), result.segments.map((segment, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.segment,\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: [index === 0 ? '🟢' : '🔄', \" \", segment.route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 355,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Board at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.fromStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 356,\n columnNumber: 32\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 356,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Ride \", segment.stops.length - 1, \" stop\", segment.stops.length > 2 ? 's' : '']\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 357,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Exit at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.toStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 358,\n columnNumber: 31\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 358,\n columnNumber: 19\n }, this), index < result.segments.length - 1 && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.transfer,\n children: [\"\\u2193 Transfer to \", result.segments[index + 1].route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 360,\n columnNumber: 21\n }, this)]\n }, index, true, {\n fileName: _jsxFileName,\n lineNumber: 354,\n columnNumber: 17\n }, this)), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m to destination\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 365,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 364,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.stats,\n children: [\"Total: \", result.totalStops, \" bus stops + \", ((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0), \"m walking\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 367,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 342,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.mapPanel,\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n ref: mapRef,\n className: styles.map\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 374,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 373,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 318,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n className: styles.linkButton,\n children: \"\\u2190 Return Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 377,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 315,\n columnNumber: 5\n }, this);\n};\n_s(PlanTripPage, \"BJkWI6YcChkCwBdhobILpv/9/gE=\");\n_c = PlanTripPage;\nexport default PlanTripPage;\nvar _c;\n$RefreshReg$(_c, \"PlanTripPage\");","map":{"version":3,"names":["React","useState","useEffect","useRef","Link","L","styles","mockRoutes","jsxDEV","_jsxDEV","Fragment","_Fragment","PlanTripPage","_s","routes","setRoutes","stops","setStops","fromLocation","setFromLocation","toLocation","setToLocation","fromCoords","setFromCoords","toCoords","setToCoords","loading","setLoading","searching","setSearching","result","setResult","error","setError","mapRef","mapInstanceRef","markersRef","routeLineRef","GT_CENTER","startIcon","icon","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","endIcon","transferIcon","stopIcon","allStops","stopKey","Set","forEach","route","stop","key","id","name","has","add","push","current","length","initMap","updateMap","getStopByName","find","s","handleFromLocationSelect","e","stopName","target","value","lat","latitude","lng","longitude","handleToLocationSelect","calculateDistance","lat1","lon1","lat2","lon2","toRadian","angle","Math","PI","R","dLat","dLon","a","sin","cos","c","atan2","sqrt","clearMarkers","marker","removeLayer","line","map","setView","tileLayer","attribution","addTo","allCoordinates","colors","bindPopup","startStop","polyline","color","weight","opacity","dashArray","segments","segment","index","coordinates","stopIndex","popupText","endStop","bounds","latLngBounds","fitBounds","padding","findRouteWithBFS","startStopId","endStopId","queue","best","idx","stopId","routeId","transfers","visitedCombo","shift","r","curIdx","findIndex","undefined","dir","i","fromStop","toStop","slice","min","max","allSegments","totalStops","reduce","sum","seg","otherRoute","transferIdx","newVisitedCombo","findOptimalRoute","walkDistStart","walkDistEnd","setTimeout","routeResult","walkingDistanceStart","walkingDistanceEnd","className","center","children","fileName","_jsxFileName","lineNumber","columnNumber","container","gridContainer","formPanel","form","onChange","select","onClick","disabled","highlight","walking","toFixed","transfer","stats","mapPanel","ref","to","linkButton","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { Route } from \"@/types/route\";\nimport { Stop } from \"@/types/stop\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\n\ninterface RouteSegment {\n route: Route;\n fromStop: Stop;\n toStop: Stop;\n stops: Stop[];\n}\ninterface RouteResult {\n segments: RouteSegment[];\n totalStops: number;\n transfers: number;\n startStop: Stop;\n endStop: Stop;\n walkingDistanceStart: number;\n walkingDistanceEnd: number;\n}\n\nconst PlanTripPage: React.FC = () => {\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState<{lat: number, lng: number} | null>(null);\n const [toCoords, setToCoords] = useState<{lat: number, lng: number} | null>(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n\n const GT_CENTER: [number, number] = [33.7756, -84.3963];\n\n // Custom marker icons -- same as before\n const startIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const endIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const transferIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const stopIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [20, 33], iconAnchor: [10, 33], popupAnchor: [1, -28], shadowSize: [33, 33] });\n\n useEffect(() => {\n setRoutes(mockRoutes);\n // Gather all stops from all routes\n const allStops: Stop[] = [];\n const stopKey = new Set(); // unique by id+name\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n const key = `${stop.id}|${stop.name}`;\n if (!stopKey.has(key)) {\n stopKey.add(key);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) initMap();\n }, [stops]);\n \n useEffect(() => {\n if (result && mapInstanceRef.current) updateMap();\n }, [result]);\n\n // --------- Utilities ----------\n function getStopByName(name: string): Stop | undefined {\n return stops.find(s => s.name === name);\n }\n function handleFromLocationSelect(e: React.ChangeEvent) {\n const stopName = e.target.value;\n setFromLocation(stopName); // use name as canonical reference here\n const stop = getStopByName(stopName);\n if (stop) setFromCoords({ lat: stop.latitude, lng: stop.longitude });\n }\n function handleToLocationSelect(e: React.ChangeEvent) {\n const stopName = e.target.value;\n setToLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setToCoords({ lat: stop.latitude, lng: stop.longitude });\n }\n const calculateDistance = (lat1: number, lon1: number, lat2: number, lon2: number): number => {\n const toRadian = (angle: number) => (Math.PI / 180) * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) ** 2 +\n Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) *\n Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n markersRef.current.forEach(marker => {\n if (marker) mapInstanceRef.current!.removeLayer(marker);\n });\n markersRef.current = [];\n routeLineRef.current.forEach(line => { if (line) mapInstanceRef.current!.removeLayer(line); });\n routeLineRef.current = [];\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const allCoordinates: [number, number][] = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n markersRef.current.push(\n L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`)\n .addTo(mapInstanceRef.current)\n );\n routeLineRef.current.push(\n L.polyline([\n [fromCoords.lat, fromCoords.lng],\n [result.startStop.latitude, result.startStop.longitude]\n ], { color: '#6B7280', weight: 3, opacity: 0.6, dashArray: '5, 10' }).addTo(mapInstanceRef.current)\n );\n }\n result.segments.forEach((segment, index) => {\n const coordinates: [number, number][] = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n routeLineRef.current.push(\n L.polyline(coordinates, { color: colors[index % colors.length], weight: 4, opacity: 0.7 }).addTo(mapInstanceRef.current!)\n );\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n markersRef.current.push(L.marker([stop.latitude, stop.longitude], { icon }).bindPopup(popupText).addTo(mapInstanceRef.current!));\n });\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n markersRef.current.push(L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`)\n .addTo(mapInstanceRef.current));\n routeLineRef.current.push(\n L.polyline([\n [result.endStop.latitude, result.endStop.longitude],\n [toCoords.lat, toCoords.lng]\n ], { color: '#6B7280', weight: 3, opacity: 0.6, dashArray: '5, 10' }).addTo(mapInstanceRef.current)\n );\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, { padding: [50, 50] });\n }\n };\n\n // Robust hybrid-BFS transfer algorithm as above\n const findRouteWithBFS = (\n startStopId: string,\n endStopId: string\n ): Omit | null => {\n interface BFSNode {\n stopId: string;\n routeId: string;\n segments: RouteSegment[];\n transfers: number;\n visitedCombo: Set;\n }\n const queue: BFSNode[] = [];\n const best: Record = {};\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n while (queue.length > 0) {\n const current = queue.shift()!;\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route?.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n if (stop.id === endStopId) {\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s =>\n s.id === stop.id\n );\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (\n !current.visitedCombo.has(key) &&\n (best[key] === undefined || best[key] > current.transfers + 1)\n ) {\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n i += dir;\n }\n }\n }\n return null;\n };\n\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n const fromStop = getStopByName(fromLocation);\n const toStop = getStopByName(toLocation);\n if (!fromStop || !toStop) {\n setError(\"Selected stop not found on the network.\");\n return;\n }\n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n setSearching(true); setError(\"\"); setResult(null);\n setTimeout(() => {\n const routeResult = findRouteWithBFS(fromStop.id, toStop.id);\n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these stops. Try a different combination.\");\n }\n setSearching(false);\n }, 200);\n };\n\n if (loading) {\n return (\n
\n

🚌 Loading GT Bus Data...

\n
\n );\n }\n\n return (\n
\n

🚌 Plan Your GT Trip

\n

Enter your start and end locations—every stop is available for bus routing with transfers!

\n
\n
\n

Plan Your Route

\n
\n \n \n \n \n \n {error &&

{error}

}\n
\n {result && (\n
\n

✅ Route Found

\n

\n {result.transfers === 0 ?\n <>🚌 Direct route - No transfers needed! :\n <>🔄 {result.transfers} transfer{result.transfers > 1 ? 's' : ''} required\n }\n

\n
\n

🚶 Walk {(result.walkingDistanceStart * 1000).toFixed(0)}m to {result.startStop.name}

\n
\n {result.segments.map((segment, index) => (\n
\n

{index === 0 ? '🟢' : '🔄'} {segment.route.name}

\n

Board at: {segment.fromStop.name}

\n

Ride {segment.stops.length - 1} stop{segment.stops.length > 2 ? 's' : ''}

\n

Exit at: {segment.toStop.name}

\n {index < result.segments.length - 1 && (\n

↓ Transfer to {result.segments[index + 1].route.name}

\n )}\n
\n ))}\n
\n

🚶 Walk {(result.walkingDistanceEnd * 1000).toFixed(0)}m to destination

\n
\n

\n Total: {result.totalStops} bus stops + {((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0)}m walking\n

\n
\n )}\n
\n
\n
\n
\n
\n \n ← Return Home\n \n
\n );\n};\n\nexport default PlanTripPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/2f6919a2584bbd3c578210a0e433c379596e71c57ceaed97ffb3324fb186a8a4.json b/Data-Viz/node_modules/.cache/babel-loader/2f6919a2584bbd3c578210a0e433c379596e71c57ceaed97ffb3324fb186a8a4.json new file mode 100644 index 000000000..422fbf06b --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/2f6919a2584bbd3c578210a0e433c379596e71c57ceaed97ffb3324fb186a8a4.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\n\"production\" !== process.env.NODE_ENV && function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\"%s(...) is deprecated in plain JavaScript React classes. %s\", info[0], info[1]);\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance = (publicInstance = publicInstance.constructor) && (publicInstance.displayName || publicInstance.name) || \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] || (console.error(\"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\", callerName, publicInstance), didWarnStateUpdateForUnmountedComponent[warningKey] = !0);\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 = \"function\" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || \"Object\";\n JSCompiler_temp_const.call(JSCompiler_inline_result, \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\", JSCompiler_inline_result$jscomp$0);\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE$2 ? null : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type) switch (\"number\" === typeof type.tag && console.error(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function isValidElementType(type) {\n return \"string\" === typeof type || \"function\" === typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_OFFSCREEN_TYPE || \"object\" === typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_CONSUMER_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_CLIENT_REFERENCE$1 || void 0 !== type.getModuleId) ? !0 : !1;\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n }\n 0 > disabledDepth && console.error(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix) try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || \"\";\n suffix = -1 < x.stack.indexOf(\"\\n at\") ? \" ()\" : -1 < x.stack.indexOf(\"@\") ? \"@unknown:0:0\" : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) && \"function\" === typeof Fake.catch && Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack) return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName = \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, \"name\");\n namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, \"name\", {\n value: \"DetermineComponentFrameRoot\"\n });\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes(\"DetermineComponentFrameRoot\");) namePropDescriptor++;\n for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes(\"DetermineComponentFrameRoot\");) _RunInRootFrame$Deter++;\n if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter];) _RunInRootFrame$Deter--;\n for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {\n var _frame = \"\\n\" + sampleLines[namePropDescriptor].replace(\" at new \", \" at \");\n fn.displayName && _frame.includes(\"\") && (_frame = _frame.replace(\"\", fn.displayName));\n \"function\" === typeof fn && componentFrameCache.set(fn, _frame);\n return _frame;\n } while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n reentry = !1, ReactSharedInternals.H = previousDispatcher, reenableLogs(), Error.prepareStackTrace = frame;\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\") ? describeBuiltInComponentFrame(sampleLines) : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(type, !(!prototype || !prototype.isReactComponent));\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type) switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return type = describeNativeComponentFrame(type.render, !1), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\", displayName));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error(\"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n }) : Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n value: null\n });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(oldElement.type, newKey, void 0, void 0, oldElement._owner, oldElement.props);\n newKey._store.validated = oldElement._store.validated;\n return newKey;\n }\n function validateChildKeys(node, parentType) {\n if (\"object\" === typeof node && node && node.$$typeof !== REACT_CLIENT_REFERENCE) if (isArrayImpl(node)) for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n } else if (isValidElement(node)) node._store && (node._store.validated = 1);else if (i = getIteratorFn(node), \"function\" === typeof i && i !== node.entries && (i = i.call(node), i !== node)) for (; !(node = i.next()).done;) isValidElement(node.value) && validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return \"object\" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n function validateExplicitKey(element, parentType) {\n if (element._store && !element._store.validated && null == element.key && (element._store.validated = 1, parentType = getCurrentComponentErrorInfo(parentType), !ownerHasKeyUseWarning[parentType])) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element && null != element._owner && element._owner !== getOwner() && (childOwner = null, \"number\" === typeof element._owner.tag ? childOwner = getComponentNameFromType(element._owner.type) : \"string\" === typeof element._owner.name && (childOwner = element._owner.name), childOwner = \" It was passed a child from \" + childOwner + \".\");\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error('Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.', parentType, childOwner);\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner && (owner = getComponentNameFromType(owner.type)) && (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info || (parentType = getComponentNameFromType(parentType)) && (info = \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\");\n return info;\n }\n function escape(key) {\n var escaperLookup = {\n \"=\": \"=0\",\n \":\": \"=2\"\n };\n return \"$\" + key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n });\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element && null !== element && null != element.key ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key)) : index.toString(36);\n }\n function noop$1() {}\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\"string\" === typeof thenable.status ? thenable.then(noop$1, noop$1) : (thenable.status = \"pending\", thenable.then(function (fulfilledValue) {\n \"pending\" === thenable.status && (thenable.status = \"fulfilled\", thenable.value = fulfilledValue);\n }, function (error) {\n \"pending\" === thenable.status && (thenable.status = \"rejected\", thenable.reason = error);\n })), thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;else switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return invokeCallback = children._init, mapIntoArray(invokeCallback(children._payload), array, escapedPrefix, nameSoFar, callback);\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey = \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback) ? (escapedPrefix = \"\", null != childKey && (escapedPrefix = childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"), mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n })) : null != callback && (isValidElement(callback) && (null != callback.key && (invokeCallback && invokeCallback.key === callback.key || checkKeyStringCoercion(callback.key)), escapedPrefix = cloneAndReplaceKey(callback, escapedPrefix + (null == callback.key || invokeCallback && invokeCallback.key === callback.key ? \"\" : (\"\" + callback.key).replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\") + childKey), \"\" !== nameSoFar && null != invokeCallback && isValidElement(invokeCallback) && null == invokeCallback.key && invokeCallback._store && !invokeCallback._store.validated && (escapedPrefix._store.validated = 2), callback = escapedPrefix), array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children)) for (var i = 0; i < children.length; i++) nameSoFar = children[i], type = childKey + getElementKey(nameSoFar, i), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback);else if (i = getIteratorFn(children), \"function\" === typeof i) for (i === children.entries && (didWarnAboutMaps || console.warn(\"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"), didWarnAboutMaps = !0), children = i.call(children), i = 0; !(nameSoFar = children.next()).done;) nameSoFar = nameSoFar.value, type = childKey + getElementKey(nameSoFar, i++), invokeCallback += mapIntoArray(nameSoFar, array, escapedPrefix, type, callback);else if (\"object\" === type) {\n if (\"function\" === typeof children.then) return mapIntoArray(resolveThenable(children), array, escapedPrefix, nameSoFar, callback);\n array = String(children);\n throw Error(\"Objects are not valid as a React child (found: \" + (\"[object Object]\" === array ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\" : array) + \"). If you meant to render a collection of children, use an array instead.\");\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(function (moduleObject) {\n if (0 === payload._status || -1 === payload._status) payload._status = 1, payload._result = moduleObject;\n }, function (error) {\n if (0 === payload._status || -1 === payload._status) payload._status = 2, payload._result = error;\n });\n -1 === payload._status && (payload._status = 0, payload._result = ctor);\n }\n if (1 === payload._status) return ctor = payload._result, void 0 === ctor && console.error(\"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\", ctor), \"default\" in ctor || console.error(\"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\", ctor), ctor.default;\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher && console.error(\"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\");\n return dispatcher;\n }\n function noop() {}\n function enqueueTask(task) {\n if (null === enqueueTaskImpl) try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(module, \"timers\").setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel && (didWarnAboutMessageChannel = !0, \"undefined\" === typeof MessageChannel && console.error(\"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError ? new AggregateError(errors) : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 && console.error(\"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \");\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue) if (0 !== queue.length) try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n } else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length ? (queue = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(queue)) : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && \"function\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\"object\" !== typeof partialState && \"function\" !== typeof partialState && null != partialState) throw Error(\"takes an object of state variables to update or a function which returns an object of state variables.\");\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\"isMounted\", \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"],\n replaceState: [\"replaceState\", \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"]\n },\n fnName;\n for (fnName in deprecatedAPIs) deprecatedAPIs.hasOwnProperty(fnName) && defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n actQueue: null,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\"function\" === typeof WeakMap ? WeakMap : Map)();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown,\n didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var ownerHasKeyUseWarning = {},\n didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError = \"function\" === typeof reportError ? reportError : function (error) {\n if (\"object\" === typeof window && \"function\" === typeof window.ErrorEvent) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message: \"object\" === typeof error && null !== error && \"string\" === typeof error.message ? String(error.message) : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\"object\" === typeof process && \"function\" === typeof process.emit) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks = \"function\" === typeof queueMicrotask ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n } : enqueueTask;\n exports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(children, function () {\n forEachFunc.apply(this, arguments);\n }, forEachContext);\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return mapChildren(children, function (child) {\n return child;\n }) || [];\n },\n only: function (children) {\n if (!isValidElement(children)) throw Error(\"React.Children.only expected to receive a single React element child.\");\n return children;\n }\n };\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE = ReactSharedInternals;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = ReactSharedInternals.actQueue = null !== prevActQueue ? prevActQueue : [],\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) throw popActScope(prevActQueue, prevActScopeDepth), callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;\n if (null !== result && \"object\" === typeof result && \"function\" === typeof result.then) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = !0, console.error(\"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue), enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n } catch (error$2) {\n ReactSharedInternals.thrownErrors.push(error$2);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(ReactSharedInternals.thrownErrors);\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n }, function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length ? (error = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, reject(error)) : reject(error);\n });\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth && (flushActQueue(queue), 0 !== queue.length && queueSeveralMicrotasks(function () {\n didAwaitActCall || didWarnNoAwaitAct || (didWarnNoAwaitAct = !0, console.error(\"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"));\n }), ReactSharedInternals.actQueue = null);\n if (0 < ReactSharedInternals.thrownErrors.length) throw callback = aggregateErrors(ReactSharedInternals.thrownErrors), ReactSharedInternals.thrownErrors.length = 0, callback;\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth ? (ReactSharedInternals.actQueue = queue, enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue$jscomp$0, resolve, reject);\n })) : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element) throw Error(\"The argument must be a React element, but you passed \" + element + \".\");\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (hasOwnProperty.call(config, \"ref\") && (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(config, \"ref\").get) && JSCompiler_inline_result.isReactWarning) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) && (checkKeyStringCoercion(config.key), key = \"\" + config.key);\n for (propName in config) !hasOwnProperty.call(config, propName) || \"key\" === propName || \"__self\" === propName || \"__source\" === propName || \"ref\" === propName && void 0 === config.ref || (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++) JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(element.type, key, void 0, void 0, owner, props);\n for (key = 2; key < arguments.length; key++) validateChildKeys(arguments[key], props.type);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n if (isValidElementType(type)) for (var i = 2; i < arguments.length; i++) validateChildKeys(arguments[i], type);else {\n i = \"\";\n if (void 0 === type || \"object\" === typeof type && null !== type && 0 === Object.keys(type).length) i += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n if (null === type) var typeString = \"null\";else isArrayImpl(type) ? typeString = \"array\" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (typeString = \"<\" + (getComponentNameFromType(type.type) || \"Unknown\") + \" />\", i = \" Did you accidentally export a JSX literal instead of a component?\") : typeString = typeof type;\n console.error(\"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", typeString, i);\n }\n var propName;\n i = {};\n typeString = null;\n if (null != config) for (propName in didWarnAboutOldJSXRuntime || !(\"__self\" in config) || \"key\" in config || (didWarnAboutOldJSXRuntime = !0, console.warn(\"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\")), hasValidKey(config) && (checkKeyStringCoercion(config.key), typeString = \"\" + config.key), config) hasOwnProperty.call(config, propName) && \"key\" !== propName && \"__self\" !== propName && \"__source\" !== propName && (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;else if (1 < childrenLength) {\n for (var childArray = Array(childrenLength), _i = 0; _i < childrenLength; _i++) childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps) for (propName in childrenLength = type.defaultProps, childrenLength) void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n typeString && defineKeyPropWarningGetter(i, \"function\" === typeof type ? type.displayName || type.name || \"Unknown\" : type);\n return ReactElement(type, typeString, void 0, void 0, getOwner(), i);\n };\n exports.createRef = function () {\n var refObject = {\n current: null\n };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE ? console.error(\"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\") : \"function\" !== typeof render ? console.error(\"forwardRef requires a render function but was given %s.\", null === render ? \"null\" : typeof render) : 0 !== render.length && 2 !== render.length && console.error(\"forwardRef render functions accept exactly two parameters: props and ref. %s\", 1 === render.length ? \"Did you forget to use the ref parameter?\" : \"Any additional parameter will be undefined.\");\n null != render && null != render.defaultProps && console.error(\"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\");\n var elementType = {\n $$typeof: REACT_FORWARD_REF_TYPE,\n render: render\n },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name || render.displayName || (Object.defineProperty(render, \"name\", {\n value: name\n }), render.displayName = name);\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: {\n _status: -1,\n _result: ctor\n },\n _init: lazyInitializer\n };\n };\n exports.memo = function (type, compare) {\n isValidElementType(type) || console.error(\"memo: The first argument must be a component. Instead received: %s\", null === type ? \"null\" : typeof type);\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name || type.displayName || (Object.defineProperty(type, \"name\", {\n value: name\n }), type.displayName = name);\n }\n });\n return compare;\n };\n exports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n currentTransition._updatedFibers = new Set();\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish && onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue && null !== returnValue && \"function\" === typeof returnValue.then && returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition && currentTransition._updatedFibers && (scope = currentTransition._updatedFibers.size, currentTransition._updatedFibers.clear(), 10 < scope && console.warn(\"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\")), ReactSharedInternals.T = prevTransition;\n }\n };\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(action, initialState, permalink);\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE && console.error(\"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\");\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, deps) {\n return resolveDispatcher().useEffect(create, deps);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (subscribe, getSnapshot, getServerSnapshot) {\n return resolveDispatcher().useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.0.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ && \"function\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop && __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n}();","map":{"version":3,"names":["process","env","NODE_ENV","defineDeprecationWarning","methodName","info","Object","defineProperty","Component","prototype","get","console","warn","getIteratorFn","maybeIterable","MAYBE_ITERATOR_SYMBOL","warnNoop","publicInstance","callerName","constructor","displayName","name","warningKey","didWarnStateUpdateForUnmountedComponent","error","props","context","updater","refs","emptyObject","ReactNoopUpdateQueue","ComponentDummy","PureComponent","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","call","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE$2","REACT_FRAGMENT_TYPE","REACT_PORTAL_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","tag","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","isValidElementType","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE$1","getModuleId","disabledLog","disableLogs","disabledDepth","prevLog","log","prevInfo","prevWarn","prevError","prevGroup","group","prevGroupCollapsed","groupCollapsed","prevGroupEnd","groupEnd","configurable","enumerable","writable","defineProperties","reenableLogs","assign","describeBuiltInComponentFrame","prefix","Error","match","stack","trim","suffix","indexOf","describeNativeComponentFrame","fn","construct","reentry","frame","componentFrameCache","prepareStackTrace","previousDispatcher","ReactSharedInternals","H","RunInRootFrame","DetermineComponentFrameRoot","Fake","set","Reflect","control","x$0","x$1","catch","sample","namePropDescriptor","getOwnPropertyDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","split","controlLines","length","includes","_frame","replace","describeUnknownElementTypeFrameInDEV","isReactComponent","getOwner","dispatcher","A","hasValidKey","config","hasOwnProperty","getter","isReactWarning","key","defineKeyPropWarningGetter","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ref","ReactElement","self","source","owner","REACT_ELEMENT_TYPE","_owner","_store","freeze","cloneAndReplaceKey","oldElement","newKey","validated","validateChildKeys","node","parentType","REACT_CLIENT_REFERENCE","isArrayImpl","i","child","isValidElement","validateExplicitKey","entries","next","done","object","element","getCurrentComponentErrorInfo","ownerHasKeyUseWarning","childOwner","prevGetCurrentStack","getCurrentStack","escape","escaperLookup","getElementKey","index","toString","noop$1","resolveThenable","thenable","status","reason","then","fulfilledValue","mapIntoArray","children","array","escapedPrefix","nameSoFar","callback","invokeCallback","childKey","userProvidedKeyEscapeRegex","c","push","didWarnAboutMaps","String","keys","join","mapChildren","func","result","count","lazyInitializer","payload","_status","ctor","_result","moduleObject","default","resolveDispatcher","noop","enqueueTask","task","enqueueTaskImpl","requireString","Math","random","slice","module","setImmediate","_err","didWarnAboutMessageChannel","MessageChannel","channel","port1","onmessage","port2","postMessage","aggregateErrors","errors","AggregateError","popActScope","prevActQueue","prevActScopeDepth","actScopeDepth","recursivelyFlushAsyncActWork","returnValue","resolve","reject","queue","actQueue","flushActQueue","thrownErrors","isFlushing","didUsePromise","continuation","splice","__REACT_DEVTOOLS_GLOBAL_HOOK__","registerInternalModuleStart","for","iterator","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","setState","partialState","forceUpdate","deprecatedAPIs","replaceState","fnName","isPureReactComponent","Array","isArray","T","S","isBatchingLegacy","didScheduleLegacyUpdate","__reactDisabledLog","WeakMap","Map","didWarnAboutOldJSXRuntime","reportGlobalError","reportError","window","ErrorEvent","event","bubbles","cancelable","message","dispatchEvent","emit","didWarnNoAwaitAct","queueSeveralMicrotasks","queueMicrotask","exports","Children","map","forEach","forEachFunc","forEachContext","apply","arguments","n","toArray","only","Fragment","Profiler","StrictMode","Suspense","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","act","didAwaitActCall","error$2","_thrownError","returnValue$jscomp$0","cache","cloneElement","a","propName","createContext","defaultValue","_currentValue","_currentValue2","_threadCount","Provider","Consumer","_currentRenderer","_currentRenderer2","createElement","typeString","childrenLength","childArray","_i","defaultProps","createRef","refObject","current","seal","forwardRef","elementType","ownName","lazy","memo","compare","startTransition","scope","prevTransition","currentTransition","_updatedFibers","Set","onStartTransitionFinish","size","clear","unstable_useCacheRefresh","useCacheRefresh","use","usable","useActionState","action","initialState","permalink","useCallback","deps","useContext","Context","useDebugValue","formatterFn","useDeferredValue","initialValue","useEffect","create","useId","useImperativeHandle","useInsertionEffect","useLayoutEffect","useMemo","useOptimistic","passthrough","reducer","useReducer","initialArg","init","useRef","useState","useSyncExternalStore","subscribe","getSnapshot","getServerSnapshot","useTransition","version","registerInternalModuleStop"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react/cjs/react.development.js"],"sourcesContent":["/**\n * @license React\n * react.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function defineDeprecationWarning(methodName, info) {\n Object.defineProperty(Component.prototype, methodName, {\n get: function () {\n console.warn(\n \"%s(...) is deprecated in plain JavaScript React classes. %s\",\n info[0],\n info[1]\n );\n }\n });\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable)\n return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function warnNoop(publicInstance, callerName) {\n publicInstance =\n ((publicInstance = publicInstance.constructor) &&\n (publicInstance.displayName || publicInstance.name)) ||\n \"ReactClass\";\n var warningKey = publicInstance + \".\" + callerName;\n didWarnStateUpdateForUnmountedComponent[warningKey] ||\n (console.error(\n \"Can't call %s on a component that is not yet mounted. This is a no-op, but it might indicate a bug in your application. Instead, assign to `this.state` directly or define a `state = {};` class property with the desired state in the %s component.\",\n callerName,\n publicInstance\n ),\n (didWarnStateUpdateForUnmountedComponent[warningKey] = !0));\n }\n function Component(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function ComponentDummy() {}\n function PureComponent(props, context, updater) {\n this.props = props;\n this.context = context;\n this.refs = emptyObject;\n this.updater = updater || ReactNoopUpdateQueue;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE$2\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function isValidElementType(type) {\n return \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE$1 ||\n void 0 !== type.getModuleId))\n ? !0\n : !1;\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = { configurable: !0, enumerable: !0, writable: !0 };\n Object.defineProperties(console, {\n log: assign({}, props, { value: prevLog }),\n info: assign({}, props, { value: prevInfo }),\n warn: assign({}, props, { value: prevWarn }),\n error: assign({}, props, { value: prevError }),\n group: assign({}, props, { value: prevGroup }),\n groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),\n groupEnd: assign({}, props, { value: prevGroupEnd })\n });\n }\n 0 > disabledDepth &&\n console.error(\n \"disabledDepth fell below zero. This is a bug in React. Please file an issue.\"\n );\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter =\n RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n _RunInRootFrame$Deter = namePropDescriptor = 0;\n namePropDescriptor < sampleLines.length &&\n !sampleLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n for (\n ;\n _RunInRootFrame$Deter < controlLines.length &&\n !controlLines[_RunInRootFrame$Deter].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n _RunInRootFrame$Deter++;\n if (\n namePropDescriptor === sampleLines.length ||\n _RunInRootFrame$Deter === controlLines.length\n )\n for (\n namePropDescriptor = sampleLines.length - 1,\n _RunInRootFrame$Deter = controlLines.length - 1;\n 1 <= namePropDescriptor &&\n 0 <= _RunInRootFrame$Deter &&\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter];\n\n )\n _RunInRootFrame$Deter--;\n for (\n ;\n 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;\n namePropDescriptor--, _RunInRootFrame$Deter--\n )\n if (\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter]\n ) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do\n if (\n (namePropDescriptor--,\n _RunInRootFrame$Deter--,\n 0 > _RunInRootFrame$Deter ||\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter])\n ) {\n var _frame =\n \"\\n\" +\n sampleLines[namePropDescriptor].replace(\n \" at new \",\n \" at \"\n );\n fn.displayName &&\n _frame.includes(\"\") &&\n (_frame = _frame.replace(\"\", fn.displayName));\n \"function\" === typeof fn &&\n componentFrameCache.set(fn, _frame);\n return _frame;\n }\n while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n (reentry = !1),\n (ReactSharedInternals.H = previousDispatcher),\n reenableLogs(),\n (Error.prepareStackTrace = frame);\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(sampleLines)\n : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(\n type,\n !(!prototype || !prototype.isReactComponent)\n );\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return (type = describeNativeComponentFrame(type.render, !1)), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function cloneAndReplaceKey(oldElement, newKey) {\n newKey = ReactElement(\n oldElement.type,\n newKey,\n void 0,\n void 0,\n oldElement._owner,\n oldElement.props\n );\n newKey._store.validated = oldElement._store.validated;\n return newKey;\n }\n function validateChildKeys(node, parentType) {\n if (\n \"object\" === typeof node &&\n node &&\n node.$$typeof !== REACT_CLIENT_REFERENCE\n )\n if (isArrayImpl(node))\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n }\n else if (isValidElement(node))\n node._store && (node._store.validated = 1);\n else if (\n ((i = getIteratorFn(node)),\n \"function\" === typeof i &&\n i !== node.entries &&\n ((i = i.call(node)), i !== node))\n )\n for (; !(node = i.next()).done; )\n isValidElement(node.value) &&\n validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function validateExplicitKey(element, parentType) {\n if (\n element._store &&\n !element._store.validated &&\n null == element.key &&\n ((element._store.validated = 1),\n (parentType = getCurrentComponentErrorInfo(parentType)),\n !ownerHasKeyUseWarning[parentType])\n ) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element &&\n null != element._owner &&\n element._owner !== getOwner() &&\n ((childOwner = null),\n \"number\" === typeof element._owner.tag\n ? (childOwner = getComponentNameFromType(element._owner.type))\n : \"string\" === typeof element._owner.name &&\n (childOwner = element._owner.name),\n (childOwner = \" It was passed a child from \" + childOwner + \".\"));\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error(\n 'Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.',\n parentType,\n childOwner\n );\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner &&\n (owner = getComponentNameFromType(owner.type)) &&\n (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info ||\n ((parentType = getComponentNameFromType(parentType)) &&\n (info =\n \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\"));\n return info;\n }\n function escape(key) {\n var escaperLookup = { \"=\": \"=0\", \":\": \"=2\" };\n return (\n \"$\" +\n key.replace(/[=:]/g, function (match) {\n return escaperLookup[match];\n })\n );\n }\n function getElementKey(element, index) {\n return \"object\" === typeof element &&\n null !== element &&\n null != element.key\n ? (checkKeyStringCoercion(element.key), escape(\"\" + element.key))\n : index.toString(36);\n }\n function noop$1() {}\n function resolveThenable(thenable) {\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n switch (\n (\"string\" === typeof thenable.status\n ? thenable.then(noop$1, noop$1)\n : ((thenable.status = \"pending\"),\n thenable.then(\n function (fulfilledValue) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"fulfilled\"),\n (thenable.value = fulfilledValue));\n },\n function (error) {\n \"pending\" === thenable.status &&\n ((thenable.status = \"rejected\"),\n (thenable.reason = error));\n }\n )),\n thenable.status)\n ) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n }\n throw thenable;\n }\n function mapIntoArray(children, array, escapedPrefix, nameSoFar, callback) {\n var type = typeof children;\n if (\"undefined\" === type || \"boolean\" === type) children = null;\n var invokeCallback = !1;\n if (null === children) invokeCallback = !0;\n else\n switch (type) {\n case \"bigint\":\n case \"string\":\n case \"number\":\n invokeCallback = !0;\n break;\n case \"object\":\n switch (children.$$typeof) {\n case REACT_ELEMENT_TYPE:\n case REACT_PORTAL_TYPE:\n invokeCallback = !0;\n break;\n case REACT_LAZY_TYPE:\n return (\n (invokeCallback = children._init),\n mapIntoArray(\n invokeCallback(children._payload),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n )\n );\n }\n }\n if (invokeCallback) {\n invokeCallback = children;\n callback = callback(invokeCallback);\n var childKey =\n \"\" === nameSoFar ? \".\" + getElementKey(invokeCallback, 0) : nameSoFar;\n isArrayImpl(callback)\n ? ((escapedPrefix = \"\"),\n null != childKey &&\n (escapedPrefix =\n childKey.replace(userProvidedKeyEscapeRegex, \"$&/\") + \"/\"),\n mapIntoArray(callback, array, escapedPrefix, \"\", function (c) {\n return c;\n }))\n : null != callback &&\n (isValidElement(callback) &&\n (null != callback.key &&\n ((invokeCallback && invokeCallback.key === callback.key) ||\n checkKeyStringCoercion(callback.key)),\n (escapedPrefix = cloneAndReplaceKey(\n callback,\n escapedPrefix +\n (null == callback.key ||\n (invokeCallback && invokeCallback.key === callback.key)\n ? \"\"\n : (\"\" + callback.key).replace(\n userProvidedKeyEscapeRegex,\n \"$&/\"\n ) + \"/\") +\n childKey\n )),\n \"\" !== nameSoFar &&\n null != invokeCallback &&\n isValidElement(invokeCallback) &&\n null == invokeCallback.key &&\n invokeCallback._store &&\n !invokeCallback._store.validated &&\n (escapedPrefix._store.validated = 2),\n (callback = escapedPrefix)),\n array.push(callback));\n return 1;\n }\n invokeCallback = 0;\n childKey = \"\" === nameSoFar ? \".\" : nameSoFar + \":\";\n if (isArrayImpl(children))\n for (var i = 0; i < children.length; i++)\n (nameSoFar = children[i]),\n (type = childKey + getElementKey(nameSoFar, i)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (((i = getIteratorFn(children)), \"function\" === typeof i))\n for (\n i === children.entries &&\n (didWarnAboutMaps ||\n console.warn(\n \"Using Maps as children is not supported. Use an array of keyed ReactElements instead.\"\n ),\n (didWarnAboutMaps = !0)),\n children = i.call(children),\n i = 0;\n !(nameSoFar = children.next()).done;\n\n )\n (nameSoFar = nameSoFar.value),\n (type = childKey + getElementKey(nameSoFar, i++)),\n (invokeCallback += mapIntoArray(\n nameSoFar,\n array,\n escapedPrefix,\n type,\n callback\n ));\n else if (\"object\" === type) {\n if (\"function\" === typeof children.then)\n return mapIntoArray(\n resolveThenable(children),\n array,\n escapedPrefix,\n nameSoFar,\n callback\n );\n array = String(children);\n throw Error(\n \"Objects are not valid as a React child (found: \" +\n (\"[object Object]\" === array\n ? \"object with keys {\" + Object.keys(children).join(\", \") + \"}\"\n : array) +\n \"). If you meant to render a collection of children, use an array instead.\"\n );\n }\n return invokeCallback;\n }\n function mapChildren(children, func, context) {\n if (null == children) return children;\n var result = [],\n count = 0;\n mapIntoArray(children, result, \"\", \"\", function (child) {\n return func.call(context, child, count++);\n });\n return result;\n }\n function lazyInitializer(payload) {\n if (-1 === payload._status) {\n var ctor = payload._result;\n ctor = ctor();\n ctor.then(\n function (moduleObject) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 1), (payload._result = moduleObject);\n },\n function (error) {\n if (0 === payload._status || -1 === payload._status)\n (payload._status = 2), (payload._result = error);\n }\n );\n -1 === payload._status &&\n ((payload._status = 0), (payload._result = ctor));\n }\n if (1 === payload._status)\n return (\n (ctor = payload._result),\n void 0 === ctor &&\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\\n\\nDid you accidentally put curly braces around the import?\",\n ctor\n ),\n \"default\" in ctor ||\n console.error(\n \"lazy: Expected the result of a dynamic import() call. Instead received: %s\\n\\nYour code should look like: \\n const MyComponent = lazy(() => import('./MyComponent'))\",\n ctor\n ),\n ctor.default\n );\n throw payload._result;\n }\n function resolveDispatcher() {\n var dispatcher = ReactSharedInternals.H;\n null === dispatcher &&\n console.error(\n \"Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\\n1. You might have mismatching versions of React and the renderer (such as React DOM)\\n2. You might be breaking the Rules of Hooks\\n3. You might have more than one copy of React in the same app\\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.\"\n );\n return dispatcher;\n }\n function noop() {}\n function enqueueTask(task) {\n if (null === enqueueTaskImpl)\n try {\n var requireString = (\"require\" + Math.random()).slice(0, 7);\n enqueueTaskImpl = (module && module[requireString]).call(\n module,\n \"timers\"\n ).setImmediate;\n } catch (_err) {\n enqueueTaskImpl = function (callback) {\n !1 === didWarnAboutMessageChannel &&\n ((didWarnAboutMessageChannel = !0),\n \"undefined\" === typeof MessageChannel &&\n console.error(\n \"This browser does not have a MessageChannel implementation, so enqueuing tasks via await act(async () => ...) will fail. Please file an issue at https://github.com/facebook/react/issues if you encounter this warning.\"\n ));\n var channel = new MessageChannel();\n channel.port1.onmessage = callback;\n channel.port2.postMessage(void 0);\n };\n }\n return enqueueTaskImpl(task);\n }\n function aggregateErrors(errors) {\n return 1 < errors.length && \"function\" === typeof AggregateError\n ? new AggregateError(errors)\n : errors[0];\n }\n function popActScope(prevActQueue, prevActScopeDepth) {\n prevActScopeDepth !== actScopeDepth - 1 &&\n console.error(\n \"You seem to have overlapping act() calls, this is not supported. Be sure to await previous act() calls before making a new one. \"\n );\n actScopeDepth = prevActScopeDepth;\n }\n function recursivelyFlushAsyncActWork(returnValue, resolve, reject) {\n var queue = ReactSharedInternals.actQueue;\n if (null !== queue)\n if (0 !== queue.length)\n try {\n flushActQueue(queue);\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(returnValue, resolve, reject);\n });\n return;\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n else ReactSharedInternals.actQueue = null;\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((queue = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(queue))\n : resolve(returnValue);\n }\n function flushActQueue(queue) {\n if (!isFlushing) {\n isFlushing = !0;\n var i = 0;\n try {\n for (; i < queue.length; i++) {\n var callback = queue[i];\n do {\n ReactSharedInternals.didUsePromise = !1;\n var continuation = callback(!1);\n if (null !== continuation) {\n if (ReactSharedInternals.didUsePromise) {\n queue[i] = callback;\n queue.splice(0, i);\n return;\n }\n callback = continuation;\n } else break;\n } while (1);\n }\n queue.length = 0;\n } catch (error) {\n queue.splice(0, i + 1), ReactSharedInternals.thrownErrors.push(error);\n } finally {\n isFlushing = !1;\n }\n }\n }\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(Error());\n var REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n didWarnStateUpdateForUnmountedComponent = {},\n ReactNoopUpdateQueue = {\n isMounted: function () {\n return !1;\n },\n enqueueForceUpdate: function (publicInstance) {\n warnNoop(publicInstance, \"forceUpdate\");\n },\n enqueueReplaceState: function (publicInstance) {\n warnNoop(publicInstance, \"replaceState\");\n },\n enqueueSetState: function (publicInstance) {\n warnNoop(publicInstance, \"setState\");\n }\n },\n assign = Object.assign,\n emptyObject = {};\n Object.freeze(emptyObject);\n Component.prototype.isReactComponent = {};\n Component.prototype.setState = function (partialState, callback) {\n if (\n \"object\" !== typeof partialState &&\n \"function\" !== typeof partialState &&\n null != partialState\n )\n throw Error(\n \"takes an object of state variables to update or a function which returns an object of state variables.\"\n );\n this.updater.enqueueSetState(this, partialState, callback, \"setState\");\n };\n Component.prototype.forceUpdate = function (callback) {\n this.updater.enqueueForceUpdate(this, callback, \"forceUpdate\");\n };\n var deprecatedAPIs = {\n isMounted: [\n \"isMounted\",\n \"Instead, make sure to clean up subscriptions and pending requests in componentWillUnmount to prevent memory leaks.\"\n ],\n replaceState: [\n \"replaceState\",\n \"Refactor your code to use setState instead (see https://github.com/facebook/react/issues/3236).\"\n ]\n },\n fnName;\n for (fnName in deprecatedAPIs)\n deprecatedAPIs.hasOwnProperty(fnName) &&\n defineDeprecationWarning(fnName, deprecatedAPIs[fnName]);\n ComponentDummy.prototype = Component.prototype;\n deprecatedAPIs = PureComponent.prototype = new ComponentDummy();\n deprecatedAPIs.constructor = PureComponent;\n assign(deprecatedAPIs, Component.prototype);\n deprecatedAPIs.isPureReactComponent = !0;\n var isArrayImpl = Array.isArray,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = {\n H: null,\n A: null,\n T: null,\n S: null,\n actQueue: null,\n isBatchingLegacy: !1,\n didScheduleLegacyUpdate: !1,\n didUsePromise: !1,\n thrownErrors: [],\n getCurrentStack: null\n },\n hasOwnProperty = Object.prototype.hasOwnProperty,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\n \"function\" === typeof WeakMap ? WeakMap : Map\n )();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown,\n didWarnAboutOldJSXRuntime;\n var didWarnAboutElementRef = {};\n var ownerHasKeyUseWarning = {},\n didWarnAboutMaps = !1,\n userProvidedKeyEscapeRegex = /\\/+/g,\n reportGlobalError =\n \"function\" === typeof reportError\n ? reportError\n : function (error) {\n if (\n \"object\" === typeof window &&\n \"function\" === typeof window.ErrorEvent\n ) {\n var event = new window.ErrorEvent(\"error\", {\n bubbles: !0,\n cancelable: !0,\n message:\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.message\n ? String(error.message)\n : String(error),\n error: error\n });\n if (!window.dispatchEvent(event)) return;\n } else if (\n \"object\" === typeof process &&\n \"function\" === typeof process.emit\n ) {\n process.emit(\"uncaughtException\", error);\n return;\n }\n console.error(error);\n },\n didWarnAboutMessageChannel = !1,\n enqueueTaskImpl = null,\n actScopeDepth = 0,\n didWarnNoAwaitAct = !1,\n isFlushing = !1,\n queueSeveralMicrotasks =\n \"function\" === typeof queueMicrotask\n ? function (callback) {\n queueMicrotask(function () {\n return queueMicrotask(callback);\n });\n }\n : enqueueTask;\n exports.Children = {\n map: mapChildren,\n forEach: function (children, forEachFunc, forEachContext) {\n mapChildren(\n children,\n function () {\n forEachFunc.apply(this, arguments);\n },\n forEachContext\n );\n },\n count: function (children) {\n var n = 0;\n mapChildren(children, function () {\n n++;\n });\n return n;\n },\n toArray: function (children) {\n return (\n mapChildren(children, function (child) {\n return child;\n }) || []\n );\n },\n only: function (children) {\n if (!isValidElement(children))\n throw Error(\n \"React.Children.only expected to receive a single React element child.\"\n );\n return children;\n }\n };\n exports.Component = Component;\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.Profiler = REACT_PROFILER_TYPE;\n exports.PureComponent = PureComponent;\n exports.StrictMode = REACT_STRICT_MODE_TYPE;\n exports.Suspense = REACT_SUSPENSE_TYPE;\n exports.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE =\n ReactSharedInternals;\n exports.act = function (callback) {\n var prevActQueue = ReactSharedInternals.actQueue,\n prevActScopeDepth = actScopeDepth;\n actScopeDepth++;\n var queue = (ReactSharedInternals.actQueue =\n null !== prevActQueue ? prevActQueue : []),\n didAwaitActCall = !1;\n try {\n var result = callback();\n } catch (error) {\n ReactSharedInternals.thrownErrors.push(error);\n }\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n (popActScope(prevActQueue, prevActScopeDepth),\n (callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n if (\n null !== result &&\n \"object\" === typeof result &&\n \"function\" === typeof result.then\n ) {\n var thenable = result;\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"You called act(async () => ...) without await. This could lead to unexpected testing behaviour, interleaving multiple act calls and mixing their scopes. You should - await act(async () => ...);\"\n ));\n });\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n thenable.then(\n function (returnValue) {\n popActScope(prevActQueue, prevActScopeDepth);\n if (0 === prevActScopeDepth) {\n try {\n flushActQueue(queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue,\n resolve,\n reject\n );\n });\n } catch (error$2) {\n ReactSharedInternals.thrownErrors.push(error$2);\n }\n if (0 < ReactSharedInternals.thrownErrors.length) {\n var _thrownError = aggregateErrors(\n ReactSharedInternals.thrownErrors\n );\n ReactSharedInternals.thrownErrors.length = 0;\n reject(_thrownError);\n }\n } else resolve(returnValue);\n },\n function (error) {\n popActScope(prevActQueue, prevActScopeDepth);\n 0 < ReactSharedInternals.thrownErrors.length\n ? ((error = aggregateErrors(\n ReactSharedInternals.thrownErrors\n )),\n (ReactSharedInternals.thrownErrors.length = 0),\n reject(error))\n : reject(error);\n }\n );\n }\n };\n }\n var returnValue$jscomp$0 = result;\n popActScope(prevActQueue, prevActScopeDepth);\n 0 === prevActScopeDepth &&\n (flushActQueue(queue),\n 0 !== queue.length &&\n queueSeveralMicrotasks(function () {\n didAwaitActCall ||\n didWarnNoAwaitAct ||\n ((didWarnNoAwaitAct = !0),\n console.error(\n \"A component suspended inside an `act` scope, but the `act` call was not awaited. When testing React components that depend on asynchronous data, you must await the result:\\n\\nawait act(() => ...)\"\n ));\n }),\n (ReactSharedInternals.actQueue = null));\n if (0 < ReactSharedInternals.thrownErrors.length)\n throw (\n ((callback = aggregateErrors(ReactSharedInternals.thrownErrors)),\n (ReactSharedInternals.thrownErrors.length = 0),\n callback)\n );\n return {\n then: function (resolve, reject) {\n didAwaitActCall = !0;\n 0 === prevActScopeDepth\n ? ((ReactSharedInternals.actQueue = queue),\n enqueueTask(function () {\n return recursivelyFlushAsyncActWork(\n returnValue$jscomp$0,\n resolve,\n reject\n );\n }))\n : resolve(returnValue$jscomp$0);\n }\n };\n };\n exports.cache = function (fn) {\n return function () {\n return fn.apply(null, arguments);\n };\n };\n exports.cloneElement = function (element, config, children) {\n if (null === element || void 0 === element)\n throw Error(\n \"The argument must be a React element, but you passed \" +\n element +\n \".\"\n );\n var props = assign({}, element.props),\n key = element.key,\n owner = element._owner;\n if (null != config) {\n var JSCompiler_inline_result;\n a: {\n if (\n hasOwnProperty.call(config, \"ref\") &&\n (JSCompiler_inline_result = Object.getOwnPropertyDescriptor(\n config,\n \"ref\"\n ).get) &&\n JSCompiler_inline_result.isReactWarning\n ) {\n JSCompiler_inline_result = !1;\n break a;\n }\n JSCompiler_inline_result = void 0 !== config.ref;\n }\n JSCompiler_inline_result && (owner = getOwner());\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (key = \"\" + config.key));\n for (propName in config)\n !hasOwnProperty.call(config, propName) ||\n \"key\" === propName ||\n \"__self\" === propName ||\n \"__source\" === propName ||\n (\"ref\" === propName && void 0 === config.ref) ||\n (props[propName] = config[propName]);\n }\n var propName = arguments.length - 2;\n if (1 === propName) props.children = children;\n else if (1 < propName) {\n JSCompiler_inline_result = Array(propName);\n for (var i = 0; i < propName; i++)\n JSCompiler_inline_result[i] = arguments[i + 2];\n props.children = JSCompiler_inline_result;\n }\n props = ReactElement(element.type, key, void 0, void 0, owner, props);\n for (key = 2; key < arguments.length; key++)\n validateChildKeys(arguments[key], props.type);\n return props;\n };\n exports.createContext = function (defaultValue) {\n defaultValue = {\n $$typeof: REACT_CONTEXT_TYPE,\n _currentValue: defaultValue,\n _currentValue2: defaultValue,\n _threadCount: 0,\n Provider: null,\n Consumer: null\n };\n defaultValue.Provider = defaultValue;\n defaultValue.Consumer = {\n $$typeof: REACT_CONSUMER_TYPE,\n _context: defaultValue\n };\n defaultValue._currentRenderer = null;\n defaultValue._currentRenderer2 = null;\n return defaultValue;\n };\n exports.createElement = function (type, config, children) {\n if (isValidElementType(type))\n for (var i = 2; i < arguments.length; i++)\n validateChildKeys(arguments[i], type);\n else {\n i = \"\";\n if (\n void 0 === type ||\n (\"object\" === typeof type &&\n null !== type &&\n 0 === Object.keys(type).length)\n )\n i +=\n \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n if (null === type) var typeString = \"null\";\n else\n isArrayImpl(type)\n ? (typeString = \"array\")\n : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE\n ? ((typeString =\n \"<\" +\n (getComponentNameFromType(type.type) || \"Unknown\") +\n \" />\"),\n (i =\n \" Did you accidentally export a JSX literal instead of a component?\"))\n : (typeString = typeof type);\n console.error(\n \"React.createElement: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",\n typeString,\n i\n );\n }\n var propName;\n i = {};\n typeString = null;\n if (null != config)\n for (propName in (didWarnAboutOldJSXRuntime ||\n !(\"__self\" in config) ||\n \"key\" in config ||\n ((didWarnAboutOldJSXRuntime = !0),\n console.warn(\n \"Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform\"\n )),\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (typeString = \"\" + config.key)),\n config))\n hasOwnProperty.call(config, propName) &&\n \"key\" !== propName &&\n \"__self\" !== propName &&\n \"__source\" !== propName &&\n (i[propName] = config[propName]);\n var childrenLength = arguments.length - 2;\n if (1 === childrenLength) i.children = children;\n else if (1 < childrenLength) {\n for (\n var childArray = Array(childrenLength), _i = 0;\n _i < childrenLength;\n _i++\n )\n childArray[_i] = arguments[_i + 2];\n Object.freeze && Object.freeze(childArray);\n i.children = childArray;\n }\n if (type && type.defaultProps)\n for (propName in ((childrenLength = type.defaultProps), childrenLength))\n void 0 === i[propName] && (i[propName] = childrenLength[propName]);\n typeString &&\n defineKeyPropWarningGetter(\n i,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(type, typeString, void 0, void 0, getOwner(), i);\n };\n exports.createRef = function () {\n var refObject = { current: null };\n Object.seal(refObject);\n return refObject;\n };\n exports.forwardRef = function (render) {\n null != render && render.$$typeof === REACT_MEMO_TYPE\n ? console.error(\n \"forwardRef requires a render function but received a `memo` component. Instead of forwardRef(memo(...)), use memo(forwardRef(...)).\"\n )\n : \"function\" !== typeof render\n ? console.error(\n \"forwardRef requires a render function but was given %s.\",\n null === render ? \"null\" : typeof render\n )\n : 0 !== render.length &&\n 2 !== render.length &&\n console.error(\n \"forwardRef render functions accept exactly two parameters: props and ref. %s\",\n 1 === render.length\n ? \"Did you forget to use the ref parameter?\"\n : \"Any additional parameter will be undefined.\"\n );\n null != render &&\n null != render.defaultProps &&\n console.error(\n \"forwardRef render functions do not support defaultProps. Did you accidentally pass a React component?\"\n );\n var elementType = { $$typeof: REACT_FORWARD_REF_TYPE, render: render },\n ownName;\n Object.defineProperty(elementType, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n render.name ||\n render.displayName ||\n (Object.defineProperty(render, \"name\", { value: name }),\n (render.displayName = name));\n }\n });\n return elementType;\n };\n exports.isValidElement = isValidElement;\n exports.lazy = function (ctor) {\n return {\n $$typeof: REACT_LAZY_TYPE,\n _payload: { _status: -1, _result: ctor },\n _init: lazyInitializer\n };\n };\n exports.memo = function (type, compare) {\n isValidElementType(type) ||\n console.error(\n \"memo: The first argument must be a component. Instead received: %s\",\n null === type ? \"null\" : typeof type\n );\n compare = {\n $$typeof: REACT_MEMO_TYPE,\n type: type,\n compare: void 0 === compare ? null : compare\n };\n var ownName;\n Object.defineProperty(compare, \"displayName\", {\n enumerable: !1,\n configurable: !0,\n get: function () {\n return ownName;\n },\n set: function (name) {\n ownName = name;\n type.name ||\n type.displayName ||\n (Object.defineProperty(type, \"name\", { value: name }),\n (type.displayName = name));\n }\n });\n return compare;\n };\n exports.startTransition = function (scope) {\n var prevTransition = ReactSharedInternals.T,\n currentTransition = {};\n ReactSharedInternals.T = currentTransition;\n currentTransition._updatedFibers = new Set();\n try {\n var returnValue = scope(),\n onStartTransitionFinish = ReactSharedInternals.S;\n null !== onStartTransitionFinish &&\n onStartTransitionFinish(currentTransition, returnValue);\n \"object\" === typeof returnValue &&\n null !== returnValue &&\n \"function\" === typeof returnValue.then &&\n returnValue.then(noop, reportGlobalError);\n } catch (error) {\n reportGlobalError(error);\n } finally {\n null === prevTransition &&\n currentTransition._updatedFibers &&\n ((scope = currentTransition._updatedFibers.size),\n currentTransition._updatedFibers.clear(),\n 10 < scope &&\n console.warn(\n \"Detected a large number of updates inside startTransition. If this is due to a subscription please re-write it to use React provided hooks. Otherwise concurrent mode guarantees are off the table.\"\n )),\n (ReactSharedInternals.T = prevTransition);\n }\n };\n exports.unstable_useCacheRefresh = function () {\n return resolveDispatcher().useCacheRefresh();\n };\n exports.use = function (usable) {\n return resolveDispatcher().use(usable);\n };\n exports.useActionState = function (action, initialState, permalink) {\n return resolveDispatcher().useActionState(\n action,\n initialState,\n permalink\n );\n };\n exports.useCallback = function (callback, deps) {\n return resolveDispatcher().useCallback(callback, deps);\n };\n exports.useContext = function (Context) {\n var dispatcher = resolveDispatcher();\n Context.$$typeof === REACT_CONSUMER_TYPE &&\n console.error(\n \"Calling useContext(Context.Consumer) is not supported and will cause bugs. Did you mean to call useContext(Context) instead?\"\n );\n return dispatcher.useContext(Context);\n };\n exports.useDebugValue = function (value, formatterFn) {\n return resolveDispatcher().useDebugValue(value, formatterFn);\n };\n exports.useDeferredValue = function (value, initialValue) {\n return resolveDispatcher().useDeferredValue(value, initialValue);\n };\n exports.useEffect = function (create, deps) {\n return resolveDispatcher().useEffect(create, deps);\n };\n exports.useId = function () {\n return resolveDispatcher().useId();\n };\n exports.useImperativeHandle = function (ref, create, deps) {\n return resolveDispatcher().useImperativeHandle(ref, create, deps);\n };\n exports.useInsertionEffect = function (create, deps) {\n return resolveDispatcher().useInsertionEffect(create, deps);\n };\n exports.useLayoutEffect = function (create, deps) {\n return resolveDispatcher().useLayoutEffect(create, deps);\n };\n exports.useMemo = function (create, deps) {\n return resolveDispatcher().useMemo(create, deps);\n };\n exports.useOptimistic = function (passthrough, reducer) {\n return resolveDispatcher().useOptimistic(passthrough, reducer);\n };\n exports.useReducer = function (reducer, initialArg, init) {\n return resolveDispatcher().useReducer(reducer, initialArg, init);\n };\n exports.useRef = function (initialValue) {\n return resolveDispatcher().useRef(initialValue);\n };\n exports.useState = function (initialState) {\n return resolveDispatcher().useState(initialState);\n };\n exports.useSyncExternalStore = function (\n subscribe,\n getSnapshot,\n getServerSnapshot\n ) {\n return resolveDispatcher().useSyncExternalStore(\n subscribe,\n getSnapshot,\n getServerSnapshot\n );\n };\n exports.useTransition = function () {\n return resolveDispatcher().useTransition();\n };\n exports.version = \"19.0.0\";\n \"undefined\" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&\n \"function\" ===\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&\n __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop(Error());\n })();\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/3337e7533a2ccfabc7ca1bd54a31deb0dadef680e7fd720a1a57f1443b509df6.json b/Data-Viz/node_modules/.cache/babel-loader/3337e7533a2ccfabc7ca1bd54a31deb0dadef680e7fd720a1a57f1443b509df6.json new file mode 100644 index 000000000..1021084e9 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/3337e7533a2ccfabc7ca1bd54a31deb0dadef680e7fd720a1a57f1443b509df6.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};","map":{"version":3,"names":["call","require","isCallable","isObject","$TypeError","TypeError","module","exports","input","pref","fn","val","toString","valueOf"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/ordinary-to-primitive.js"],"sourcesContent":["'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw new $TypeError(\"Can't convert object to primitive value\");\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,IAAI,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AAChD,IAAIC,UAAU,GAAGD,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIE,QAAQ,GAAGF,OAAO,CAAC,wBAAwB,CAAC;AAEhD,IAAIG,UAAU,GAAGC,SAAS;;AAE1B;AACA;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,KAAK,EAAEC,IAAI,EAAE;EACtC,IAAIC,EAAE,EAAEC,GAAG;EACX,IAAIF,IAAI,KAAK,QAAQ,IAAIP,UAAU,CAACQ,EAAE,GAAGF,KAAK,CAACI,QAAQ,CAAC,IAAI,CAACT,QAAQ,CAACQ,GAAG,GAAGX,IAAI,CAACU,EAAE,EAAEF,KAAK,CAAC,CAAC,EAAE,OAAOG,GAAG;EACxG,IAAIT,UAAU,CAACQ,EAAE,GAAGF,KAAK,CAACK,OAAO,CAAC,IAAI,CAACV,QAAQ,CAACQ,GAAG,GAAGX,IAAI,CAACU,EAAE,EAAEF,KAAK,CAAC,CAAC,EAAE,OAAOG,GAAG;EAClF,IAAIF,IAAI,KAAK,QAAQ,IAAIP,UAAU,CAACQ,EAAE,GAAGF,KAAK,CAACI,QAAQ,CAAC,IAAI,CAACT,QAAQ,CAACQ,GAAG,GAAGX,IAAI,CAACU,EAAE,EAAEF,KAAK,CAAC,CAAC,EAAE,OAAOG,GAAG;EACxG,MAAM,IAAIP,UAAU,CAAC,yCAAyC,CAAC;AACjE,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/35eaba6039ae115cb533546e7022c0a6cfce83c00a0c980a3eca5e6cdfde3ae4.json b/Data-Viz/node_modules/.cache/babel-loader/35eaba6039ae115cb533546e7022c0a6cfce83c00a0c980a3eca5e6cdfde3ae4.json new file mode 100644 index 000000000..e9e296aae --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/35eaba6039ae115cb533546e7022c0a6cfce83c00a0c980a3eca5e6cdfde3ae4.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}","map":{"version":3,"names":["process","env","NODE_ENV","module","exports","require"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react/index.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCC,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AACvD,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,4BAA4B,CAAC;AACxD","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/3958c6360d772901ecb7f92f4ab13c2eaf0c8f3281f1751c3dc980c386448f0f.json b/Data-Viz/node_modules/.cache/babel-loader/3958c6360d772901ecb7f92f4ab13c2eaf0c8f3281f1751c3dc980c386448f0f.json new file mode 100644 index 000000000..d2ae2e7e5 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/3958c6360d772901ecb7f92f4ab13c2eaf0c8f3281f1751c3dc980c386448f0f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar $Object = Object;\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};","map":{"version":3,"names":["getBuiltIn","require","isCallable","isPrototypeOf","USE_SYMBOL_AS_UID","$Object","Object","module","exports","it","$Symbol","prototype"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/is-symbol.js"],"sourcesContent":["'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,UAAU,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AACrD,IAAIC,UAAU,GAAGD,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIE,aAAa,GAAGF,OAAO,CAAC,qCAAqC,CAAC;AAClE,IAAIG,iBAAiB,GAAGH,OAAO,CAAC,gCAAgC,CAAC;AAEjE,IAAII,OAAO,GAAGC,MAAM;AAEpBC,MAAM,CAACC,OAAO,GAAGJ,iBAAiB,GAAG,UAAUK,EAAE,EAAE;EACjD,OAAO,OAAOA,EAAE,IAAI,QAAQ;AAC9B,CAAC,GAAG,UAAUA,EAAE,EAAE;EAChB,IAAIC,OAAO,GAAGV,UAAU,CAAC,QAAQ,CAAC;EAClC,OAAOE,UAAU,CAACQ,OAAO,CAAC,IAAIP,aAAa,CAACO,OAAO,CAACC,SAAS,EAAEN,OAAO,CAACI,EAAE,CAAC,CAAC;AAC7E,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/3b5f37e7320044628055ff97013bb6e03574ddbb8cac5c7249c2bc4420b27180.json b/Data-Viz/node_modules/.cache/babel-loader/3b5f37e7320044628055ff97013bb6e03574ddbb8cac5c7249c2bc4420b27180.json new file mode 100644 index 000000000..f560fc73b --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/3b5f37e7320044628055ff97013bb6e03574ddbb8cac5c7249c2bc4420b27180.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'midtown-marta',\n predictedDelayMinutes: 2,\n routeId: '1',\n eta: generateETA(2)\n }, {\n stopId: 'tech-square',\n predictedDelayMinutes: 6,\n routeId: '1',\n eta: generateETA(6)\n }, {\n stopId: 'klaus',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '1',\n eta: generateETA(12)\n }, {\n stopId: 'weber-turnaround',\n predictedDelayMinutes: 15,\n routeId: '1',\n eta: generateETA(15)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n }, SHARED.crc, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }, SHARED.studentCenter],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'klaus',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 5,\n routeId: '2',\n eta: generateETA(5)\n }, {\n stopId: 'curran',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 17,\n routeId: '2',\n eta: generateETA(17)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.3935\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'midtown-marta', predictedDelayMinutes: 2, routeId: '1', eta: generateETA(2) },\n { stopId: 'tech-square', predictedDelayMinutes: 6, routeId: '1', eta: generateETA(6) },\n { stopId: 'klaus', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '1', eta: generateETA(12) },\n { stopId: 'weber-turnaround', predictedDelayMinutes: 15, routeId: '1', eta: generateETA(15) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 },\n SHARED.crc,\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 },\n SHARED.studentCenter\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'klaus', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 5, routeId: '2', eta: generateETA(5) },\n { stopId: 'curran', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'student-center', predictedDelayMinutes: 17, routeId: '2', eta: generateETA(17) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.3935 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/3ba443e9c897d72ac97d90c60b05798128f03b2f4bb206ff5668764c655a771a.json b/Data-Viz/node_modules/.cache/babel-loader/3ba443e9c897d72ac97d90c60b05798128f03b2f4bb206ff5668764c655a771a.json new file mode 100644 index 000000000..6665ffd56 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/3ba443e9c897d72ac97d90c60b05798128f03b2f4bb206ff5668764c655a771a.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * react-router v7.5.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { Action, Await, BrowserRouter, DataRouterContext, DataRouterStateContext, ErrorResponseImpl, FetchersContext, Form, FrameworkContext, HashRouter, HistoryRouter, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, Link, Links, LocationContext, MemoryRouter, Meta, NavLink, Navigate, NavigationContext, Outlet, PrefetchPageLinks, RemixErrorBoundary, Route, RouteContext, Router, RouterProvider, Routes, Scripts, ScrollRestoration, ServerMode, ServerRouter, SingleFetchRedirectSymbol, StaticRouter, StaticRouterProvider, ViewTransitionContext, createBrowserHistory, createBrowserRouter, createClientRoutes, createClientRoutesWithHMRRevalidationOptOut, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createPath, createRequestHandler, createRouter, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, data, decodeViaTurboStream, deserializeErrors, generatePath, getPatchRoutesOnNavigationFunction, getSingleFetchDataStrategy, href, invariant, isCookie, isRouteErrorResponse, isSession, mapRouteProperties, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, replace, resolvePath, setDevServerHooks, shouldHydrateRouteLoader, unstable_RouterContextProvider, unstable_createContext, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFogOFWarDiscovery, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, usePrompt, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useScrollRestoration, useSearchParams, useSubmit, useViewTransitionState } from \"./chunk-KNED5TY2.mjs\";\nexport { Await, BrowserRouter, Form, HashRouter, IDLE_BLOCKER, IDLE_FETCHER, IDLE_NAVIGATION, Link, Links, MemoryRouter, Meta, NavLink, Navigate, Action as NavigationType, Outlet, PrefetchPageLinks, Route, Router, RouterProvider, Routes, Scripts, ScrollRestoration, ServerRouter, StaticRouter, StaticRouterProvider, DataRouterContext as UNSAFE_DataRouterContext, DataRouterStateContext as UNSAFE_DataRouterStateContext, ErrorResponseImpl as UNSAFE_ErrorResponseImpl, FetchersContext as UNSAFE_FetchersContext, FrameworkContext as UNSAFE_FrameworkContext, LocationContext as UNSAFE_LocationContext, NavigationContext as UNSAFE_NavigationContext, RemixErrorBoundary as UNSAFE_RemixErrorBoundary, RouteContext as UNSAFE_RouteContext, ServerMode as UNSAFE_ServerMode, SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol, ViewTransitionContext as UNSAFE_ViewTransitionContext, createBrowserHistory as UNSAFE_createBrowserHistory, createClientRoutes as UNSAFE_createClientRoutes, createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut, createRouter as UNSAFE_createRouter, decodeViaTurboStream as UNSAFE_decodeViaTurboStream, deserializeErrors as UNSAFE_deserializeErrors, getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction, getSingleFetchDataStrategy as UNSAFE_getSingleFetchDataStrategy, invariant as UNSAFE_invariant, mapRouteProperties as UNSAFE_mapRouteProperties, shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader, useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery, useScrollRestoration as UNSAFE_useScrollRestoration, createBrowserRouter, createCookie, createCookieSessionStorage, createHashRouter, createMemoryRouter, createMemorySessionStorage, createPath, createRequestHandler, createRoutesFromChildren, createRoutesFromElements, createRoutesStub, createSearchParams, createSession, createSessionStorage, createStaticHandler, createStaticRouter, data, generatePath, href, isCookie, isRouteErrorResponse, isSession, matchPath, matchRoutes, parsePath, redirect, redirectDocument, renderMatches, replace, resolvePath, HistoryRouter as unstable_HistoryRouter, unstable_RouterContextProvider, unstable_createContext, setDevServerHooks as unstable_setDevServerHooks, usePrompt as unstable_usePrompt, useActionData, useAsyncError, useAsyncValue, useBeforeUnload, useBlocker, useFetcher, useFetchers, useFormAction, useHref, useInRouterContext, useLinkClickHandler, useLoaderData, useLocation, useMatch, useMatches, useNavigate, useNavigation, useNavigationType, useOutlet, useOutletContext, useParams, useResolvedPath, useRevalidator, useRouteError, useRouteLoaderData, useRoutes, useSearchParams, useSubmit, useViewTransitionState };","map":{"version":3,"names":["Action","Await","BrowserRouter","DataRouterContext","DataRouterStateContext","ErrorResponseImpl","FetchersContext","Form","FrameworkContext","HashRouter","HistoryRouter","IDLE_BLOCKER","IDLE_FETCHER","IDLE_NAVIGATION","Link","Links","LocationContext","MemoryRouter","Meta","NavLink","Navigate","NavigationContext","Outlet","PrefetchPageLinks","RemixErrorBoundary","Route","RouteContext","Router","RouterProvider","Routes","Scripts","ScrollRestoration","ServerMode","ServerRouter","SingleFetchRedirectSymbol","StaticRouter","StaticRouterProvider","ViewTransitionContext","createBrowserHistory","createBrowserRouter","createClientRoutes","createClientRoutesWithHMRRevalidationOptOut","createCookie","createCookieSessionStorage","createHashRouter","createMemoryRouter","createMemorySessionStorage","createPath","createRequestHandler","createRouter","createRoutesFromChildren","createRoutesFromElements","createRoutesStub","createSearchParams","createSession","createSessionStorage","createStaticHandler","createStaticRouter","data","decodeViaTurboStream","deserializeErrors","generatePath","getPatchRoutesOnNavigationFunction","getSingleFetchDataStrategy","href","invariant","isCookie","isRouteErrorResponse","isSession","mapRouteProperties","matchPath","matchRoutes","parsePath","redirect","redirectDocument","renderMatches","replace","resolvePath","setDevServerHooks","shouldHydrateRouteLoader","unstable_RouterContextProvider","unstable_createContext","useActionData","useAsyncError","useAsyncValue","useBeforeUnload","useBlocker","useFetcher","useFetchers","useFogOFWarDiscovery","useFormAction","useHref","useInRouterContext","useLinkClickHandler","useLoaderData","useLocation","useMatch","useMatches","useNavigate","useNavigation","useNavigationType","useOutlet","useOutletContext","useParams","usePrompt","useResolvedPath","useRevalidator","useRouteError","useRouteLoaderData","useRoutes","useScrollRestoration","useSearchParams","useSubmit","useViewTransitionState","NavigationType","UNSAFE_DataRouterContext","UNSAFE_DataRouterStateContext","UNSAFE_ErrorResponseImpl","UNSAFE_FetchersContext","UNSAFE_FrameworkContext","UNSAFE_LocationContext","UNSAFE_NavigationContext","UNSAFE_RemixErrorBoundary","UNSAFE_RouteContext","UNSAFE_ServerMode","UNSAFE_SingleFetchRedirectSymbol","UNSAFE_ViewTransitionContext","UNSAFE_createBrowserHistory","UNSAFE_createClientRoutes","UNSAFE_createClientRoutesWithHMRRevalidationOptOut","UNSAFE_createRouter","UNSAFE_decodeViaTurboStream","UNSAFE_deserializeErrors","UNSAFE_getPatchRoutesOnNavigationFunction","UNSAFE_getSingleFetchDataStrategy","UNSAFE_invariant","UNSAFE_mapRouteProperties","UNSAFE_shouldHydrateRouteLoader","UNSAFE_useFogOFWarDiscovery","UNSAFE_useScrollRestoration","unstable_HistoryRouter","unstable_setDevServerHooks","unstable_usePrompt"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react-router/dist/development/index.mjs"],"sourcesContent":["/**\n * react-router v7.5.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport {\n Action,\n Await,\n BrowserRouter,\n DataRouterContext,\n DataRouterStateContext,\n ErrorResponseImpl,\n FetchersContext,\n Form,\n FrameworkContext,\n HashRouter,\n HistoryRouter,\n IDLE_BLOCKER,\n IDLE_FETCHER,\n IDLE_NAVIGATION,\n Link,\n Links,\n LocationContext,\n MemoryRouter,\n Meta,\n NavLink,\n Navigate,\n NavigationContext,\n Outlet,\n PrefetchPageLinks,\n RemixErrorBoundary,\n Route,\n RouteContext,\n Router,\n RouterProvider,\n Routes,\n Scripts,\n ScrollRestoration,\n ServerMode,\n ServerRouter,\n SingleFetchRedirectSymbol,\n StaticRouter,\n StaticRouterProvider,\n ViewTransitionContext,\n createBrowserHistory,\n createBrowserRouter,\n createClientRoutes,\n createClientRoutesWithHMRRevalidationOptOut,\n createCookie,\n createCookieSessionStorage,\n createHashRouter,\n createMemoryRouter,\n createMemorySessionStorage,\n createPath,\n createRequestHandler,\n createRouter,\n createRoutesFromChildren,\n createRoutesFromElements,\n createRoutesStub,\n createSearchParams,\n createSession,\n createSessionStorage,\n createStaticHandler,\n createStaticRouter,\n data,\n decodeViaTurboStream,\n deserializeErrors,\n generatePath,\n getPatchRoutesOnNavigationFunction,\n getSingleFetchDataStrategy,\n href,\n invariant,\n isCookie,\n isRouteErrorResponse,\n isSession,\n mapRouteProperties,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n redirectDocument,\n renderMatches,\n replace,\n resolvePath,\n setDevServerHooks,\n shouldHydrateRouteLoader,\n unstable_RouterContextProvider,\n unstable_createContext,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useBeforeUnload,\n useBlocker,\n useFetcher,\n useFetchers,\n useFogOFWarDiscovery,\n useFormAction,\n useHref,\n useInRouterContext,\n useLinkClickHandler,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n usePrompt,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n useScrollRestoration,\n useSearchParams,\n useSubmit,\n useViewTransitionState\n} from \"./chunk-KNED5TY2.mjs\";\nexport {\n Await,\n BrowserRouter,\n Form,\n HashRouter,\n IDLE_BLOCKER,\n IDLE_FETCHER,\n IDLE_NAVIGATION,\n Link,\n Links,\n MemoryRouter,\n Meta,\n NavLink,\n Navigate,\n Action as NavigationType,\n Outlet,\n PrefetchPageLinks,\n Route,\n Router,\n RouterProvider,\n Routes,\n Scripts,\n ScrollRestoration,\n ServerRouter,\n StaticRouter,\n StaticRouterProvider,\n DataRouterContext as UNSAFE_DataRouterContext,\n DataRouterStateContext as UNSAFE_DataRouterStateContext,\n ErrorResponseImpl as UNSAFE_ErrorResponseImpl,\n FetchersContext as UNSAFE_FetchersContext,\n FrameworkContext as UNSAFE_FrameworkContext,\n LocationContext as UNSAFE_LocationContext,\n NavigationContext as UNSAFE_NavigationContext,\n RemixErrorBoundary as UNSAFE_RemixErrorBoundary,\n RouteContext as UNSAFE_RouteContext,\n ServerMode as UNSAFE_ServerMode,\n SingleFetchRedirectSymbol as UNSAFE_SingleFetchRedirectSymbol,\n ViewTransitionContext as UNSAFE_ViewTransitionContext,\n createBrowserHistory as UNSAFE_createBrowserHistory,\n createClientRoutes as UNSAFE_createClientRoutes,\n createClientRoutesWithHMRRevalidationOptOut as UNSAFE_createClientRoutesWithHMRRevalidationOptOut,\n createRouter as UNSAFE_createRouter,\n decodeViaTurboStream as UNSAFE_decodeViaTurboStream,\n deserializeErrors as UNSAFE_deserializeErrors,\n getPatchRoutesOnNavigationFunction as UNSAFE_getPatchRoutesOnNavigationFunction,\n getSingleFetchDataStrategy as UNSAFE_getSingleFetchDataStrategy,\n invariant as UNSAFE_invariant,\n mapRouteProperties as UNSAFE_mapRouteProperties,\n shouldHydrateRouteLoader as UNSAFE_shouldHydrateRouteLoader,\n useFogOFWarDiscovery as UNSAFE_useFogOFWarDiscovery,\n useScrollRestoration as UNSAFE_useScrollRestoration,\n createBrowserRouter,\n createCookie,\n createCookieSessionStorage,\n createHashRouter,\n createMemoryRouter,\n createMemorySessionStorage,\n createPath,\n createRequestHandler,\n createRoutesFromChildren,\n createRoutesFromElements,\n createRoutesStub,\n createSearchParams,\n createSession,\n createSessionStorage,\n createStaticHandler,\n createStaticRouter,\n data,\n generatePath,\n href,\n isCookie,\n isRouteErrorResponse,\n isSession,\n matchPath,\n matchRoutes,\n parsePath,\n redirect,\n redirectDocument,\n renderMatches,\n replace,\n resolvePath,\n HistoryRouter as unstable_HistoryRouter,\n unstable_RouterContextProvider,\n unstable_createContext,\n setDevServerHooks as unstable_setDevServerHooks,\n usePrompt as unstable_usePrompt,\n useActionData,\n useAsyncError,\n useAsyncValue,\n useBeforeUnload,\n useBlocker,\n useFetcher,\n useFetchers,\n useFormAction,\n useHref,\n useInRouterContext,\n useLinkClickHandler,\n useLoaderData,\n useLocation,\n useMatch,\n useMatches,\n useNavigate,\n useNavigation,\n useNavigationType,\n useOutlet,\n useOutletContext,\n useParams,\n useResolvedPath,\n useRevalidator,\n useRouteError,\n useRouteLoaderData,\n useRoutes,\n useSearchParams,\n useSubmit,\n useViewTransitionState\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/3c93d86affc507146c3d7a425945ec4abf1b9bf2481a02319f4ce9f16a1c755b.json b/Data-Viz/node_modules/.cache/babel-loader/3c93d86affc507146c3d7a425945ec4abf1b9bf2481a02319f4ce9f16a1c755b.json new file mode 100644 index 000000000..0c1bc0e29 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/3c93d86affc507146c3d7a425945ec4abf1b9bf2481a02319f4ce9f16a1c755b.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/routes/AppRoutes.tsx\";\nimport React from \"react\";\nimport { Routes, Route } from \"react-router-dom\";\nimport Shell from \"../shell/Shell\";\nimport Home from \"../pages/Home/Home\";\nimport PlanTripPage from \"../features/planTrip/PlanTripPage\";\nimport RouteViewPage from \"../features/routeView/RouteViewPage\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nexport const AppRoutes = () => {\n return /*#__PURE__*/_jsxDEV(Routes, {\n children: /*#__PURE__*/_jsxDEV(Route, {\n path: \"/\",\n element: /*#__PURE__*/_jsxDEV(Shell, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 32\n }, this),\n children: [/*#__PURE__*/_jsxDEV(Route, {\n index: true,\n element: /*#__PURE__*/_jsxDEV(Home, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 31\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"plan-trip\",\n element: /*#__PURE__*/_jsxDEV(PlanTripPage, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 42\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(Route, {\n path: \"bus-routes\",\n element: /*#__PURE__*/_jsxDEV(RouteViewPage, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 43\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 14,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 11,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 10,\n columnNumber: 5\n }, this);\n};\n_c = AppRoutes;\nvar _c;\n$RefreshReg$(_c, \"AppRoutes\");","map":{"version":3,"names":["React","Routes","Route","Shell","Home","PlanTripPage","RouteViewPage","jsxDEV","_jsxDEV","AppRoutes","children","path","element","fileName","_jsxFileName","lineNumber","columnNumber","index","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/routes/AppRoutes.tsx"],"sourcesContent":["import React from \"react\";\nimport { Routes, Route } from \"react-router-dom\";\nimport Shell from \"../shell/Shell\";\nimport Home from \"../pages/Home/Home\";\nimport PlanTripPage from \"../features/planTrip/PlanTripPage\";\nimport RouteViewPage from \"../features/routeView/RouteViewPage\";\n\nexport const AppRoutes: React.FC = () => {\n return (\n \n }>\n } />\n } />\n } />\n \n \n );\n};\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,EAAEC,KAAK,QAAQ,kBAAkB;AAChD,OAAOC,KAAK,MAAM,gBAAgB;AAClC,OAAOC,IAAI,MAAM,oBAAoB;AACrC,OAAOC,YAAY,MAAM,mCAAmC;AAC5D,OAAOC,aAAa,MAAM,qCAAqC;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAEhE,OAAO,MAAMC,SAAmB,GAAGA,CAAA,KAAM;EACvC,oBACED,OAAA,CAACP,MAAM;IAAAS,QAAA,eACLF,OAAA,CAACN,KAAK;MAACS,IAAI,EAAC,GAAG;MAACC,OAAO,eAAEJ,OAAA,CAACL,KAAK;QAAAU,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAE;MAAAN,QAAA,gBACjCF,OAAA,CAACN,KAAK;QAACe,KAAK;QAACL,OAAO,eAAEJ,OAAA,CAACJ,IAAI;UAAAS,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC,eAClCR,OAAA,CAACN,KAAK;QAACS,IAAI,EAAC,WAAW;QAACC,OAAO,eAAEJ,OAAA,CAACH,YAAY;UAAAQ,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC,eACrDR,OAAA,CAACN,KAAK;QAACS,IAAI,EAAC,YAAY;QAACC,OAAO,eAAEJ,OAAA,CAACF,aAAa;UAAAO,QAAA,EAAAC,YAAA;UAAAC,UAAA;UAAAC,YAAA;QAAA,OAAE;MAAE;QAAAH,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAClD;EAAC;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACF,CAAC;AAEb,CAAC;AAACE,EAAA,GAVWT,SAAmB;AAAA,IAAAS,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/3d851bafc8d95c3b8b1c2515a7b15149dddbd6caf687ffbdff54fc40e6082903.json b/Data-Viz/node_modules/.cache/babel-loader/3d851bafc8d95c3b8b1c2515a7b15149dddbd6caf687ffbdff54fc40e6082903.json new file mode 100644 index 000000000..6ca8fe701 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/3d851bafc8d95c3b8b1c2515a7b15149dddbd6caf687ffbdff54fc40e6082903.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};","map":{"version":3,"names":["isCallable","require","tryToString","$TypeError","TypeError","module","exports","argument"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/a-callable.js"],"sourcesContent":["'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw new $TypeError(tryToString(argument) + ' is not a function');\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,UAAU,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIC,WAAW,GAAGD,OAAO,CAAC,4BAA4B,CAAC;AAEvD,IAAIE,UAAU,GAAGC,SAAS;;AAE1B;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,IAAIP,UAAU,CAACO,QAAQ,CAAC,EAAE,OAAOA,QAAQ;EACzC,MAAM,IAAIJ,UAAU,CAACD,WAAW,CAACK,QAAQ,CAAC,GAAG,oBAAoB,CAAC;AACpE,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/3d89a5e0f20f5f6f343f23de2677a983629df1eb57459eb20c42415e98bd58c0.json b/Data-Viz/node_modules/.cache/babel-loader/3d89a5e0f20f5f6f343f23de2677a983629df1eb57459eb20c42415e98bd58c0.json new file mode 100644 index 000000000..34409af94 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/3d89a5e0f20f5f6f343f23de2677a983629df1eb57459eb20c42415e98bd58c0.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace]) : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};","map":{"version":3,"names":["path","require","globalThis","isCallable","aFunction","variable","undefined","module","exports","namespace","method","arguments","length"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/get-built-in.js"],"sourcesContent":["'use strict';\nvar path = require('../internals/path');\nvar globalThis = require('../internals/global-this');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(globalThis[namespace])\n : path[namespace] && path[namespace][method] || globalThis[namespace] && globalThis[namespace][method];\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,IAAI,GAAGC,OAAO,CAAC,mBAAmB,CAAC;AACvC,IAAIC,UAAU,GAAGD,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIE,UAAU,GAAGF,OAAO,CAAC,0BAA0B,CAAC;AAEpD,IAAIG,SAAS,GAAG,SAAAA,CAAUC,QAAQ,EAAE;EAClC,OAAOF,UAAU,CAACE,QAAQ,CAAC,GAAGA,QAAQ,GAAGC,SAAS;AACpD,CAAC;AAEDC,MAAM,CAACC,OAAO,GAAG,UAAUC,SAAS,EAAEC,MAAM,EAAE;EAC5C,OAAOC,SAAS,CAACC,MAAM,GAAG,CAAC,GAAGR,SAAS,CAACJ,IAAI,CAACS,SAAS,CAAC,CAAC,IAAIL,SAAS,CAACF,UAAU,CAACO,SAAS,CAAC,CAAC,GACxFT,IAAI,CAACS,SAAS,CAAC,IAAIT,IAAI,CAACS,SAAS,CAAC,CAACC,MAAM,CAAC,IAAIR,UAAU,CAACO,SAAS,CAAC,IAAIP,UAAU,CAACO,SAAS,CAAC,CAACC,MAAM,CAAC;AAC1G,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/40b12b4faef79ccf7efeab72b108e3db7da5be5bdf6a53e5b9e66e1bc54dee2f.json b/Data-Viz/node_modules/.cache/babel-loader/40b12b4faef79ccf7efeab72b108e3db7da5be5bdf6a53e5b9e66e1bc54dee2f.json new file mode 100644 index 000000000..a8d540f74 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/40b12b4faef79ccf7efeab72b108e3db7da5be5bdf6a53e5b9e66e1bc54dee2f.json @@ -0,0 +1 @@ +{"ast":null,"code":"import hotEmitter from \"webpack/hot/emitter.js\";\nimport { log } from \"./log.js\";\n\n/** @typedef {import(\"../index\").Options} Options\n/** @typedef {import(\"../index\").Status} Status\n\n/**\n * @param {Options} options\n * @param {Status} status\n */\nfunction reloadApp(_ref, status) {\n var hot = _ref.hot,\n liveReload = _ref.liveReload;\n if (status.isUnloading) {\n return;\n }\n var currentHash = status.currentHash,\n previousHash = status.previousHash;\n var isInitial = currentHash.indexOf(/** @type {string} */previousHash) >= 0;\n if (isInitial) {\n return;\n }\n\n /**\n * @param {Window} rootWindow\n * @param {number} intervalId\n */\n function applyReload(rootWindow, intervalId) {\n clearInterval(intervalId);\n log.info(\"App updated. Reloading...\");\n rootWindow.location.reload();\n }\n var search = self.location.search.toLowerCase();\n var allowToHot = search.indexOf(\"webpack-dev-server-hot=false\") === -1;\n var allowToLiveReload = search.indexOf(\"webpack-dev-server-live-reload=false\") === -1;\n if (hot && allowToHot) {\n log.info(\"App hot update...\");\n hotEmitter.emit(\"webpackHotUpdate\", status.currentHash);\n if (typeof self !== \"undefined\" && self.window) {\n // broadcast update to window\n self.postMessage(\"webpackHotUpdate\".concat(status.currentHash), \"*\");\n }\n }\n // allow refreshing the page only if liveReload isn't disabled\n else if (liveReload && allowToLiveReload) {\n var rootWindow = self;\n\n // use parent window for reload (in case we're in an iframe with no valid src)\n var intervalId = self.setInterval(function () {\n if (rootWindow.location.protocol !== \"about:\") {\n // reload immediately if protocol is valid\n applyReload(rootWindow, intervalId);\n } else {\n rootWindow = rootWindow.parent;\n if (rootWindow.parent === rootWindow) {\n // if parent equals current window we've reached the root which would continue forever, so trigger a reload anyways\n applyReload(rootWindow, intervalId);\n }\n }\n });\n }\n}\nexport default reloadApp;","map":{"version":3,"names":["hotEmitter","log","reloadApp","_ref","status","hot","liveReload","isUnloading","currentHash","previousHash","isInitial","indexOf","applyReload","rootWindow","intervalId","clearInterval","info","location","reload","search","self","toLowerCase","allowToHot","allowToLiveReload","emit","window","postMessage","concat","setInterval","protocol","parent"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/utils/reloadApp.js"],"sourcesContent":["import hotEmitter from \"webpack/hot/emitter.js\";\nimport { log } from \"./log.js\";\n\n/** @typedef {import(\"../index\").Options} Options\n/** @typedef {import(\"../index\").Status} Status\n\n/**\n * @param {Options} options\n * @param {Status} status\n */\nfunction reloadApp(_ref, status) {\n var hot = _ref.hot,\n liveReload = _ref.liveReload;\n if (status.isUnloading) {\n return;\n }\n var currentHash = status.currentHash,\n previousHash = status.previousHash;\n var isInitial = currentHash.indexOf( /** @type {string} */previousHash) >= 0;\n if (isInitial) {\n return;\n }\n\n /**\n * @param {Window} rootWindow\n * @param {number} intervalId\n */\n function applyReload(rootWindow, intervalId) {\n clearInterval(intervalId);\n log.info(\"App updated. Reloading...\");\n rootWindow.location.reload();\n }\n var search = self.location.search.toLowerCase();\n var allowToHot = search.indexOf(\"webpack-dev-server-hot=false\") === -1;\n var allowToLiveReload = search.indexOf(\"webpack-dev-server-live-reload=false\") === -1;\n if (hot && allowToHot) {\n log.info(\"App hot update...\");\n hotEmitter.emit(\"webpackHotUpdate\", status.currentHash);\n if (typeof self !== \"undefined\" && self.window) {\n // broadcast update to window\n self.postMessage(\"webpackHotUpdate\".concat(status.currentHash), \"*\");\n }\n }\n // allow refreshing the page only if liveReload isn't disabled\n else if (liveReload && allowToLiveReload) {\n var rootWindow = self;\n\n // use parent window for reload (in case we're in an iframe with no valid src)\n var intervalId = self.setInterval(function () {\n if (rootWindow.location.protocol !== \"about:\") {\n // reload immediately if protocol is valid\n applyReload(rootWindow, intervalId);\n } else {\n rootWindow = rootWindow.parent;\n if (rootWindow.parent === rootWindow) {\n // if parent equals current window we've reached the root which would continue forever, so trigger a reload anyways\n applyReload(rootWindow, intervalId);\n }\n }\n });\n }\n}\nexport default reloadApp;"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wBAAwB;AAC/C,SAASC,GAAG,QAAQ,UAAU;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,SAASA,CAACC,IAAI,EAAEC,MAAM,EAAE;EAC/B,IAAIC,GAAG,GAAGF,IAAI,CAACE,GAAG;IAChBC,UAAU,GAAGH,IAAI,CAACG,UAAU;EAC9B,IAAIF,MAAM,CAACG,WAAW,EAAE;IACtB;EACF;EACA,IAAIC,WAAW,GAAGJ,MAAM,CAACI,WAAW;IAClCC,YAAY,GAAGL,MAAM,CAACK,YAAY;EACpC,IAAIC,SAAS,GAAGF,WAAW,CAACG,OAAO,CAAE,qBAAqBF,YAAY,CAAC,IAAI,CAAC;EAC5E,IAAIC,SAAS,EAAE;IACb;EACF;;EAEA;AACF;AACA;AACA;EACE,SAASE,WAAWA,CAACC,UAAU,EAAEC,UAAU,EAAE;IAC3CC,aAAa,CAACD,UAAU,CAAC;IACzBb,GAAG,CAACe,IAAI,CAAC,2BAA2B,CAAC;IACrCH,UAAU,CAACI,QAAQ,CAACC,MAAM,CAAC,CAAC;EAC9B;EACA,IAAIC,MAAM,GAAGC,IAAI,CAACH,QAAQ,CAACE,MAAM,CAACE,WAAW,CAAC,CAAC;EAC/C,IAAIC,UAAU,GAAGH,MAAM,CAACR,OAAO,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;EACtE,IAAIY,iBAAiB,GAAGJ,MAAM,CAACR,OAAO,CAAC,sCAAsC,CAAC,KAAK,CAAC,CAAC;EACrF,IAAIN,GAAG,IAAIiB,UAAU,EAAE;IACrBrB,GAAG,CAACe,IAAI,CAAC,mBAAmB,CAAC;IAC7BhB,UAAU,CAACwB,IAAI,CAAC,kBAAkB,EAAEpB,MAAM,CAACI,WAAW,CAAC;IACvD,IAAI,OAAOY,IAAI,KAAK,WAAW,IAAIA,IAAI,CAACK,MAAM,EAAE;MAC9C;MACAL,IAAI,CAACM,WAAW,CAAC,kBAAkB,CAACC,MAAM,CAACvB,MAAM,CAACI,WAAW,CAAC,EAAE,GAAG,CAAC;IACtE;EACF;EACA;EAAA,KACK,IAAIF,UAAU,IAAIiB,iBAAiB,EAAE;IACxC,IAAIV,UAAU,GAAGO,IAAI;;IAErB;IACA,IAAIN,UAAU,GAAGM,IAAI,CAACQ,WAAW,CAAC,YAAY;MAC5C,IAAIf,UAAU,CAACI,QAAQ,CAACY,QAAQ,KAAK,QAAQ,EAAE;QAC7C;QACAjB,WAAW,CAACC,UAAU,EAAEC,UAAU,CAAC;MACrC,CAAC,MAAM;QACLD,UAAU,GAAGA,UAAU,CAACiB,MAAM;QAC9B,IAAIjB,UAAU,CAACiB,MAAM,KAAKjB,UAAU,EAAE;UACpC;UACAD,WAAW,CAACC,UAAU,EAAEC,UAAU,CAAC;QACrC;MACF;IACF,CAAC,CAAC;EACJ;AACF;AACA,eAAeZ,SAAS","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/433822a8478eb93bd1adfc04815337cd62da3f05846f92ffb69f4f4d30b464c7.json b/Data-Viz/node_modules/.cache/babel-loader/433822a8478eb93bd1adfc04815337cd62da3f05846f92ffb69f4f4d30b464c7.json new file mode 100644 index 000000000..144d549b6 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/433822a8478eb93bd1adfc04815337cd62da3f05846f92ffb69f4f4d30b464c7.json @@ -0,0 +1 @@ +{"ast":null,"code":"// styles are inspired by `react-error-overlay`\n\nvar msgStyles = {\n error: {\n backgroundColor: \"rgba(206, 17, 38, 0.1)\",\n color: \"#fccfcf\"\n },\n warning: {\n backgroundColor: \"rgba(251, 245, 180, 0.1)\",\n color: \"#fbf5b4\"\n }\n};\nvar iframeStyle = {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100vw\",\n height: \"100vh\",\n border: \"none\",\n \"z-index\": 9999999999\n};\nvar containerStyle = {\n position: \"fixed\",\n boxSizing: \"border-box\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: \"100vw\",\n height: \"100vh\",\n fontSize: \"large\",\n padding: \"2rem 2rem 4rem 2rem\",\n lineHeight: \"1.2\",\n whiteSpace: \"pre-wrap\",\n overflow: \"auto\",\n backgroundColor: \"rgba(0, 0, 0, 0.9)\",\n color: \"white\"\n};\nvar headerStyle = {\n color: \"#e83b46\",\n fontSize: \"2em\",\n whiteSpace: \"pre-wrap\",\n fontFamily: \"sans-serif\",\n margin: \"0 2rem 2rem 0\",\n flex: \"0 0 auto\",\n maxHeight: \"50%\",\n overflow: \"auto\"\n};\nvar dismissButtonStyle = {\n color: \"#ffffff\",\n lineHeight: \"1rem\",\n fontSize: \"1.5rem\",\n padding: \"1rem\",\n cursor: \"pointer\",\n position: \"absolute\",\n right: 0,\n top: 0,\n backgroundColor: \"transparent\",\n border: \"none\"\n};\nvar msgTypeStyle = {\n color: \"#e83b46\",\n fontSize: \"1.2em\",\n marginBottom: \"1rem\",\n fontFamily: \"sans-serif\"\n};\nvar msgTextStyle = {\n lineHeight: \"1.5\",\n fontSize: \"1rem\",\n fontFamily: \"Menlo, Consolas, monospace\"\n};\nexport { msgStyles, iframeStyle, containerStyle, headerStyle, dismissButtonStyle, msgTypeStyle, msgTextStyle };","map":{"version":3,"names":["msgStyles","error","backgroundColor","color","warning","iframeStyle","position","top","left","right","bottom","width","height","border","containerStyle","boxSizing","fontSize","padding","lineHeight","whiteSpace","overflow","headerStyle","fontFamily","margin","flex","maxHeight","dismissButtonStyle","cursor","msgTypeStyle","marginBottom","msgTextStyle"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/overlay/styles.js"],"sourcesContent":["// styles are inspired by `react-error-overlay`\n\nvar msgStyles = {\n error: {\n backgroundColor: \"rgba(206, 17, 38, 0.1)\",\n color: \"#fccfcf\"\n },\n warning: {\n backgroundColor: \"rgba(251, 245, 180, 0.1)\",\n color: \"#fbf5b4\"\n }\n};\nvar iframeStyle = {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100vw\",\n height: \"100vh\",\n border: \"none\",\n \"z-index\": 9999999999\n};\nvar containerStyle = {\n position: \"fixed\",\n boxSizing: \"border-box\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n width: \"100vw\",\n height: \"100vh\",\n fontSize: \"large\",\n padding: \"2rem 2rem 4rem 2rem\",\n lineHeight: \"1.2\",\n whiteSpace: \"pre-wrap\",\n overflow: \"auto\",\n backgroundColor: \"rgba(0, 0, 0, 0.9)\",\n color: \"white\"\n};\nvar headerStyle = {\n color: \"#e83b46\",\n fontSize: \"2em\",\n whiteSpace: \"pre-wrap\",\n fontFamily: \"sans-serif\",\n margin: \"0 2rem 2rem 0\",\n flex: \"0 0 auto\",\n maxHeight: \"50%\",\n overflow: \"auto\"\n};\nvar dismissButtonStyle = {\n color: \"#ffffff\",\n lineHeight: \"1rem\",\n fontSize: \"1.5rem\",\n padding: \"1rem\",\n cursor: \"pointer\",\n position: \"absolute\",\n right: 0,\n top: 0,\n backgroundColor: \"transparent\",\n border: \"none\"\n};\nvar msgTypeStyle = {\n color: \"#e83b46\",\n fontSize: \"1.2em\",\n marginBottom: \"1rem\",\n fontFamily: \"sans-serif\"\n};\nvar msgTextStyle = {\n lineHeight: \"1.5\",\n fontSize: \"1rem\",\n fontFamily: \"Menlo, Consolas, monospace\"\n};\nexport { msgStyles, iframeStyle, containerStyle, headerStyle, dismissButtonStyle, msgTypeStyle, msgTextStyle };"],"mappings":"AAAA;;AAEA,IAAIA,SAAS,GAAG;EACdC,KAAK,EAAE;IACLC,eAAe,EAAE,wBAAwB;IACzCC,KAAK,EAAE;EACT,CAAC;EACDC,OAAO,EAAE;IACPF,eAAe,EAAE,0BAA0B;IAC3CC,KAAK,EAAE;EACT;AACF,CAAC;AACD,IAAIE,WAAW,GAAG;EAChBC,QAAQ,EAAE,OAAO;EACjBC,GAAG,EAAE,CAAC;EACNC,IAAI,EAAE,CAAC;EACPC,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,OAAO;EACfC,MAAM,EAAE,MAAM;EACd,SAAS,EAAE;AACb,CAAC;AACD,IAAIC,cAAc,GAAG;EACnBR,QAAQ,EAAE,OAAO;EACjBS,SAAS,EAAE,YAAY;EACvBP,IAAI,EAAE,CAAC;EACPD,GAAG,EAAE,CAAC;EACNE,KAAK,EAAE,CAAC;EACRC,MAAM,EAAE,CAAC;EACTC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE,OAAO;EACfI,QAAQ,EAAE,OAAO;EACjBC,OAAO,EAAE,qBAAqB;EAC9BC,UAAU,EAAE,KAAK;EACjBC,UAAU,EAAE,UAAU;EACtBC,QAAQ,EAAE,MAAM;EAChBlB,eAAe,EAAE,oBAAoB;EACrCC,KAAK,EAAE;AACT,CAAC;AACD,IAAIkB,WAAW,GAAG;EAChBlB,KAAK,EAAE,SAAS;EAChBa,QAAQ,EAAE,KAAK;EACfG,UAAU,EAAE,UAAU;EACtBG,UAAU,EAAE,YAAY;EACxBC,MAAM,EAAE,eAAe;EACvBC,IAAI,EAAE,UAAU;EAChBC,SAAS,EAAE,KAAK;EAChBL,QAAQ,EAAE;AACZ,CAAC;AACD,IAAIM,kBAAkB,GAAG;EACvBvB,KAAK,EAAE,SAAS;EAChBe,UAAU,EAAE,MAAM;EAClBF,QAAQ,EAAE,QAAQ;EAClBC,OAAO,EAAE,MAAM;EACfU,MAAM,EAAE,SAAS;EACjBrB,QAAQ,EAAE,UAAU;EACpBG,KAAK,EAAE,CAAC;EACRF,GAAG,EAAE,CAAC;EACNL,eAAe,EAAE,aAAa;EAC9BW,MAAM,EAAE;AACV,CAAC;AACD,IAAIe,YAAY,GAAG;EACjBzB,KAAK,EAAE,SAAS;EAChBa,QAAQ,EAAE,OAAO;EACjBa,YAAY,EAAE,MAAM;EACpBP,UAAU,EAAE;AACd,CAAC;AACD,IAAIQ,YAAY,GAAG;EACjBZ,UAAU,EAAE,KAAK;EACjBF,QAAQ,EAAE,MAAM;EAChBM,UAAU,EAAE;AACd,CAAC;AACD,SAAStB,SAAS,EAAEK,WAAW,EAAES,cAAc,EAAEO,WAAW,EAAEK,kBAAkB,EAAEE,YAAY,EAAEE,YAAY","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/44431ac8f82da93523e67ded186f89ff2f550d99e554ca8d96b46780fc130e30.json b/Data-Viz/node_modules/.cache/babel-loader/44431ac8f82da93523e67ded186f89ff2f550d99e554ca8d96b46780fc130e30.json new file mode 100644 index 000000000..0b406900a --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/44431ac8f82da93523e67ded186f89ff2f550d99e554ca8d96b46780fc130e30.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar NATIVE_BIND = require('../internals/function-bind-native');\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};","map":{"version":3,"names":["NATIVE_BIND","require","FunctionPrototype","Function","prototype","call","uncurryThisWithBind","bind","module","exports","fn","apply","arguments"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/function-uncurry-this.js"],"sourcesContent":["'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\n// eslint-disable-next-line es/no-function-prototype-bind -- safe\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAE9D,IAAIC,iBAAiB,GAAGC,QAAQ,CAACC,SAAS;AAC1C,IAAIC,IAAI,GAAGH,iBAAiB,CAACG,IAAI;AACjC;AACA,IAAIC,mBAAmB,GAAGN,WAAW,IAAIE,iBAAiB,CAACK,IAAI,CAACA,IAAI,CAACF,IAAI,EAAEA,IAAI,CAAC;AAEhFG,MAAM,CAACC,OAAO,GAAGT,WAAW,GAAGM,mBAAmB,GAAG,UAAUI,EAAE,EAAE;EACjE,OAAO,YAAY;IACjB,OAAOL,IAAI,CAACM,KAAK,CAACD,EAAE,EAAEE,SAAS,CAAC;EAClC,CAAC;AACH,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/47a71ccd1563fcfa352c42967d3c811aa7e943caef3806a0a049cd7a9f215f33.json b/Data-Viz/node_modules/.cache/babel-loader/47a71ccd1563fcfa352c42967d3c811aa7e943caef3806a0a049cd7a9f215f33.json new file mode 100644 index 000000000..30e62da1f --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/47a71ccd1563fcfa352c42967d3c811aa7e943caef3806a0a049cd7a9f215f33.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * @param {{ protocol?: string, auth?: string, hostname?: string, port?: string, pathname?: string, search?: string, hash?: string, slashes?: boolean }} objURL\n * @returns {string}\n */\nfunction format(objURL) {\n var protocol = objURL.protocol || \"\";\n if (protocol && protocol.substr(-1) !== \":\") {\n protocol += \":\";\n }\n var auth = objURL.auth || \"\";\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, \":\");\n auth += \"@\";\n }\n var host = \"\";\n if (objURL.hostname) {\n host = auth + (objURL.hostname.indexOf(\":\") === -1 ? objURL.hostname : \"[\".concat(objURL.hostname, \"]\"));\n if (objURL.port) {\n host += \":\".concat(objURL.port);\n }\n }\n var pathname = objURL.pathname || \"\";\n if (objURL.slashes) {\n host = \"//\".concat(host || \"\");\n if (pathname && pathname.charAt(0) !== \"/\") {\n pathname = \"/\".concat(pathname);\n }\n } else if (!host) {\n host = \"\";\n }\n var search = objURL.search || \"\";\n if (search && search.charAt(0) !== \"?\") {\n search = \"?\".concat(search);\n }\n var hash = objURL.hash || \"\";\n if (hash && hash.charAt(0) !== \"#\") {\n hash = \"#\".concat(hash);\n }\n pathname = pathname.replace(/[?#]/g,\n /**\n * @param {string} match\n * @returns {string}\n */\n function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace(\"#\", \"%23\");\n return \"\".concat(protocol).concat(host).concat(pathname).concat(search).concat(hash);\n}\n\n/**\n * @param {URL & { fromCurrentScript?: boolean }} parsedURL\n * @returns {string}\n */\nfunction createSocketURL(parsedURL) {\n var hostname = parsedURL.hostname;\n\n // Node.js module parses it as `::`\n // `new URL(urlString, [baseURLString])` parses it as '[::]'\n var isInAddrAny = hostname === \"0.0.0.0\" || hostname === \"::\" || hostname === \"[::]\";\n\n // why do we need this check?\n // hostname n/a for file protocol (example, when using electron, ionic)\n // see: https://github.com/webpack/webpack-dev-server/pull/384\n if (isInAddrAny && self.location.hostname && self.location.protocol.indexOf(\"http\") === 0) {\n hostname = self.location.hostname;\n }\n var socketURLProtocol = parsedURL.protocol || self.location.protocol;\n\n // When https is used in the app, secure web sockets are always necessary because the browser doesn't accept non-secure web sockets.\n if (socketURLProtocol === \"auto:\" || hostname && isInAddrAny && self.location.protocol === \"https:\") {\n socketURLProtocol = self.location.protocol;\n }\n socketURLProtocol = socketURLProtocol.replace(/^(?:http|.+-extension|file)/i, \"ws\");\n var socketURLAuth = \"\";\n\n // `new URL(urlString, [baseURLstring])` doesn't have `auth` property\n // Parse authentication credentials in case we need them\n if (parsedURL.username) {\n socketURLAuth = parsedURL.username;\n\n // Since HTTP basic authentication does not allow empty username,\n // we only include password if the username is not empty.\n if (parsedURL.password) {\n // Result: :\n socketURLAuth = socketURLAuth.concat(\":\", parsedURL.password);\n }\n }\n\n // In case the host is a raw IPv6 address, it can be enclosed in\n // the brackets as the brackets are needed in the final URL string.\n // Need to remove those as url.format blindly adds its own set of brackets\n // if the host string contains colons. That would lead to non-working\n // double brackets (e.g. [[::]]) host\n //\n // All of these web socket url params are optionally passed in through resourceQuery,\n // so we need to fall back to the default if they are not provided\n var socketURLHostname = (hostname || self.location.hostname || \"localhost\").replace(/^\\[(.*)\\]$/, \"$1\");\n var socketURLPort = parsedURL.port;\n if (!socketURLPort || socketURLPort === \"0\") {\n socketURLPort = self.location.port;\n }\n\n // If path is provided it'll be passed in via the resourceQuery as a\n // query param so it has to be parsed out of the querystring in order for the\n // client to open the socket to the correct location.\n var socketURLPathname = \"/ws\";\n if (parsedURL.pathname && !parsedURL.fromCurrentScript) {\n socketURLPathname = parsedURL.pathname;\n }\n return format({\n protocol: socketURLProtocol,\n auth: socketURLAuth,\n hostname: socketURLHostname,\n port: socketURLPort,\n pathname: socketURLPathname,\n slashes: true\n });\n}\nexport default createSocketURL;","map":{"version":3,"names":["format","objURL","protocol","substr","auth","encodeURIComponent","replace","host","hostname","indexOf","concat","port","pathname","slashes","charAt","search","hash","match","createSocketURL","parsedURL","isInAddrAny","self","location","socketURLProtocol","socketURLAuth","username","password","socketURLHostname","socketURLPort","socketURLPathname","fromCurrentScript"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/utils/createSocketURL.js"],"sourcesContent":["/**\n * @param {{ protocol?: string, auth?: string, hostname?: string, port?: string, pathname?: string, search?: string, hash?: string, slashes?: boolean }} objURL\n * @returns {string}\n */\nfunction format(objURL) {\n var protocol = objURL.protocol || \"\";\n if (protocol && protocol.substr(-1) !== \":\") {\n protocol += \":\";\n }\n var auth = objURL.auth || \"\";\n if (auth) {\n auth = encodeURIComponent(auth);\n auth = auth.replace(/%3A/i, \":\");\n auth += \"@\";\n }\n var host = \"\";\n if (objURL.hostname) {\n host = auth + (objURL.hostname.indexOf(\":\") === -1 ? objURL.hostname : \"[\".concat(objURL.hostname, \"]\"));\n if (objURL.port) {\n host += \":\".concat(objURL.port);\n }\n }\n var pathname = objURL.pathname || \"\";\n if (objURL.slashes) {\n host = \"//\".concat(host || \"\");\n if (pathname && pathname.charAt(0) !== \"/\") {\n pathname = \"/\".concat(pathname);\n }\n } else if (!host) {\n host = \"\";\n }\n var search = objURL.search || \"\";\n if (search && search.charAt(0) !== \"?\") {\n search = \"?\".concat(search);\n }\n var hash = objURL.hash || \"\";\n if (hash && hash.charAt(0) !== \"#\") {\n hash = \"#\".concat(hash);\n }\n pathname = pathname.replace(/[?#]/g,\n /**\n * @param {string} match\n * @returns {string}\n */\n function (match) {\n return encodeURIComponent(match);\n });\n search = search.replace(\"#\", \"%23\");\n return \"\".concat(protocol).concat(host).concat(pathname).concat(search).concat(hash);\n}\n\n/**\n * @param {URL & { fromCurrentScript?: boolean }} parsedURL\n * @returns {string}\n */\nfunction createSocketURL(parsedURL) {\n var hostname = parsedURL.hostname;\n\n // Node.js module parses it as `::`\n // `new URL(urlString, [baseURLString])` parses it as '[::]'\n var isInAddrAny = hostname === \"0.0.0.0\" || hostname === \"::\" || hostname === \"[::]\";\n\n // why do we need this check?\n // hostname n/a for file protocol (example, when using electron, ionic)\n // see: https://github.com/webpack/webpack-dev-server/pull/384\n if (isInAddrAny && self.location.hostname && self.location.protocol.indexOf(\"http\") === 0) {\n hostname = self.location.hostname;\n }\n var socketURLProtocol = parsedURL.protocol || self.location.protocol;\n\n // When https is used in the app, secure web sockets are always necessary because the browser doesn't accept non-secure web sockets.\n if (socketURLProtocol === \"auto:\" || hostname && isInAddrAny && self.location.protocol === \"https:\") {\n socketURLProtocol = self.location.protocol;\n }\n socketURLProtocol = socketURLProtocol.replace(/^(?:http|.+-extension|file)/i, \"ws\");\n var socketURLAuth = \"\";\n\n // `new URL(urlString, [baseURLstring])` doesn't have `auth` property\n // Parse authentication credentials in case we need them\n if (parsedURL.username) {\n socketURLAuth = parsedURL.username;\n\n // Since HTTP basic authentication does not allow empty username,\n // we only include password if the username is not empty.\n if (parsedURL.password) {\n // Result: :\n socketURLAuth = socketURLAuth.concat(\":\", parsedURL.password);\n }\n }\n\n // In case the host is a raw IPv6 address, it can be enclosed in\n // the brackets as the brackets are needed in the final URL string.\n // Need to remove those as url.format blindly adds its own set of brackets\n // if the host string contains colons. That would lead to non-working\n // double brackets (e.g. [[::]]) host\n //\n // All of these web socket url params are optionally passed in through resourceQuery,\n // so we need to fall back to the default if they are not provided\n var socketURLHostname = (hostname || self.location.hostname || \"localhost\").replace(/^\\[(.*)\\]$/, \"$1\");\n var socketURLPort = parsedURL.port;\n if (!socketURLPort || socketURLPort === \"0\") {\n socketURLPort = self.location.port;\n }\n\n // If path is provided it'll be passed in via the resourceQuery as a\n // query param so it has to be parsed out of the querystring in order for the\n // client to open the socket to the correct location.\n var socketURLPathname = \"/ws\";\n if (parsedURL.pathname && !parsedURL.fromCurrentScript) {\n socketURLPathname = parsedURL.pathname;\n }\n return format({\n protocol: socketURLProtocol,\n auth: socketURLAuth,\n hostname: socketURLHostname,\n port: socketURLPort,\n pathname: socketURLPathname,\n slashes: true\n });\n}\nexport default createSocketURL;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/4a664b3569d2f93448160c2d7429269db985ab2d52231b208eebea52a11b7856.json b/Data-Viz/node_modules/.cache/babel-loader/4a664b3569d2f93448160c2d7429269db985ab2d52231b208eebea52a11b7856.json new file mode 100644 index 000000000..5d4755271 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/4a664b3569d2f93448160c2d7429269db985ab2d52231b208eebea52a11b7856.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst PlanTripPage = () => {\n _s();\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState(null);\n const [toCoords, setToCoords] = useState(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n const GT_CENTER = [33.7756, -84.3963];\n\n // Expanded list of GT locations\n const popularLocations = [{\n name: \"Student Center\",\n lat: 33.7738,\n lng: -84.3986\n }, {\n name: \"Klaus Advanced Computing Building\",\n lat: 33.7772,\n lng: -84.3956\n }, {\n name: \"Tech Square\",\n lat: 33.7764,\n lng: -84.3889\n }, {\n name: \"Campus Recreation Center (CRC)\",\n lat: 33.7758,\n lng: -84.4025\n }, {\n name: \"Price Gilbert Library\",\n lat: 33.7746,\n lng: -84.3967\n }, {\n name: \"Bobby Dodd Stadium\",\n lat: 33.7722,\n lng: -84.3922\n }, {\n name: \"Midtown MARTA Station\",\n lat: 33.7812,\n lng: -84.3867\n }, {\n name: \"College of Computing\",\n lat: 33.7778,\n lng: -84.3975\n }, {\n name: \"Clough Undergraduate Learning Commons\",\n lat: 33.7751,\n lng: -84.3963\n }, {\n name: \"Kendeda Building\",\n lat: 33.7773,\n lng: -84.4005\n }, {\n name: \"Van Leer Building\",\n lat: 33.7758,\n lng: -84.3968\n }, {\n name: \"Howey Physics Building\",\n lat: 33.7775,\n lng: -84.3990\n }, {\n name: \"Molecular Science Building\",\n lat: 33.7783,\n lng: -84.3994\n }, {\n name: \"Instructional Center\",\n lat: 33.7754,\n lng: -84.3982\n }, {\n name: \"Skiles Classroom Building\",\n lat: 33.7741,\n lng: -84.3955\n }, {\n name: \"Weber Space Science Building\",\n lat: 33.7725,\n lng: -84.3951\n }, {\n name: \"Ferst Center for the Arts\",\n lat: 33.7732,\n lng: -84.3977\n }, {\n name: \"North Avenue Apartments\",\n lat: 33.7780,\n lng: -84.4035\n }, {\n name: \"East Campus Apartments\",\n lat: 33.7705,\n lng: -84.3880\n }, {\n name: \"Georgia Tech Hotel\",\n lat: 33.7763,\n lng: -84.3878\n }, {\n name: \"GTRI Research Building\",\n lat: 33.7820,\n lng: -84.3870\n }, {\n name: \"Techwood Drive Apartments\",\n lat: 33.7695,\n lng: -84.3850\n }, {\n name: \"Curran Parking Deck\",\n lat: 33.7795,\n lng: -84.4010\n }, {\n name: \"Fifth Street Bridge\",\n lat: 33.7775,\n lng: -84.3910\n }, {\n name: \"Manufacture Building\",\n lat: 33.7765,\n lng: -84.4015\n }];\n\n // Custom marker icons (same as before)\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n useEffect(() => {\n loadMockData();\n }, []);\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n const loadMockData = () => {\n setLoading(true);\n setRoutes(mockRoutes);\n const allStops = [];\n const stopIds = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopIds.has(stop.id)) {\n stopIds.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n const calculateDistance = (lat1, lon1, lat2, lon2) => {\n const toRadian = angle => Math.PI / 180 * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) * Math.sin(dLon / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = R * c;\n return distance;\n };\n const findNearestStop = (lat, lng) => {\n let nearestStop = stops[0];\n let minDistance = calculateDistance(lat, lng, stops[0].latitude, stops[0].longitude);\n stops.forEach(stop => {\n const distance = calculateDistance(lat, lng, stop.latitude, stop.longitude);\n if (distance < minDistance) {\n minDistance = distance;\n nearestStop = stop;\n }\n });\n return nearestStop;\n };\n const handleFromLocationSelect = e => {\n const locationName = e.target.value;\n setFromLocation(locationName);\n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setFromCoords({\n lat: location.lat,\n lng: location.lng\n });\n }\n };\n const handleToLocationSelect = e => {\n const locationName = e.target.value;\n setToLocation(locationName);\n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setToCoords({\n lat: location.lat,\n lng: location.lng\n });\n }\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n if (markersRef.current && markersRef.current.length > 0) {\n markersRef.current.forEach(marker => {\n if (marker && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(marker);\n }\n });\n }\n markersRef.current = [];\n if (routeLineRef.current && routeLineRef.current.length > 0) {\n routeLineRef.current.forEach(line => {\n if (line && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(line);\n }\n });\n }\n routeLineRef.current = [];\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const allCoordinates = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n const marker = L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([[fromCoords.lat, fromCoords.lng], [result.startStop.latitude, result.startStop.longitude]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n result.segments.forEach((segment, index) => {\n const coordinates = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n const line = L.polyline(coordinates, {\n color: colors[index % colors.length],\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(line);\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n const marker = L.marker([stop.latitude, stop.longitude], {\n icon\n }).bindPopup(popupText).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n });\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n const marker = L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([[result.endStop.latitude, result.endStop.longitude], [toCoords.lat, toCoords.lng]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, {\n padding: [50, 50]\n });\n }\n };\n const findOptimalRoute = () => {\n if (!fromCoords || !toCoords) {\n setError(\"Please select both starting location and destination.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n setSearching(true);\n setError(\"\");\n setResult(null);\n setTimeout(() => {\n try {\n const startStop = findNearestStop(fromCoords.lat, fromCoords.lng);\n const endStop = findNearestStop(toCoords.lat, toCoords.lng);\n const walkDistStart = calculateDistance(fromCoords.lat, fromCoords.lng, startStop.latitude, startStop.longitude);\n const walkDistEnd = calculateDistance(toCoords.lat, toCoords.lng, endStop.latitude, endStop.longitude);\n console.log(`Nearest start stop: ${startStop.name} (${(walkDistStart * 1000).toFixed(0)}m away)`);\n console.log(`Nearest end stop: ${endStop.name} (${(walkDistEnd * 1000).toFixed(0)}m away)`);\n const result = findRouteWithBFS(startStop.id, endStop.id);\n if (result) {\n setResult({\n ...result,\n startStop,\n endStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these locations. Try different locations.\");\n }\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n console.error(err);\n } finally {\n setSearching(false);\n }\n }, 500);\n };\n const findRouteWithBFS = (startStopId, endStopId) => {\n const queue = [];\n const best = {};\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n while (queue.length > 0) {\n const current = queue.shift();\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route === null || route === void 0 ? void 0 : route.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n if (stop.id === endStopId) {\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n\n // Transfer at any stop, at any time\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s => s.id === stop.id || s.name === stop.name);\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (!current.visitedCombo.has(key) && (best[key] === undefined || best[key] > current.transfers + 1)) {\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n i += dir;\n }\n }\n }\n return null; // No route found\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.center,\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDE8C Loading GT Bus Data...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 469,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 468,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"\\uD83D\\uDE8C Plan Your GT Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 476,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Enter your location and destination - we'll find the best route with unlimited transfers!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 477,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.gridContainer,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.formPanel,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Plan Your Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 481,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.form,\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFC1 Starting Location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 484,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: fromLocation,\n onChange: handleFromLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select starting location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 490,\n columnNumber: 15\n }, this), popularLocations.map(loc => /*#__PURE__*/_jsxDEV(\"option\", {\n value: loc.name,\n children: loc.name\n }, loc.name, false, {\n fileName: _jsxFileName,\n lineNumber: 492,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 485,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFAF Destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 498,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: toLocation,\n onChange: handleToLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 504,\n columnNumber: 15\n }, this), popularLocations.map(loc => /*#__PURE__*/_jsxDEV(\"option\", {\n value: loc.name,\n children: loc.name\n }, loc.name, false, {\n fileName: _jsxFileName,\n lineNumber: 506,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 499,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: findOptimalRoute,\n disabled: searching,\n children: searching ? \"Finding Route...\" : \"Find Best Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 512,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.error,\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 516,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 483,\n columnNumber: 11\n }, this), result && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.result,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\u2705 Route Found\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 521,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: result.transfers === 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: \"\\uD83D\\uDE8C Direct route - No transfers needed!\"\n }, void 0, false) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [\"\\uD83D\\uDD04 \", result.transfers, \" transfer\", result.transfers > 1 ? 's' : '', \" required\"]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 522,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceStart * 1000).toFixed(0), \"m to \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.startStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 531,\n columnNumber: 82\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 531,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 530,\n columnNumber: 15\n }, this), result.segments.map((segment, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.segment,\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: [index === 0 ? '🟢' : '🔄', \" \", segment.route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 536,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Board at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.fromStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 539,\n columnNumber: 32\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 539,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Ride \", segment.stops.length - 1, \" stop\", segment.stops.length > 2 ? 's' : '']\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 540,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Exit at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.toStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 541,\n columnNumber: 31\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 541,\n columnNumber: 19\n }, this), index < result.segments.length - 1 && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.transfer,\n children: [\"\\u2193 Transfer to \", result.segments[index + 1].route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 543,\n columnNumber: 21\n }, this)]\n }, index, true, {\n fileName: _jsxFileName,\n lineNumber: 535,\n columnNumber: 17\n }, this)), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m to destination\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 551,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 550,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.stats,\n children: [\"Total: \", result.totalStops, \" bus stops + \", ((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0), \"m walking\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 554,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 520,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 480,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.mapPanel,\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n ref: mapRef,\n className: styles.map\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 562,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 561,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 479,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n className: styles.linkButton,\n children: \"\\u2190 Return Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 566,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 475,\n columnNumber: 5\n }, this);\n};\n_s(PlanTripPage, \"BJkWI6YcChkCwBdhobILpv/9/gE=\");\n_c = PlanTripPage;\nexport default PlanTripPage;\nvar _c;\n$RefreshReg$(_c, \"PlanTripPage\");","map":{"version":3,"names":["React","useState","useEffect","useRef","Link","L","styles","mockRoutes","jsxDEV","_jsxDEV","Fragment","_Fragment","PlanTripPage","_s","routes","setRoutes","stops","setStops","fromLocation","setFromLocation","toLocation","setToLocation","fromCoords","setFromCoords","toCoords","setToCoords","loading","setLoading","searching","setSearching","result","setResult","error","setError","mapRef","mapInstanceRef","markersRef","routeLineRef","GT_CENTER","popularLocations","name","lat","lng","startIcon","icon","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","endIcon","transferIcon","stopIcon","loadMockData","current","length","initMap","updateMap","allStops","stopIds","Set","forEach","route","stop","has","id","add","push","map","setView","tileLayer","attribution","addTo","calculateDistance","lat1","lon1","lat2","lon2","toRadian","angle","Math","PI","R","dLat","dLon","a","sin","cos","c","atan2","sqrt","distance","findNearestStop","nearestStop","minDistance","latitude","longitude","handleFromLocationSelect","e","locationName","target","value","location","find","loc","handleToLocationSelect","clearMarkers","marker","removeLayer","line","allCoordinates","colors","bindPopup","startStop","walkLine","polyline","color","weight","opacity","dashArray","segments","segment","index","coordinates","s","stopIndex","popupText","endStop","bounds","latLngBounds","fitBounds","padding","findOptimalRoute","setTimeout","walkDistStart","walkDistEnd","console","log","toFixed","findRouteWithBFS","walkingDistanceStart","walkingDistanceEnd","err","startStopId","endStopId","queue","best","idx","stopId","routeId","transfers","visitedCombo","shift","r","curIdx","findIndex","undefined","dir","i","fromStop","toStop","slice","min","max","allSegments","totalStops","reduce","sum","seg","otherRoute","transferIdx","key","newVisitedCombo","className","center","children","fileName","_jsxFileName","lineNumber","columnNumber","container","gridContainer","formPanel","form","onChange","select","onClick","disabled","highlight","walking","transfer","stats","mapPanel","ref","to","linkButton","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { Route } from \"@/types/route\";\nimport { Stop } from \"@/types/stop\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\n\ninterface RouteSegment {\n route: Route;\n fromStop: Stop;\n toStop: Stop;\n stops: Stop[];\n}\n\ninterface RouteResult {\n segments: RouteSegment[];\n totalStops: number;\n transfers: number;\n startStop: Stop;\n endStop: Stop;\n walkingDistanceStart: number;\n walkingDistanceEnd: number;\n}\n\nconst PlanTripPage: React.FC = () => {\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState<{lat: number, lng: number} | null>(null);\n const [toCoords, setToCoords] = useState<{lat: number, lng: number} | null>(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n\n const GT_CENTER: [number, number] = [33.7756, -84.3963];\n\n // Expanded list of GT locations\n const popularLocations = [\n { name: \"Student Center\", lat: 33.7738, lng: -84.3986 },\n { name: \"Klaus Advanced Computing Building\", lat: 33.7772, lng: -84.3956 },\n { name: \"Tech Square\", lat: 33.7764, lng: -84.3889 },\n { name: \"Campus Recreation Center (CRC)\", lat: 33.7758, lng: -84.4025 },\n { name: \"Price Gilbert Library\", lat: 33.7746, lng: -84.3967 },\n { name: \"Bobby Dodd Stadium\", lat: 33.7722, lng: -84.3922 },\n { name: \"Midtown MARTA Station\", lat: 33.7812, lng: -84.3867 },\n { name: \"College of Computing\", lat: 33.7778, lng: -84.3975 },\n { name: \"Clough Undergraduate Learning Commons\", lat: 33.7751, lng: -84.3963 },\n { name: \"Kendeda Building\", lat: 33.7773, lng: -84.4005 },\n { name: \"Van Leer Building\", lat: 33.7758, lng: -84.3968 },\n { name: \"Howey Physics Building\", lat: 33.7775, lng: -84.3990 },\n { name: \"Molecular Science Building\", lat: 33.7783, lng: -84.3994 },\n { name: \"Instructional Center\", lat: 33.7754, lng: -84.3982 },\n { name: \"Skiles Classroom Building\", lat: 33.7741, lng: -84.3955 },\n { name: \"Weber Space Science Building\", lat: 33.7725, lng: -84.3951 },\n { name: \"Ferst Center for the Arts\", lat: 33.7732, lng: -84.3977 },\n { name: \"North Avenue Apartments\", lat: 33.7780, lng: -84.4035 },\n { name: \"East Campus Apartments\", lat: 33.7705, lng: -84.3880 },\n { name: \"Georgia Tech Hotel\", lat: 33.7763, lng: -84.3878 },\n { name: \"GTRI Research Building\", lat: 33.7820, lng: -84.3870 },\n { name: \"Techwood Drive Apartments\", lat: 33.7695, lng: -84.3850 },\n { name: \"Curran Parking Deck\", lat: 33.7795, lng: -84.4010 },\n { name: \"Fifth Street Bridge\", lat: 33.7775, lng: -84.3910 },\n { name: \"Manufacture Building\", lat: 33.7765, lng: -84.4015 },\n ];\n\n // Custom marker icons (same as before)\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n\n useEffect(() => {\n loadMockData();\n }, []);\n\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n\n const loadMockData = () => {\n setLoading(true);\n setRoutes(mockRoutes);\n\n const allStops: Stop[] = [];\n const stopIds = new Set();\n\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopIds.has(stop.id)) {\n stopIds.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n\n setStops(allStops);\n setLoading(false);\n };\n\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n \n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n\n mapInstanceRef.current = map;\n };\n\n const calculateDistance = (lat1: number, lon1: number, lat2: number, lon2: number): number => {\n const toRadian = (angle: number) => (Math.PI / 180) * angle;\n const R = 6371;\n \n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n \n const a = \n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) *\n Math.sin(dLon / 2) * Math.sin(dLon / 2);\n \n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = R * c;\n \n return distance;\n };\n\n const findNearestStop = (lat: number, lng: number): Stop => {\n let nearestStop = stops[0];\n let minDistance = calculateDistance(lat, lng, stops[0].latitude, stops[0].longitude);\n\n stops.forEach(stop => {\n const distance = calculateDistance(lat, lng, stop.latitude, stop.longitude);\n if (distance < minDistance) {\n minDistance = distance;\n nearestStop = stop;\n }\n });\n\n return nearestStop;\n };\n\n const handleFromLocationSelect = (e: React.ChangeEvent) => {\n const locationName = e.target.value;\n setFromLocation(locationName);\n \n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setFromCoords({ lat: location.lat, lng: location.lng });\n }\n };\n\n const handleToLocationSelect = (e: React.ChangeEvent) => {\n const locationName = e.target.value;\n setToLocation(locationName);\n \n const location = popularLocations.find(loc => loc.name === locationName);\n if (location) {\n setToCoords({ lat: location.lat, lng: location.lng });\n }\n };\n\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n\n if (markersRef.current && markersRef.current.length > 0) {\n markersRef.current.forEach(marker => {\n if (marker && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(marker);\n }\n });\n }\n markersRef.current = [];\n \n if (routeLineRef.current && routeLineRef.current.length > 0) {\n routeLineRef.current.forEach(line => {\n if (line && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(line);\n }\n });\n }\n routeLineRef.current = [];\n };\n\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n\n clearMarkers();\n\n const allCoordinates: [number, number][] = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n const marker = L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n\n const walkLine = L.polyline([\n [fromCoords.lat, fromCoords.lng],\n [result.startStop.latitude, result.startStop.longitude]\n ], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n\n result.segments.forEach((segment, index) => {\n const coordinates: [number, number][] = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n\n const line = L.polyline(coordinates, {\n color: colors[index % colors.length],\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current!);\n routeLineRef.current.push(line);\n\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n\n const marker = L.marker([stop.latitude, stop.longitude], { icon })\n .bindPopup(popupText)\n .addTo(mapInstanceRef.current!);\n markersRef.current.push(marker);\n });\n });\n\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n const marker = L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n\n const walkLine = L.polyline([\n [result.endStop.latitude, result.endStop.longitude],\n [toCoords.lat, toCoords.lng]\n ], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, { padding: [50, 50] });\n }\n };\n\n const findOptimalRoute = () => {\n if (!fromCoords || !toCoords) {\n setError(\"Please select both starting location and destination.\");\n return;\n }\n\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n\n setSearching(true);\n setError(\"\");\n setResult(null);\n\n setTimeout(() => {\n try {\n const startStop = findNearestStop(fromCoords.lat, fromCoords.lng);\n const endStop = findNearestStop(toCoords.lat, toCoords.lng);\n\n const walkDistStart = calculateDistance(fromCoords.lat, fromCoords.lng, startStop.latitude, startStop.longitude);\n const walkDistEnd = calculateDistance(toCoords.lat, toCoords.lng, endStop.latitude, endStop.longitude);\n\n console.log(`Nearest start stop: ${startStop.name} (${(walkDistStart * 1000).toFixed(0)}m away)`);\n console.log(`Nearest end stop: ${endStop.name} (${(walkDistEnd * 1000).toFixed(0)}m away)`);\n\n const result = findRouteWithBFS(startStop.id, endStop.id);\n \n if (result) {\n setResult({\n ...result,\n startStop,\n endStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these locations. Try different locations.\");\n }\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n console.error(err);\n } finally {\n setSearching(false);\n }\n }, 500);\n };\n\n const findRouteWithBFS = (\n startStopId: string,\n endStopId: string\n): Omit | null => {\n interface BFSNode {\n stopId: string;\n routeId: string;\n segments: RouteSegment[];\n transfers: number;\n visitedCombo: Set;\n }\n const queue: BFSNode[] = [];\n const best: Record = {};\n\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n\n while (queue.length > 0) {\n const current = queue.shift()!;\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route?.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n\n if (stop.id === endStopId) {\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n\n // Transfer at any stop, at any time\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s =>\n s.id === stop.id || s.name === stop.name\n );\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (\n !current.visitedCombo.has(key) &&\n (best[key] === undefined || best[key] > current.transfers + 1)\n ) {\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n i += dir;\n }\n }\n }\n return null; // No route found\n};\n\n\n\n if (loading) {\n return (\n
\n

🚌 Loading GT Bus Data...

\n
\n );\n }\n\n return (\n
\n

🚌 Plan Your GT Trip

\n

Enter your location and destination - we'll find the best route with unlimited transfers!

\n\n
\n
\n

Plan Your Route

\n\n
\n \n \n \n {popularLocations.map((loc) => (\n \n ))}\n \n\n \n \n \n {popularLocations.map((loc) => (\n \n ))}\n \n\n \n\n {error &&

{error}

}\n
\n\n {result && (\n
\n

✅ Route Found

\n

\n {result.transfers === 0 ? (\n <>🚌 Direct route - No transfers needed!\n ) : (\n <>🔄 {result.transfers} transfer{result.transfers > 1 ? 's' : ''} required\n )}\n

\n \n
\n

🚶 Walk {(result.walkingDistanceStart * 1000).toFixed(0)}m to {result.startStop.name}

\n
\n\n {result.segments.map((segment, index) => (\n
\n

\n {index === 0 ? '🟢' : '🔄'} {segment.route.name}\n

\n

Board at: {segment.fromStop.name}

\n

Ride {segment.stops.length - 1} stop{segment.stops.length > 2 ? 's' : ''}

\n

Exit at: {segment.toStop.name}

\n {index < result.segments.length - 1 && (\n

\n ↓ Transfer to {result.segments[index + 1].route.name}\n

\n )}\n
\n ))}\n\n
\n

🚶 Walk {(result.walkingDistanceEnd * 1000).toFixed(0)}m to destination

\n
\n \n

\n Total: {result.totalStops} bus stops + {((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0)}m walking\n

\n
\n )}\n
\n\n
\n
\n
\n
\n\n \n ← Return Home\n \n
\n );\n};\n\nexport default PlanTripPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/4c416fe3144dbcfcab61fed4e63be90a8ff186a0344b65364fb56051eec3dd7c.json b/Data-Viz/node_modules/.cache/babel-loader/4c416fe3144dbcfcab61fed4e63be90a8ff186a0344b65364fb56051eec3dd7c.json new file mode 100644 index 000000000..17c013868 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/4c416fe3144dbcfcab61fed4e63be90a8ff186a0344b65364fb56051eec3dd7c.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n(store.versions || (store.versions = [])).push({\n version: '3.40.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});","map":{"version":3,"names":["IS_PURE","require","globalThis","defineGlobalProperty","SHARED","store","module","exports","versions","push","version","mode","copyright","license","source"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/shared-store.js"],"sourcesContent":["'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar globalThis = require('../internals/global-this');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = module.exports = globalThis[SHARED] || defineGlobalProperty(SHARED, {});\n\n(store.versions || (store.versions = [])).push({\n version: '3.40.0',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2025 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,OAAO,GAAGC,OAAO,CAAC,sBAAsB,CAAC;AAC7C,IAAIC,UAAU,GAAGD,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIE,oBAAoB,GAAGF,OAAO,CAAC,qCAAqC,CAAC;AAEzE,IAAIG,MAAM,GAAG,oBAAoB;AACjC,IAAIC,KAAK,GAAGC,MAAM,CAACC,OAAO,GAAGL,UAAU,CAACE,MAAM,CAAC,IAAID,oBAAoB,CAACC,MAAM,EAAE,CAAC,CAAC,CAAC;AAEnF,CAACC,KAAK,CAACG,QAAQ,KAAKH,KAAK,CAACG,QAAQ,GAAG,EAAE,CAAC,EAAEC,IAAI,CAAC;EAC7CC,OAAO,EAAE,QAAQ;EACjBC,IAAI,EAAEX,OAAO,GAAG,MAAM,GAAG,QAAQ;EACjCY,SAAS,EAAE,2CAA2C;EACtDC,OAAO,EAAE,0DAA0D;EACnEC,MAAM,EAAE;AACV,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/4cfe2cd83056e1e73e203eee81bcfa8188e276fefd4d75e17d420f4134112475.json b/Data-Viz/node_modules/.cache/babel-loader/4cfe2cd83056e1e73e203eee81bcfa8188e276fefd4d75e17d420f4134112475.json new file mode 100644 index 000000000..268d778f8 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/4cfe2cd83056e1e73e203eee81bcfa8188e276fefd4d75e17d420f4134112475.json @@ -0,0 +1 @@ +{"ast":null,"code":"/* global __webpack_dev_server_client__ */\n\nimport WebSocketClient from \"./clients/WebSocketClient.js\";\nimport { log } from \"./utils/log.js\";\n\n// this WebsocketClient is here as a default fallback, in case the client is not injected\n/* eslint-disable camelcase */\nvar Client =\n// eslint-disable-next-line no-nested-ternary\ntypeof __webpack_dev_server_client__ !== \"undefined\" ? typeof __webpack_dev_server_client__.default !== \"undefined\" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;\n/* eslint-enable camelcase */\n\nvar retries = 0;\nvar maxRetries = 10;\n\n// Initialized client is exported so external consumers can utilize the same instance\n// It is mutable to enforce singleton\n// eslint-disable-next-line import/no-mutable-exports\nexport var client = null;\n\n/**\n * @param {string} url\n * @param {{ [handler: string]: (data?: any, params?: any) => any }} handlers\n * @param {number} [reconnect]\n */\nvar socket = function initSocket(url, handlers, reconnect) {\n client = new Client(url);\n client.onOpen(function () {\n retries = 0;\n if (typeof reconnect !== \"undefined\") {\n maxRetries = reconnect;\n }\n });\n client.onClose(function () {\n if (retries === 0) {\n handlers.close();\n }\n\n // Try to reconnect.\n client = null;\n\n // After 10 retries stop trying, to prevent logspam.\n if (retries < maxRetries) {\n // Exponentially increase timeout to reconnect.\n // Respectfully copied from the package `got`.\n // eslint-disable-next-line no-restricted-properties\n var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;\n retries += 1;\n log.info(\"Trying to reconnect...\");\n setTimeout(function () {\n socket(url, handlers, reconnect);\n }, retryInMs);\n }\n });\n client.onMessage(\n /**\n * @param {any} data\n */\n function (data) {\n var message = JSON.parse(data);\n if (handlers[message.type]) {\n handlers[message.type](message.data, message.params);\n }\n });\n};\nexport default socket;","map":{"version":3,"names":["WebSocketClient","log","Client","__webpack_dev_server_client__","default","retries","maxRetries","client","socket","initSocket","url","handlers","reconnect","onOpen","onClose","close","retryInMs","Math","pow","random","info","setTimeout","onMessage","data","message","JSON","parse","type","params"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/socket.js"],"sourcesContent":["/* global __webpack_dev_server_client__ */\n\nimport WebSocketClient from \"./clients/WebSocketClient.js\";\nimport { log } from \"./utils/log.js\";\n\n// this WebsocketClient is here as a default fallback, in case the client is not injected\n/* eslint-disable camelcase */\nvar Client =\n// eslint-disable-next-line no-nested-ternary\ntypeof __webpack_dev_server_client__ !== \"undefined\" ? typeof __webpack_dev_server_client__.default !== \"undefined\" ? __webpack_dev_server_client__.default : __webpack_dev_server_client__ : WebSocketClient;\n/* eslint-enable camelcase */\n\nvar retries = 0;\nvar maxRetries = 10;\n\n// Initialized client is exported so external consumers can utilize the same instance\n// It is mutable to enforce singleton\n// eslint-disable-next-line import/no-mutable-exports\nexport var client = null;\n\n/**\n * @param {string} url\n * @param {{ [handler: string]: (data?: any, params?: any) => any }} handlers\n * @param {number} [reconnect]\n */\nvar socket = function initSocket(url, handlers, reconnect) {\n client = new Client(url);\n client.onOpen(function () {\n retries = 0;\n if (typeof reconnect !== \"undefined\") {\n maxRetries = reconnect;\n }\n });\n client.onClose(function () {\n if (retries === 0) {\n handlers.close();\n }\n\n // Try to reconnect.\n client = null;\n\n // After 10 retries stop trying, to prevent logspam.\n if (retries < maxRetries) {\n // Exponentially increase timeout to reconnect.\n // Respectfully copied from the package `got`.\n // eslint-disable-next-line no-restricted-properties\n var retryInMs = 1000 * Math.pow(2, retries) + Math.random() * 100;\n retries += 1;\n log.info(\"Trying to reconnect...\");\n setTimeout(function () {\n socket(url, handlers, reconnect);\n }, retryInMs);\n }\n });\n client.onMessage(\n /**\n * @param {any} data\n */\n function (data) {\n var message = JSON.parse(data);\n if (handlers[message.type]) {\n handlers[message.type](message.data, message.params);\n }\n });\n};\nexport default socket;"],"mappings":"AAAA;;AAEA,OAAOA,eAAe,MAAM,8BAA8B;AAC1D,SAASC,GAAG,QAAQ,gBAAgB;;AAEpC;AACA;AACA,IAAIC,MAAM;AACV;AACA,OAAOC,6BAA6B,KAAK,WAAW,GAAG,OAAOA,6BAA6B,CAACC,OAAO,KAAK,WAAW,GAAGD,6BAA6B,CAACC,OAAO,GAAGD,6BAA6B,GAAGH,eAAe;AAC7M;;AAEA,IAAIK,OAAO,GAAG,CAAC;AACf,IAAIC,UAAU,GAAG,EAAE;;AAEnB;AACA;AACA;AACA,OAAO,IAAIC,MAAM,GAAG,IAAI;;AAExB;AACA;AACA;AACA;AACA;AACA,IAAIC,MAAM,GAAG,SAASC,UAAUA,CAACC,GAAG,EAAEC,QAAQ,EAAEC,SAAS,EAAE;EACzDL,MAAM,GAAG,IAAIL,MAAM,CAACQ,GAAG,CAAC;EACxBH,MAAM,CAACM,MAAM,CAAC,YAAY;IACxBR,OAAO,GAAG,CAAC;IACX,IAAI,OAAOO,SAAS,KAAK,WAAW,EAAE;MACpCN,UAAU,GAAGM,SAAS;IACxB;EACF,CAAC,CAAC;EACFL,MAAM,CAACO,OAAO,CAAC,YAAY;IACzB,IAAIT,OAAO,KAAK,CAAC,EAAE;MACjBM,QAAQ,CAACI,KAAK,CAAC,CAAC;IAClB;;IAEA;IACAR,MAAM,GAAG,IAAI;;IAEb;IACA,IAAIF,OAAO,GAAGC,UAAU,EAAE;MACxB;MACA;MACA;MACA,IAAIU,SAAS,GAAG,IAAI,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEb,OAAO,CAAC,GAAGY,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG;MACjEd,OAAO,IAAI,CAAC;MACZJ,GAAG,CAACmB,IAAI,CAAC,wBAAwB,CAAC;MAClCC,UAAU,CAAC,YAAY;QACrBb,MAAM,CAACE,GAAG,EAAEC,QAAQ,EAAEC,SAAS,CAAC;MAClC,CAAC,EAAEI,SAAS,CAAC;IACf;EACF,CAAC,CAAC;EACFT,MAAM,CAACe,SAAS;EAChB;AACF;AACA;EACE,UAAUC,IAAI,EAAE;IACd,IAAIC,OAAO,GAAGC,IAAI,CAACC,KAAK,CAACH,IAAI,CAAC;IAC9B,IAAIZ,QAAQ,CAACa,OAAO,CAACG,IAAI,CAAC,EAAE;MAC1BhB,QAAQ,CAACa,OAAO,CAACG,IAAI,CAAC,CAACH,OAAO,CAACD,IAAI,EAAEC,OAAO,CAACI,MAAM,CAAC;IACtD;EACF,CAAC,CAAC;AACJ,CAAC;AACD,eAAepB,MAAM","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/4ee05905522e36c9049cdc7fc068f29499d553b5a531e6a14b16340ae954294c.json b/Data-Viz/node_modules/.cache/babel-loader/4ee05905522e36c9049cdc7fc068f29499d553b5a531e6a14b16340ae954294c.json new file mode 100644 index 000000000..b8989f3b2 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/4ee05905522e36c9049cdc7fc068f29499d553b5a531e6a14b16340ae954294c.json @@ -0,0 +1 @@ +{"ast":null,"code":"// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null;\nvar ReflectApply = R && typeof R.apply === 'function' ? R.apply : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n};\nvar ReflectOwnKeys;\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys;\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n};\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function () {\n return defaultMaxListeners;\n },\n set: function (arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\nEventEmitter.init = function () {\n if (this._events === undefined || this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined) return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = type === 'error';\n var events = this._events;\n if (events !== undefined) doError = doError && events.error === undefined;else if (!doError) return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0) er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n var handler = events[type];\n if (handler === undefined) return false;\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i) ReflectApply(listeners[i], this, args);\n }\n return true;\n};\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n checkListener(listener);\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type, listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] = prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' + existing.length + ' ' + String(type) + ' listeners ' + 'added. Use emitter.setMaxListeners() to ' + 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n return target;\n}\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\nEventEmitter.prototype.prependListener = function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n};\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0) return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\nfunction _onceWrap(target, type, listener) {\n var state = {\n fired: false,\n wrapFn: undefined,\n target: target,\n type: type,\n listener: listener\n };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\nEventEmitter.prototype.prependOnceListener = function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n};\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener = function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n checkListener(listener);\n events = this._events;\n if (events === undefined) return this;\n list = events[type];\n if (list === undefined) return this;\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else {\n delete events[type];\n if (events.removeListener) this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n if (position < 0) return this;\n if (position === 0) list.shift();else {\n spliceOne(list, position);\n }\n if (list.length === 1) events[type] = list[0];\n if (events.removeListener !== undefined) this.emit('removeListener', type, originalListener || listener);\n }\n return this;\n};\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(type) {\n var listeners, events, i;\n events = this._events;\n if (events === undefined) return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0) this._events = Object.create(null);else delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n listeners = events[type];\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n return this;\n};\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n if (events === undefined) return [];\n var evlistener = events[type];\n if (evlistener === undefined) return [];\n if (typeof evlistener === 'function') return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n return unwrap ? unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\nEventEmitter.listenerCount = function (emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n if (events !== undefined) {\n var evlistener = events[type];\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n return 0;\n}\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i) copy[i] = arr[i];\n return copy;\n}\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++) list[index] = list[index + 1];\n list.pop();\n}\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n }\n ;\n eventTargetAgnosticAddListener(emitter, name, resolver, {\n once: true\n });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, {\n once: true\n });\n }\n });\n}\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}","map":{"version":3,"names":["R","Reflect","ReflectApply","apply","target","receiver","args","Function","prototype","call","ReflectOwnKeys","ownKeys","Object","getOwnPropertySymbols","getOwnPropertyNames","concat","ProcessEmitWarning","warning","console","warn","NumberIsNaN","Number","isNaN","value","EventEmitter","init","module","exports","once","_events","undefined","_eventsCount","_maxListeners","defaultMaxListeners","checkListener","listener","TypeError","defineProperty","enumerable","get","set","arg","RangeError","getPrototypeOf","create","setMaxListeners","n","_getMaxListeners","that","getMaxListeners","emit","type","i","arguments","length","push","doError","events","error","er","Error","err","message","context","handler","len","listeners","arrayClone","_addListener","prepend","m","existing","newListener","unshift","warned","w","String","name","emitter","count","addListener","on","prependListener","onceWrapper","fired","removeListener","wrapFn","_onceWrap","state","wrapped","bind","prependOnceListener","list","position","originalListener","shift","spliceOne","off","removeAllListeners","keys","key","_listeners","unwrap","evlistener","unwrapListeners","rawListeners","listenerCount","eventNames","arr","copy","Array","index","pop","ret","Promise","resolve","reject","errorListener","resolver","slice","eventTargetAgnosticAddListener","addErrorHandlerIfEventEmitter","flags","addEventListener","wrapListener","removeEventListener"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/events/events.js"],"sourcesContent":["// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/5339a79eaa47376990f6f0334f8963d9350ee51997f3c911341372720bcc0863.json b/Data-Viz/node_modules/.cache/babel-loader/5339a79eaa47376990f6f0334f8963d9350ee51997f3c911341372720bcc0863.json new file mode 100644 index 000000000..e3dc70e97 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/5339a79eaa47376990f6f0334f8963d9350ee51997f3c911341372720bcc0863.json @@ -0,0 +1 @@ +{"ast":null,"code":"/* global __react_refresh_library__ */\n\nconst safeThis = require('core-js-pure/features/global-this');\nconst RefreshRuntime = require('react-refresh/runtime');\nif (process.env.NODE_ENV !== 'production') {\n if (typeof safeThis !== 'undefined') {\n var $RefreshInjected$ = '__reactRefreshInjected';\n // Namespace the injected flag (if necessary) for monorepo compatibility\n if (typeof __react_refresh_library__ !== 'undefined' && __react_refresh_library__) {\n $RefreshInjected$ += '_' + __react_refresh_library__;\n }\n\n // Only inject the runtime if it hasn't been injected\n if (!safeThis[$RefreshInjected$]) {\n // Inject refresh runtime into global scope\n RefreshRuntime.injectIntoGlobalHook(safeThis);\n\n // Mark the runtime as injected to prevent double-injection\n safeThis[$RefreshInjected$] = true;\n }\n }\n}","map":{"version":3,"names":["safeThis","require","RefreshRuntime","process","env","NODE_ENV","$RefreshInjected$","__react_refresh_library__","injectIntoGlobalHook"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/@pmmmwh/react-refresh-webpack-plugin/client/ReactRefreshEntry.js"],"sourcesContent":["/* global __react_refresh_library__ */\n\nconst safeThis = require('core-js-pure/features/global-this');\nconst RefreshRuntime = require('react-refresh/runtime');\n\nif (process.env.NODE_ENV !== 'production') {\n if (typeof safeThis !== 'undefined') {\n var $RefreshInjected$ = '__reactRefreshInjected';\n // Namespace the injected flag (if necessary) for monorepo compatibility\n if (typeof __react_refresh_library__ !== 'undefined' && __react_refresh_library__) {\n $RefreshInjected$ += '_' + __react_refresh_library__;\n }\n\n // Only inject the runtime if it hasn't been injected\n if (!safeThis[$RefreshInjected$]) {\n // Inject refresh runtime into global scope\n RefreshRuntime.injectIntoGlobalHook(safeThis);\n\n // Mark the runtime as injected to prevent double-injection\n safeThis[$RefreshInjected$] = true;\n }\n }\n}\n"],"mappings":"AAAA;;AAEA,MAAMA,QAAQ,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAC7D,MAAMC,cAAc,GAAGD,OAAO,CAAC,uBAAuB,CAAC;AAEvD,IAAIE,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzC,IAAI,OAAOL,QAAQ,KAAK,WAAW,EAAE;IACnC,IAAIM,iBAAiB,GAAG,wBAAwB;IAChD;IACA,IAAI,OAAOC,yBAAyB,KAAK,WAAW,IAAIA,yBAAyB,EAAE;MACjFD,iBAAiB,IAAI,GAAG,GAAGC,yBAAyB;IACtD;;IAEA;IACA,IAAI,CAACP,QAAQ,CAACM,iBAAiB,CAAC,EAAE;MAChC;MACAJ,cAAc,CAACM,oBAAoB,CAACR,QAAQ,CAAC;;MAE7C;MACAA,QAAQ,CAACM,iBAAiB,CAAC,GAAG,IAAI;IACpC;EACF;AACF","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/54e7ef661d375e909fc8f15a932e78370345fd3a6f361c6340ffc6e928a27c67.json b/Data-Viz/node_modules/.cache/babel-loader/54e7ef661d375e909fc8f15a932e78370345fd3a6f361c6340ffc6e928a27c67.json new file mode 100644 index 000000000..4d67ee173 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/54e7ef661d375e909fc8f15a932e78370345fd3a6f361c6340ffc6e928a27c67.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};","map":{"version":3,"names":["uncurryThis","require","toObject","hasOwnProperty","module","exports","Object","hasOwn","it","key"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/has-own-property.js"],"sourcesContent":["'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAC/D,IAAIC,QAAQ,GAAGD,OAAO,CAAC,wBAAwB,CAAC;AAEhD,IAAIE,cAAc,GAAGH,WAAW,CAAC,CAAC,CAAC,CAACG,cAAc,CAAC;;AAEnD;AACA;AACA;AACAC,MAAM,CAACC,OAAO,GAAGC,MAAM,CAACC,MAAM,IAAI,SAASA,MAAMA,CAACC,EAAE,EAAEC,GAAG,EAAE;EACzD,OAAON,cAAc,CAACD,QAAQ,CAACM,EAAE,CAAC,EAAEC,GAAG,CAAC;AAC1C,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/576bb81dc4e62a8e98fb3a7208b00d248b4efa719427a22da266dc8eb450b790.json b/Data-Viz/node_modules/.cache/babel-loader/576bb81dc4e62a8e98fb3a7208b00d248b4efa719427a22da266dc8eb450b790.json new file mode 100644 index 000000000..ed6ab898a --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/576bb81dc4e62a8e98fb3a7208b00d248b4efa719427a22da266dc8eb450b790.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\n\n// ---------- Shared STOP MAP: Maps location names to canonical stop ids ----------\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst stopMap = [{\n name: \"Student Center\",\n id: \"student-center\"\n}, {\n name: \"Klaus Advanced Computing Building\",\n id: \"klaus\"\n}, {\n name: \"Tech Square\",\n id: \"tech-square\"\n}, {\n name: \"Campus Recreation Center (CRC)\",\n id: \"crc\"\n}, {\n name: \"Midtown MARTA Station\",\n id: \"midtown-marta\"\n}, {\n name: \"Kendeda Building\",\n id: \"kendeda\"\n}\n// Add unified stops as needed for your mockRoutes!\n];\n\n// ---------- Popular locations for dropdown ----------\nconst popularLocations = [{\n name: \"Student Center\",\n lat: 33.7738,\n lng: -84.3986\n}, {\n name: \"Klaus Advanced Computing Building\",\n lat: 33.7772,\n lng: -84.3956\n}, {\n name: \"Tech Square\",\n lat: 33.7764,\n lng: -84.3889\n}, {\n name: \"Campus Recreation Center (CRC)\",\n lat: 33.7758,\n lng: -84.4025\n}, {\n name: \"Midtown MARTA Station\",\n lat: 33.7812,\n lng: -84.3867\n}, {\n name: \"Kendeda Building\",\n lat: 33.7773,\n lng: -84.4005\n}\n// Add additional stops as needed\n];\nconst PlanTripPage = () => {\n _s();\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState(null);\n const [toCoords, setToCoords] = useState(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n const GT_CENTER = [33.7756, -84.3963];\n\n // ---------- Custom marker icons ----------\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n useEffect(() => {\n setRoutes(mockRoutes);\n\n // Gather all unique stops for search/autocomplete\n const allStops = [];\n const stopIds = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopIds.has(stop.id)) {\n stopIds.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n\n // ---------------- Utilities -----------------\n function getStopIdForLocation(name) {\n var _stopMap$find;\n return (_stopMap$find = stopMap.find(s => s.name === name)) === null || _stopMap$find === void 0 ? void 0 : _stopMap$find.id;\n }\n function getStopById(id) {\n return stops.find(s => s.id === id);\n }\n const handleFromLocationSelect = e => {\n const locationName = e.target.value;\n setFromLocation(locationName);\n const locObj = popularLocations.find(loc => loc.name === locationName);\n if (locObj) setFromCoords({\n lat: locObj.lat,\n lng: locObj.lng\n });\n };\n const handleToLocationSelect = e => {\n const locationName = e.target.value;\n setToLocation(locationName);\n const locObj = popularLocations.find(loc => loc.name === locationName);\n if (locObj) setToCoords({\n lat: locObj.lat,\n lng: locObj.lng\n });\n };\n const calculateDistance = (lat1, lon1, lat2, lon2) => {\n const toRadian = angle => Math.PI / 180 * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) ** 2 + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n if (markersRef.current && markersRef.current.length > 0) {\n markersRef.current.forEach(marker => {\n if (marker && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(marker);\n }\n });\n }\n markersRef.current = [];\n if (routeLineRef.current && routeLineRef.current.length > 0) {\n routeLineRef.current.forEach(line => {\n if (line && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(line);\n }\n });\n }\n routeLineRef.current = [];\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const allCoordinates = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n const marker = L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([[fromCoords.lat, fromCoords.lng], [result.startStop.latitude, result.startStop.longitude]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n result.segments.forEach((segment, index) => {\n const coordinates = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n const line = L.polyline(coordinates, {\n color: colors[index % colors.length],\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(line);\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n const marker = L.marker([stop.latitude, stop.longitude], {\n icon\n }).bindPopup(popupText).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n });\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n const marker = L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([[result.endStop.latitude, result.endStop.longitude], [toCoords.lat, toCoords.lng]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, {\n padding: [50, 50]\n });\n }\n };\n\n // ---------- Routefinder with multi-transfer, bi-directional scan ----------\n const findRouteWithBFS = (startStopId, endStopId) => {\n const queue = [];\n const best = {};\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n while (queue.length > 0) {\n const current = queue.shift();\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route === null || route === void 0 ? void 0 : route.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n if (stop.id === endStopId) {\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n // Transfer possible at any point\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s => s.id === stop.id);\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (!current.visitedCombo.has(key) && (best[key] === undefined || best[key] > current.transfers + 1)) {\n const segment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(Math.min(curIdx, i), Math.max(curIdx, i) + 1)\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n i += dir;\n }\n }\n }\n return null; // No route found\n };\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n const fromId = getStopIdForLocation(fromLocation);\n const toId = getStopIdForLocation(toLocation);\n const fromStop = fromId ? getStopById(fromId) : undefined;\n const toStop = toId ? getStopById(toId) : undefined;\n if (!fromStop || !toStop) {\n setError(\"One of the selected locations is not served by the bus.\");\n return;\n }\n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n setSearching(true);\n setError(\"\");\n setResult(null);\n setTimeout(() => {\n try {\n const routeResult = findRouteWithBFS(fromId, toId);\n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these locations. Try different locations.\");\n }\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n console.error(err);\n } finally {\n setSearching(false);\n }\n }, 300);\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.center,\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDE8C Loading GT Bus Data...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 398,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 397,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"\\uD83D\\uDE8C Plan Your GT Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 405,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Enter your location and destination - we'll find the best route with unlimited transfers!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 406,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.gridContainer,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.formPanel,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Plan Your Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 409,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.form,\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFC1 Starting Location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 411,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: fromLocation,\n onChange: handleFromLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select starting location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 413,\n columnNumber: 15\n }, this), popularLocations.map(loc => /*#__PURE__*/_jsxDEV(\"option\", {\n value: loc.name,\n children: loc.name\n }, loc.name, false, {\n fileName: _jsxFileName,\n lineNumber: 415,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 412,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFAF Destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 418,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: toLocation,\n onChange: handleToLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 420,\n columnNumber: 15\n }, this), popularLocations.map(loc => /*#__PURE__*/_jsxDEV(\"option\", {\n value: loc.name,\n children: loc.name\n }, loc.name, false, {\n fileName: _jsxFileName,\n lineNumber: 422,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 419,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: findOptimalRoute,\n disabled: searching,\n children: searching ? \"Finding Route...\" : \"Find Best Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 425,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.error,\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 428,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 410,\n columnNumber: 11\n }, this), result && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.result,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\u2705 Route Found\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 432,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: result.transfers === 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: \"\\uD83D\\uDE8C Direct route - No transfers needed!\"\n }, void 0, false) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [\"\\uD83D\\uDD04 \", result.transfers, \" transfer\", result.transfers > 1 ? 's' : '', \" required\"]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 433,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceStart * 1000).toFixed(0), \"m to \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.startStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 440,\n columnNumber: 82\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 440,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 439,\n columnNumber: 15\n }, this), result.segments.map((segment, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.segment,\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: [index === 0 ? '🟢' : '🔄', \" \", segment.route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 444,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Board at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.fromStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 445,\n columnNumber: 32\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 445,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Ride \", segment.stops.length - 1, \" stop\", segment.stops.length > 2 ? 's' : '']\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 446,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Exit at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.toStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 447,\n columnNumber: 31\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 447,\n columnNumber: 19\n }, this), index < result.segments.length - 1 && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.transfer,\n children: [\"\\u2193 Transfer to \", result.segments[index + 1].route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 449,\n columnNumber: 21\n }, this)]\n }, index, true, {\n fileName: _jsxFileName,\n lineNumber: 443,\n columnNumber: 17\n }, this)), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m to destination\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 456,\n columnNumber: 17\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 455,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.stats,\n children: [\"Total: \", result.totalStops, \" bus stops + \", ((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0), \"m walking\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 458,\n columnNumber: 15\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 431,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 408,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.mapPanel,\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n ref: mapRef,\n className: styles.map\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 465,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 464,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 407,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n className: styles.linkButton,\n children: \"\\u2190 Return Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 468,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 404,\n columnNumber: 5\n }, this);\n};\n_s(PlanTripPage, \"BJkWI6YcChkCwBdhobILpv/9/gE=\");\n_c = PlanTripPage;\nexport default PlanTripPage;\nvar _c;\n$RefreshReg$(_c, \"PlanTripPage\");","map":{"version":3,"names":["React","useState","useEffect","useRef","Link","L","styles","mockRoutes","jsxDEV","_jsxDEV","Fragment","_Fragment","stopMap","name","id","popularLocations","lat","lng","PlanTripPage","_s","routes","setRoutes","stops","setStops","fromLocation","setFromLocation","toLocation","setToLocation","fromCoords","setFromCoords","toCoords","setToCoords","loading","setLoading","searching","setSearching","result","setResult","error","setError","mapRef","mapInstanceRef","markersRef","routeLineRef","GT_CENTER","startIcon","icon","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","endIcon","transferIcon","stopIcon","allStops","stopIds","Set","forEach","route","stop","has","add","push","current","length","initMap","updateMap","getStopIdForLocation","_stopMap$find","find","s","getStopById","handleFromLocationSelect","e","locationName","target","value","locObj","loc","handleToLocationSelect","calculateDistance","lat1","lon1","lat2","lon2","toRadian","angle","Math","PI","R","dLat","dLon","a","sin","cos","c","atan2","sqrt","clearMarkers","marker","removeLayer","line","map","setView","tileLayer","attribution","addTo","allCoordinates","colors","bindPopup","startStop","walkLine","polyline","latitude","longitude","color","weight","opacity","dashArray","segments","segment","index","coordinates","stopIndex","popupText","endStop","bounds","latLngBounds","fitBounds","padding","findRouteWithBFS","startStopId","endStopId","queue","best","idx","stopId","routeId","transfers","visitedCombo","shift","r","curIdx","findIndex","undefined","dir","i","fromStop","toStop","slice","min","max","allSegments","totalStops","reduce","sum","seg","otherRoute","transferIdx","key","newVisitedCombo","findOptimalRoute","fromId","toId","walkDistStart","walkDistEnd","setTimeout","routeResult","walkingDistanceStart","walkingDistanceEnd","err","console","className","center","children","fileName","_jsxFileName","lineNumber","columnNumber","container","gridContainer","formPanel","form","onChange","select","onClick","disabled","highlight","walking","toFixed","transfer","stats","mapPanel","ref","to","linkButton","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { Route } from \"@/types/route\";\nimport { Stop } from \"@/types/stop\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\n\n// ---------- Shared STOP MAP: Maps location names to canonical stop ids ----------\nconst stopMap = [\n { name: \"Student Center\", id: \"student-center\" },\n { name: \"Klaus Advanced Computing Building\", id: \"klaus\" },\n { name: \"Tech Square\", id: \"tech-square\" },\n { name: \"Campus Recreation Center (CRC)\", id: \"crc\" },\n { name: \"Midtown MARTA Station\", id: \"midtown-marta\" },\n { name: \"Kendeda Building\", id: \"kendeda\" },\n // Add unified stops as needed for your mockRoutes!\n];\n\n// ---------- Popular locations for dropdown ----------\nconst popularLocations = [\n { name: \"Student Center\", lat: 33.7738, lng: -84.3986 },\n { name: \"Klaus Advanced Computing Building\", lat: 33.7772, lng: -84.3956 },\n { name: \"Tech Square\", lat: 33.7764, lng: -84.3889 },\n { name: \"Campus Recreation Center (CRC)\", lat: 33.7758, lng: -84.4025 },\n { name: \"Midtown MARTA Station\", lat: 33.7812, lng: -84.3867 },\n { name: \"Kendeda Building\", lat: 33.7773, lng: -84.4005 },\n // Add additional stops as needed\n];\n\ninterface RouteSegment {\n route: Route;\n fromStop: Stop;\n toStop: Stop;\n stops: Stop[];\n}\ninterface RouteResult {\n segments: RouteSegment[];\n totalStops: number;\n transfers: number;\n startStop: Stop;\n endStop: Stop;\n walkingDistanceStart: number;\n walkingDistanceEnd: number;\n}\n\nconst PlanTripPage: React.FC = () => {\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState<{lat: number, lng: number} | null>(null);\n const [toCoords, setToCoords] = useState<{lat: number, lng: number} | null>(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n\n const GT_CENTER: [number, number] = [33.7756, -84.3963];\n\n // ---------- Custom marker icons ----------\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n\n useEffect(() => {\n setRoutes(mockRoutes);\n\n // Gather all unique stops for search/autocomplete\n const allStops: Stop[] = [];\n const stopIds = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopIds.has(stop.id)) {\n stopIds.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n\n // ---------------- Utilities -----------------\n function getStopIdForLocation(name: string): string | undefined {\n return stopMap.find(s => s.name === name)?.id;\n }\n function getStopById(id: string): Stop | undefined {\n return stops.find(s => s.id === id);\n }\n\n const handleFromLocationSelect = (e: React.ChangeEvent) => {\n const locationName = e.target.value;\n setFromLocation(locationName);\n const locObj = popularLocations.find(loc => loc.name === locationName);\n if (locObj) setFromCoords({ lat: locObj.lat, lng: locObj.lng });\n };\n const handleToLocationSelect = (e: React.ChangeEvent) => {\n const locationName = e.target.value;\n setToLocation(locationName);\n const locObj = popularLocations.find(loc => loc.name === locationName);\n if (locObj) setToCoords({ lat: locObj.lat, lng: locObj.lng });\n };\n\n const calculateDistance = (lat1: number, lon1: number, lat2: number, lon2: number): number => {\n const toRadian = (angle: number) => (Math.PI / 180) * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = \n Math.sin(dLat / 2) ** 2 +\n Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) *\n Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n if (markersRef.current && markersRef.current.length > 0) {\n markersRef.current.forEach(marker => {\n if (marker && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(marker);\n }\n });\n }\n markersRef.current = [];\n if (routeLineRef.current && routeLineRef.current.length > 0) {\n routeLineRef.current.forEach(line => {\n if (line && mapInstanceRef.current) {\n mapInstanceRef.current.removeLayer(line);\n }\n });\n }\n routeLineRef.current = [];\n };\n\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n\n const allCoordinates: [number, number][] = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n const marker = L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([\n [fromCoords.lat, fromCoords.lng],\n [result.startStop.latitude, result.startStop.longitude]\n ], {\n color: '#6B7280', weight: 3, opacity: 0.6, dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n result.segments.forEach((segment, index) => {\n const coordinates: [number, number][] = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n const line = L.polyline(coordinates, {\n color: colors[index % colors.length], weight: 4, opacity: 0.7\n }).addTo(mapInstanceRef.current!);\n routeLineRef.current.push(line);\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n const marker = L.marker([stop.latitude, stop.longitude], { icon })\n .bindPopup(popupText)\n .addTo(mapInstanceRef.current!);\n markersRef.current.push(marker);\n });\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n const marker = L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n const walkLine = L.polyline([\n [result.endStop.latitude, result.endStop.longitude],\n [toCoords.lat, toCoords.lng]\n ], {\n color: '#6B7280', weight: 3, opacity: 0.6, dashArray: '5, 10'\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkLine);\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, { padding: [50, 50] });\n }\n };\n\n // ---------- Routefinder with multi-transfer, bi-directional scan ----------\n const findRouteWithBFS = (\n startStopId: string,\n endStopId: string\n ): Omit | null => {\n interface BFSNode {\n stopId: string;\n routeId: string;\n segments: RouteSegment[];\n transfers: number;\n visitedCombo: Set;\n }\n const queue: BFSNode[] = [];\n const best: Record = {};\n for (const route of routes) {\n for (let idx = 0; idx < route.stops.length; idx++) {\n if (route.stops[idx].id === startStopId) {\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n transfers: 0,\n visitedCombo: new Set([`${startStopId}:${route.id}`])\n });\n best[`${startStopId}:${route.id}`] = 0;\n }\n }\n }\n while (queue.length > 0) {\n const current = queue.shift()!;\n const route = routes.find(r => r.id === current.routeId);\n const curIdx = route?.stops.findIndex(s => s.id === current.stopId);\n if (!route || curIdx === undefined || curIdx < 0) continue;\n for (const dir of [-1, +1]) {\n let i = curIdx;\n while (i >= 0 && i < route.stops.length) {\n const stop = route.stops[i];\n if (stop.id === endStopId) {\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const allSegments = [...current.segments, segment];\n return {\n segments: allSegments,\n totalStops: allSegments.reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: allSegments.length - 1\n };\n }\n // Transfer possible at any point\n for (const otherRoute of routes) {\n if (otherRoute.id === route.id) continue;\n const transferIdx = otherRoute.stops.findIndex(s =>\n s.id === stop.id\n );\n if (transferIdx !== -1) {\n const key = `${stop.id}:${otherRoute.id}`;\n if (\n !current.visitedCombo.has(key) &&\n (best[key] === undefined || best[key] > current.transfers + 1)\n ) {\n const segment: RouteSegment = {\n route,\n fromStop: route.stops[curIdx],\n toStop: stop,\n stops: route.stops.slice(\n Math.min(curIdx, i),\n Math.max(curIdx, i) + 1\n )\n };\n const newVisitedCombo = new Set(current.visitedCombo);\n newVisitedCombo.add(key);\n best[key] = current.transfers + 1;\n queue.push({\n stopId: stop.id,\n routeId: otherRoute.id,\n segments: [...current.segments, segment],\n transfers: current.transfers + 1,\n visitedCombo: newVisitedCombo\n });\n }\n }\n }\n i += dir;\n }\n }\n }\n return null; // No route found\n };\n\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n const fromId = getStopIdForLocation(fromLocation);\n const toId = getStopIdForLocation(toLocation);\n const fromStop = fromId ? getStopById(fromId) : undefined;\n const toStop = toId ? getStopById(toId) : undefined;\n if (!fromStop || !toStop) {\n setError(\"One of the selected locations is not served by the bus.\");\n return;\n }\n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n setSearching(true); setError(\"\"); setResult(null);\n setTimeout(() => {\n try {\n const routeResult = findRouteWithBFS(fromId!, toId!);\n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n setError(\"No routes found between these locations. Try different locations.\");\n }\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n console.error(err);\n } finally {\n setSearching(false);\n }\n }, 300);\n };\n\n if (loading) {\n return (\n
\n

🚌 Loading GT Bus Data...

\n
\n );\n }\n\n return (\n
\n

🚌 Plan Your GT Trip

\n

Enter your location and destination - we'll find the best route with unlimited transfers!

\n
\n
\n

Plan Your Route

\n
\n \n \n \n \n \n {error &&

{error}

}\n
\n {result && (\n
\n

✅ Route Found

\n

\n {result.transfers === 0 ?\n <>🚌 Direct route - No transfers needed! :\n <>🔄 {result.transfers} transfer{result.transfers > 1 ? 's' : ''} required\n }\n

\n
\n

🚶 Walk {(result.walkingDistanceStart * 1000).toFixed(0)}m to {result.startStop.name}

\n
\n {result.segments.map((segment, index) => (\n
\n

{index === 0 ? '🟢' : '🔄'} {segment.route.name}

\n

Board at: {segment.fromStop.name}

\n

Ride {segment.stops.length - 1} stop{segment.stops.length > 2 ? 's' : ''}

\n

Exit at: {segment.toStop.name}

\n {index < result.segments.length - 1 && (\n

\n ↓ Transfer to {result.segments[index + 1].route.name}\n

\n )}\n
\n ))}\n
\n

🚶 Walk {(result.walkingDistanceEnd * 1000).toFixed(0)}m to destination

\n
\n

\n Total: {result.totalStops} bus stops + {((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0)}m walking\n

\n
\n )}\n
\n
\n
\n
\n
\n \n ← Return Home\n \n
\n );\n};\n\nexport default PlanTripPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/586a94ecd6a46ad32fe6718854a3be9249913f9049eaad3ad19f7bdb2fdcf605.json b/Data-Viz/node_modules/.cache/babel-loader/586a94ecd6a46ad32fe6718854a3be9249913f9049eaad3ad19f7bdb2fdcf605.json new file mode 100644 index 000000000..4695d6353 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/586a94ecd6a46ad32fe6718854a3be9249913f9049eaad3ad19f7bdb2fdcf605.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }, SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'tech-square',\n predictedDelayMinutes: 4,\n routeId: '1',\n eta: generateETA(4)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.studentCenter, SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n }, SHARED.crc, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'klaus',\n predictedDelayMinutes: 4,\n routeId: '2',\n eta: generateETA(4)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'curran',\n predictedDelayMinutes: 9,\n routeId: '2',\n eta: generateETA(9)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.4035\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 },\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'tech-square', predictedDelayMinutes: 4, routeId: '1', eta: generateETA(4) },\n { stopId: 'student-center', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.studentCenter,\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 },\n SHARED.crc,\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 }\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'klaus', predictedDelayMinutes: 4, routeId: '2', eta: generateETA(4) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'curran', predictedDelayMinutes: 9, routeId: '2', eta: generateETA(9) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.4035 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/587feece3155f3b97bf39fe50e73e73b954559e762fc839d503322b1b225613e.json b/Data-Viz/node_modules/.cache/babel-loader/587feece3155f3b97bf39fe50e73e73b954559e762fc839d503322b1b225613e.json new file mode 100644 index 000000000..1c67da120 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/587feece3155f3b97bf39fe50e73e73b954559e762fc839d503322b1b225613e.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};","map":{"version":3,"names":["aCallable","require","isNullOrUndefined","module","exports","V","P","func","undefined"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/get-method.js"],"sourcesContent":["'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,SAAS,GAAGC,OAAO,CAAC,yBAAyB,CAAC;AAClD,IAAIC,iBAAiB,GAAGD,OAAO,CAAC,mCAAmC,CAAC;;AAEpE;AACA;AACAE,MAAM,CAACC,OAAO,GAAG,UAAUC,CAAC,EAAEC,CAAC,EAAE;EAC/B,IAAIC,IAAI,GAAGF,CAAC,CAACC,CAAC,CAAC;EACf,OAAOJ,iBAAiB,CAACK,IAAI,CAAC,GAAGC,SAAS,GAAGR,SAAS,CAACO,IAAI,CAAC;AAC9D,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/58ce77d6b322155cc0046b96167b4330e8e70e9f1ee566ab44a47911ee497df1.json b/Data-Viz/node_modules/.cache/babel-loader/58ce77d6b322155cc0046b96167b4330e8e70e9f1ee566ab44a47911ee497df1.json new file mode 100644 index 000000000..96939dcd2 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/58ce77d6b322155cc0046b96167b4330e8e70e9f1ee566ab44a47911ee497df1.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar isObject = require('../internals/is-object');\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};","map":{"version":3,"names":["isObject","require","$String","String","$TypeError","TypeError","module","exports","argument"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/an-object.js"],"sourcesContent":["'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw new $TypeError($String(argument) + ' is not an object');\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,QAAQ,GAAGC,OAAO,CAAC,wBAAwB,CAAC;AAEhD,IAAIC,OAAO,GAAGC,MAAM;AACpB,IAAIC,UAAU,GAAGC,SAAS;;AAE1B;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,IAAIR,QAAQ,CAACQ,QAAQ,CAAC,EAAE,OAAOA,QAAQ;EACvC,MAAM,IAAIJ,UAAU,CAACF,OAAO,CAACM,QAAQ,CAAC,GAAG,mBAAmB,CAAC;AAC/D,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/58de635facc29caa0435bc56e08c2ed65161f23c976b7ba940225cc8b06add58.json b/Data-Viz/node_modules/.cache/babel-loader/58de635facc29caa0435bc56e08c2ed65161f23c976b7ba940225cc8b06add58.json new file mode 100644 index 000000000..30695f224 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/58de635facc29caa0435bc56e08c2ed65161f23c976b7ba940225cc8b06add58.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'midtown-marta',\n predictedDelayMinutes: 2,\n routeId: '1',\n eta: generateETA(2)\n }, {\n stopId: 'tech-square',\n predictedDelayMinutes: 6,\n routeId: '1',\n eta: generateETA(6)\n }, {\n stopId: 'klaus',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '1',\n eta: generateETA(12)\n }, {\n stopId: 'weber-turnaround',\n predictedDelayMinutes: 15,\n routeId: '1',\n eta: generateETA(15)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n }, SHARED.crc, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }, SHARED.studentCenter],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'klaus',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 5,\n routeId: '2',\n eta: generateETA(5)\n }, {\n stopId: 'curran',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 17,\n routeId: '2',\n eta: generateETA(17)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.4035\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'midtown-marta', predictedDelayMinutes: 2, routeId: '1', eta: generateETA(2) },\n { stopId: 'tech-square', predictedDelayMinutes: 6, routeId: '1', eta: generateETA(6) },\n { stopId: 'klaus', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '1', eta: generateETA(12) },\n { stopId: 'weber-turnaround', predictedDelayMinutes: 15, routeId: '1', eta: generateETA(15) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 },\n SHARED.crc,\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 },\n SHARED.studentCenter\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'klaus', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 5, routeId: '2', eta: generateETA(5) },\n { stopId: 'curran', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'student-center', predictedDelayMinutes: 17, routeId: '2', eta: generateETA(17) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.4035 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/5a1f6b50516ebf91eb11242f0cc88397abef5afefc2676a8a1fce8345e0c00e3.json b/Data-Viz/node_modules/.cache/babel-loader/5a1f6b50516ebf91eb11242f0cc88397abef5afefc2676a8a1fce8345e0c00e3.json new file mode 100644 index 000000000..9d39492e8 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/5a1f6b50516ebf91eb11242f0cc88397abef5afefc2676a8a1fce8345e0c00e3.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar uncurryThis = require('../internals/function-uncurry-this');\nmodule.exports = uncurryThis({}.isPrototypeOf);","map":{"version":3,"names":["uncurryThis","require","module","exports","isPrototypeOf"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/object-is-prototype-of.js"],"sourcesContent":["'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAE/DC,MAAM,CAACC,OAAO,GAAGH,WAAW,CAAC,CAAC,CAAC,CAACI,aAAa,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/5b894ab417155905eed9fe31bb3637718e7c730ac290b92354d45c62aba69069.json b/Data-Viz/node_modules/.cache/babel-loader/5b894ab417155905eed9fe31bb3637718e7c730ac290b92354d45c62aba69069.json new file mode 100644 index 000000000..267cf0e89 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/5b894ab417155905eed9fe31bb3637718e7c730ac290b92354d45c62aba69069.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar NATIVE_BIND = require('../internals/function-bind-native');\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});","map":{"version":3,"names":["NATIVE_BIND","require","FunctionPrototype","Function","prototype","apply","call","module","exports","Reflect","bind","arguments"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/function-apply.js"],"sourcesContent":["'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-function-prototype-bind, es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAE9D,IAAIC,iBAAiB,GAAGC,QAAQ,CAACC,SAAS;AAC1C,IAAIC,KAAK,GAAGH,iBAAiB,CAACG,KAAK;AACnC,IAAIC,IAAI,GAAGJ,iBAAiB,CAACI,IAAI;;AAEjC;AACAC,MAAM,CAACC,OAAO,GAAG,OAAOC,OAAO,IAAI,QAAQ,IAAIA,OAAO,CAACJ,KAAK,KAAKL,WAAW,GAAGM,IAAI,CAACI,IAAI,CAACL,KAAK,CAAC,GAAG,YAAY;EAC5G,OAAOC,IAAI,CAACD,KAAK,CAACA,KAAK,EAAEM,SAAS,CAAC;AACrC,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/5b933ede00b545a9f21fc08c2182815706045093bc171ad4d1494c23ba85fd36.json b/Data-Viz/node_modules/.cache/babel-loader/5b933ede00b545a9f21fc08c2182815706045093bc171ad4d1494c23ba85fd36.json new file mode 100644 index 000000000..5a61d4550 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/5b933ede00b545a9f21fc08c2182815706045093bc171ad4d1494c23ba85fd36.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nvar defaultParseOptions = {\n decodeValues: true,\n map: false,\n silent: false\n};\nfunction isNonEmptyString(str) {\n return typeof str === \"string\" && !!str.trim();\n}\nfunction parseString(setCookieValue, options) {\n var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n var nameValuePairStr = parts.shift();\n var parsed = parseNameValuePair(nameValuePairStr);\n var name = parsed.name;\n var value = parsed.value;\n options = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions;\n try {\n value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n } catch (e) {\n console.error(\"set-cookie-parser encountered an error while decoding a cookie with value '\" + value + \"'. Set options.decodeValues to false to disable this feature.\", e);\n }\n var cookie = {\n name: name,\n value: value\n };\n parts.forEach(function (part) {\n var sides = part.split(\"=\");\n var key = sides.shift().trimLeft().toLowerCase();\n var value = sides.join(\"=\");\n if (key === \"expires\") {\n cookie.expires = new Date(value);\n } else if (key === \"max-age\") {\n cookie.maxAge = parseInt(value, 10);\n } else if (key === \"secure\") {\n cookie.secure = true;\n } else if (key === \"httponly\") {\n cookie.httpOnly = true;\n } else if (key === \"samesite\") {\n cookie.sameSite = value;\n } else if (key === \"partitioned\") {\n cookie.partitioned = true;\n } else {\n cookie[key] = value;\n }\n });\n return cookie;\n}\nfunction parseNameValuePair(nameValuePairStr) {\n // Parses name-value-pair according to rfc6265bis draft\n\n var name = \"\";\n var value = \"\";\n var nameValueArr = nameValuePairStr.split(\"=\");\n if (nameValueArr.length > 1) {\n name = nameValueArr.shift();\n value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n } else {\n value = nameValuePairStr;\n }\n return {\n name: name,\n value: value\n };\n}\nfunction parse(input, options) {\n options = options ? Object.assign({}, defaultParseOptions, options) : defaultParseOptions;\n if (!input) {\n if (!options.map) {\n return [];\n } else {\n return {};\n }\n }\n if (input.headers) {\n if (typeof input.headers.getSetCookie === \"function\") {\n // for fetch responses - they combine headers of the same type in the headers array,\n // but getSetCookie returns an uncombined array\n input = input.headers.getSetCookie();\n } else if (input.headers[\"set-cookie\"]) {\n // fast-path for node.js (which automatically normalizes header names to lower-case\n input = input.headers[\"set-cookie\"];\n } else {\n // slow-path for other environments - see #25\n var sch = input.headers[Object.keys(input.headers).find(function (key) {\n return key.toLowerCase() === \"set-cookie\";\n })];\n // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n if (!sch && input.headers.cookie && !options.silent) {\n console.warn(\"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\");\n }\n input = sch;\n }\n }\n if (!Array.isArray(input)) {\n input = [input];\n }\n if (!options.map) {\n return input.filter(isNonEmptyString).map(function (str) {\n return parseString(str, options);\n });\n } else {\n var cookies = {};\n return input.filter(isNonEmptyString).reduce(function (cookies, str) {\n var cookie = parseString(str, options);\n cookies[cookie.name] = cookie;\n return cookies;\n }, cookies);\n }\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n\n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nfunction splitCookiesString(cookiesString) {\n if (Array.isArray(cookiesString)) {\n return cookiesString;\n }\n if (typeof cookiesString !== \"string\") {\n return [];\n }\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\nmodule.exports = parse;\nmodule.exports.parse = parse;\nmodule.exports.parseString = parseString;\nmodule.exports.splitCookiesString = splitCookiesString;","map":{"version":3,"names":["defaultParseOptions","decodeValues","map","silent","isNonEmptyString","str","trim","parseString","setCookieValue","options","parts","split","filter","nameValuePairStr","shift","parsed","parseNameValuePair","name","value","Object","assign","decodeURIComponent","e","console","error","cookie","forEach","part","sides","key","trimLeft","toLowerCase","join","expires","Date","maxAge","parseInt","secure","httpOnly","sameSite","partitioned","nameValueArr","length","parse","input","headers","getSetCookie","sch","keys","find","warn","Array","isArray","cookies","reduce","splitCookiesString","cookiesString","cookiesStrings","pos","start","ch","lastComma","nextStart","cookiesSeparatorFound","skipWhitespace","test","charAt","notSpecialChar","push","substring","module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/set-cookie-parser/lib/set-cookie.js"],"sourcesContent":["\"use strict\";\n\nvar defaultParseOptions = {\n decodeValues: true,\n map: false,\n silent: false,\n};\n\nfunction isNonEmptyString(str) {\n return typeof str === \"string\" && !!str.trim();\n}\n\nfunction parseString(setCookieValue, options) {\n var parts = setCookieValue.split(\";\").filter(isNonEmptyString);\n\n var nameValuePairStr = parts.shift();\n var parsed = parseNameValuePair(nameValuePairStr);\n var name = parsed.name;\n var value = parsed.value;\n\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n try {\n value = options.decodeValues ? decodeURIComponent(value) : value; // decode cookie value\n } catch (e) {\n console.error(\n \"set-cookie-parser encountered an error while decoding a cookie with value '\" +\n value +\n \"'. Set options.decodeValues to false to disable this feature.\",\n e\n );\n }\n\n var cookie = {\n name: name,\n value: value,\n };\n\n parts.forEach(function (part) {\n var sides = part.split(\"=\");\n var key = sides.shift().trimLeft().toLowerCase();\n var value = sides.join(\"=\");\n if (key === \"expires\") {\n cookie.expires = new Date(value);\n } else if (key === \"max-age\") {\n cookie.maxAge = parseInt(value, 10);\n } else if (key === \"secure\") {\n cookie.secure = true;\n } else if (key === \"httponly\") {\n cookie.httpOnly = true;\n } else if (key === \"samesite\") {\n cookie.sameSite = value;\n } else if (key === \"partitioned\") {\n cookie.partitioned = true;\n } else {\n cookie[key] = value;\n }\n });\n\n return cookie;\n}\n\nfunction parseNameValuePair(nameValuePairStr) {\n // Parses name-value-pair according to rfc6265bis draft\n\n var name = \"\";\n var value = \"\";\n var nameValueArr = nameValuePairStr.split(\"=\");\n if (nameValueArr.length > 1) {\n name = nameValueArr.shift();\n value = nameValueArr.join(\"=\"); // everything after the first =, joined by a \"=\" if there was more than one part\n } else {\n value = nameValuePairStr;\n }\n\n return { name: name, value: value };\n}\n\nfunction parse(input, options) {\n options = options\n ? Object.assign({}, defaultParseOptions, options)\n : defaultParseOptions;\n\n if (!input) {\n if (!options.map) {\n return [];\n } else {\n return {};\n }\n }\n\n if (input.headers) {\n if (typeof input.headers.getSetCookie === \"function\") {\n // for fetch responses - they combine headers of the same type in the headers array,\n // but getSetCookie returns an uncombined array\n input = input.headers.getSetCookie();\n } else if (input.headers[\"set-cookie\"]) {\n // fast-path for node.js (which automatically normalizes header names to lower-case\n input = input.headers[\"set-cookie\"];\n } else {\n // slow-path for other environments - see #25\n var sch =\n input.headers[\n Object.keys(input.headers).find(function (key) {\n return key.toLowerCase() === \"set-cookie\";\n })\n ];\n // warn if called on a request-like object with a cookie header rather than a set-cookie header - see #34, 36\n if (!sch && input.headers.cookie && !options.silent) {\n console.warn(\n \"Warning: set-cookie-parser appears to have been called on a request object. It is designed to parse Set-Cookie headers from responses, not Cookie headers from requests. Set the option {silent: true} to suppress this warning.\"\n );\n }\n input = sch;\n }\n }\n if (!Array.isArray(input)) {\n input = [input];\n }\n\n if (!options.map) {\n return input.filter(isNonEmptyString).map(function (str) {\n return parseString(str, options);\n });\n } else {\n var cookies = {};\n return input.filter(isNonEmptyString).reduce(function (cookies, str) {\n var cookie = parseString(str, options);\n cookies[cookie.name] = cookie;\n return cookies;\n }, cookies);\n }\n}\n\n/*\n Set-Cookie header field-values are sometimes comma joined in one string. This splits them without choking on commas\n that are within a single set-cookie field-value, such as in the Expires portion.\n\n This is uncommon, but explicitly allowed - see https://tools.ietf.org/html/rfc2616#section-4.2\n Node.js does this for every header *except* set-cookie - see https://github.com/nodejs/node/blob/d5e363b77ebaf1caf67cd7528224b651c86815c1/lib/_http_incoming.js#L128\n React Native's fetch does this for *every* header, including set-cookie.\n\n Based on: https://github.com/google/j2objc/commit/16820fdbc8f76ca0c33472810ce0cb03d20efe25\n Credits to: https://github.com/tomball for original and https://github.com/chrusart for JavaScript implementation\n*/\nfunction splitCookiesString(cookiesString) {\n if (Array.isArray(cookiesString)) {\n return cookiesString;\n }\n if (typeof cookiesString !== \"string\") {\n return [];\n }\n\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n\n function skipWhitespace() {\n while (pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))) {\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n\n while (pos < cookiesString.length) {\n start = pos;\n cookiesSeparatorFound = false;\n\n while (skipWhitespace()) {\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n\n skipWhitespace();\n nextStart = pos;\n\n while (pos < cookiesString.length && notSpecialChar()) {\n pos += 1;\n }\n\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n\n return cookiesStrings;\n}\n\nmodule.exports = parse;\nmodule.exports.parse = parse;\nmodule.exports.parseString = parseString;\nmodule.exports.splitCookiesString = splitCookiesString;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/5bf632603bb4102c0d51b53a3a91d71a399ff2c154aa4f2560d80d0a4278885b.json b/Data-Viz/node_modules/.cache/babel-loader/5bf632603bb4102c0d51b53a3a91d71a399ff2c154aa4f2560d80d0a4278885b.json new file mode 100644 index 000000000..c3f3517d7 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/5bf632603bb4102c0d51b53a3a91d71a399ff2c154aa4f2560d80d0a4278885b.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};","map":{"version":3,"names":["documentAll","document","all","module","exports","undefined","argument"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/is-callable.js"],"sourcesContent":["'use strict';\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar documentAll = typeof document == 'object' && document.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nmodule.exports = typeof documentAll == 'undefined' && documentAll !== undefined ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n"],"mappings":"AAAA,YAAY;;AACZ;AACA,IAAIA,WAAW,GAAG,OAAOC,QAAQ,IAAI,QAAQ,IAAIA,QAAQ,CAACC,GAAG;;AAE7D;AACA;AACA;AACAC,MAAM,CAACC,OAAO,GAAG,OAAOJ,WAAW,IAAI,WAAW,IAAIA,WAAW,KAAKK,SAAS,GAAG,UAAUC,QAAQ,EAAE;EACpG,OAAO,OAAOA,QAAQ,IAAI,UAAU,IAAIA,QAAQ,KAAKN,WAAW;AAClE,CAAC,GAAG,UAAUM,QAAQ,EAAE;EACtB,OAAO,OAAOA,QAAQ,IAAI,UAAU;AACtC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/5c77525f26f7edd1abe8db87aaee0bc1157f62b8c070e40261adbe701792d5d7.json b/Data-Viz/node_modules/.cache/babel-loader/5c77525f26f7edd1abe8db87aaee0bc1157f62b8c070e40261adbe701792d5d7.json new file mode 100644 index 000000000..b960c2fd1 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/5c77525f26f7edd1abe8db87aaee0bc1157f62b8c070e40261adbe701792d5d7.json @@ -0,0 +1 @@ +{"ast":null,"code":"var EventEmitter = require(\"events\");\nmodule.exports = new EventEmitter();","map":{"version":3,"names":["EventEmitter","require","module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack/hot/emitter.js"],"sourcesContent":["var EventEmitter = require(\"events\");\nmodule.exports = new EventEmitter();\n"],"mappings":"AAAA,IAAIA,YAAY,GAAGC,OAAO,CAAC,QAAQ,CAAC;AACpCC,MAAM,CAACC,OAAO,GAAG,IAAIH,YAAY,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/5ce85679456e2a39058a6ba9de1989934e26cec7dec1aac7deaec5e8c2de0565.json b/Data-Viz/node_modules/.cache/babel-loader/5ce85679456e2a39058a6ba9de1989934e26cec7dec1aac7deaec5e8c2de0565.json new file mode 100644 index 000000000..83b035e1e --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/5ce85679456e2a39058a6ba9de1989934e26cec7dec1aac7deaec5e8c2de0565.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0:\n return new NativeConstructor();\n case 1:\n return new NativeConstructor(a);\n case 2:\n return new NativeConstructor(a, b);\n }\n return new NativeConstructor(a, b, c);\n }\n return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n targetProperty = target[key];\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = USE_NATIVE && nativeProperty ? nativeProperty : source[key];\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || sourceProperty && sourceProperty.sham || targetProperty && targetProperty.sham) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n createNonEnumerableProperty(target, key, resultProperty);\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};","map":{"version":3,"names":["globalThis","require","apply","uncurryThis","isCallable","getOwnPropertyDescriptor","f","isForced","path","bind","createNonEnumerableProperty","hasOwn","wrapConstructor","NativeConstructor","Wrapper","a","b","c","arguments","length","prototype","module","exports","options","source","TARGET","target","GLOBAL","global","STATIC","stat","PROTO","proto","nativeSource","targetPrototype","FORCED","USE_NATIVE","VIRTUAL_PROTOTYPE","key","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","forced","dontCallGetSet","value","wrap","sham","real"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/export.js"],"sourcesContent":["'use strict';\nvar globalThis = require('../internals/global-this');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n// add debugging info\nrequire('../internals/shared-store');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? globalThis : STATIC ? globalThis[TARGET] : globalThis[TARGET] && globalThis[TARGET].prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (!FORCED && !PROTO && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind methods to global for calling from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, globalThis);\n // wrap global constructors for prevent changes in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && (FORCED || !targetPrototype[key])) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/629860d393a515beaedd29d82d0ce18f2139d1b4081585ad4f5df2f8c594eb8c.json b/Data-Viz/node_modules/.cache/babel-loader/629860d393a515beaedd29d82d0ce18f2139d1b4081585ad4f5df2f8c594eb8c.json new file mode 100644 index 000000000..2bad04652 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/629860d393a515beaedd29d82d0ce18f2139d1b4081585ad4f5df2f8c594eb8c.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar replacement = /#|\\.prototype\\./;\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true : value === NATIVE ? false : isCallable(detection) ? fails(detection) : !!detection;\n};\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\nmodule.exports = isForced;","map":{"version":3,"names":["fails","require","isCallable","replacement","isForced","feature","detection","value","data","normalize","POLYFILL","NATIVE","string","String","replace","toLowerCase","module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/is-forced.js"],"sourcesContent":["'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,KAAK,GAAGC,OAAO,CAAC,oBAAoB,CAAC;AACzC,IAAIC,UAAU,GAAGD,OAAO,CAAC,0BAA0B,CAAC;AAEpD,IAAIE,WAAW,GAAG,iBAAiB;AAEnC,IAAIC,QAAQ,GAAG,SAAAA,CAAUC,OAAO,EAAEC,SAAS,EAAE;EAC3C,IAAIC,KAAK,GAAGC,IAAI,CAACC,SAAS,CAACJ,OAAO,CAAC,CAAC;EACpC,OAAOE,KAAK,KAAKG,QAAQ,GAAG,IAAI,GAC5BH,KAAK,KAAKI,MAAM,GAAG,KAAK,GACxBT,UAAU,CAACI,SAAS,CAAC,GAAGN,KAAK,CAACM,SAAS,CAAC,GACxC,CAAC,CAACA,SAAS;AACjB,CAAC;AAED,IAAIG,SAAS,GAAGL,QAAQ,CAACK,SAAS,GAAG,UAAUG,MAAM,EAAE;EACrD,OAAOC,MAAM,CAACD,MAAM,CAAC,CAACE,OAAO,CAACX,WAAW,EAAE,GAAG,CAAC,CAACY,WAAW,CAAC,CAAC;AAC/D,CAAC;AAED,IAAIP,IAAI,GAAGJ,QAAQ,CAACI,IAAI,GAAG,CAAC,CAAC;AAC7B,IAAIG,MAAM,GAAGP,QAAQ,CAACO,MAAM,GAAG,GAAG;AAClC,IAAID,QAAQ,GAAGN,QAAQ,CAACM,QAAQ,GAAG,GAAG;AAEtCM,MAAM,CAACC,OAAO,GAAGb,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/64cb1472b03cc6cf24c3c39ca59daa2892b9c35a75f788440537e84f083b07e8.json b/Data-Viz/node_modules/.cache/babel-loader/64cb1472b03cc6cf24c3c39ca59daa2892b9c35a75f788440537e84f083b07e8.json new file mode 100644 index 000000000..89f789384 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/64cb1472b03cc6cf24c3c39ca59daa2892b9c35a75f788440537e84f083b07e8.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.bodyRegExps = {\n xml: /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,\n html4: /∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,\n html5: /·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g\n};\nexports.namedReferences = {\n xml: {\n entities: {\n \"<\": \"<\",\n \">\": \">\",\n \""\": '\"',\n \"'\": \"'\",\n \"&\": \"&\"\n },\n characters: {\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\",\n \"'\": \"'\",\n \"&\": \"&\"\n }\n },\n html4: {\n entities: {\n \"'\": \"'\",\n \" \": \" \",\n \" \": \" \",\n \"¡\": \"¡\",\n \"¡\": \"¡\",\n \"¢\": \"¢\",\n \"¢\": \"¢\",\n \"£\": \"£\",\n \"£\": \"£\",\n \"¤\": \"¤\",\n \"¤\": \"¤\",\n \"¥\": \"¥\",\n \"¥\": \"¥\",\n \"¦\": \"¦\",\n \"¦\": \"¦\",\n \"§\": \"§\",\n \"§\": \"§\",\n \"¨\": \"¨\",\n \"¨\": \"¨\",\n \"©\": \"©\",\n \"©\": \"©\",\n \"ª\": \"ª\",\n \"ª\": \"ª\",\n \"«\": \"«\",\n \"«\": \"«\",\n \"¬\": \"¬\",\n \"¬\": \"¬\",\n \"­\": \"­\",\n \"­\": \"­\",\n \"®\": \"®\",\n \"®\": \"®\",\n \"¯\": \"¯\",\n \"¯\": \"¯\",\n \"°\": \"°\",\n \"°\": \"°\",\n \"±\": \"±\",\n \"±\": \"±\",\n \"²\": \"²\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"³\": \"³\",\n \"´\": \"´\",\n \"´\": \"´\",\n \"µ\": \"µ\",\n \"µ\": \"µ\",\n \"¶\": \"¶\",\n \"¶\": \"¶\",\n \"·\": \"·\",\n \"·\": \"·\",\n \"¸\": \"¸\",\n \"¸\": \"¸\",\n \"¹\": \"¹\",\n \"¹\": \"¹\",\n \"º\": \"º\",\n \"º\": \"º\",\n \"»\": \"»\",\n \"»\": \"»\",\n \"¼\": \"¼\",\n \"¼\": \"¼\",\n \"½\": \"½\",\n \"½\": \"½\",\n \"¾\": \"¾\",\n \"¾\": \"¾\",\n \"¿\": \"¿\",\n \"¿\": \"¿\",\n \"À\": \"À\",\n \"À\": \"À\",\n \"Á\": \"Á\",\n \"Á\": \"Á\",\n \"Â\": \"Â\",\n \"Â\": \"Â\",\n \"Ã\": \"Ã\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"Ä\": \"Ä\",\n \"Å\": \"Å\",\n \"Å\": \"Å\",\n \"Æ\": \"Æ\",\n \"Æ\": \"Æ\",\n \"Ç\": \"Ç\",\n \"Ç\": \"Ç\",\n \"È\": \"È\",\n \"È\": \"È\",\n \"É\": \"É\",\n \"É\": \"É\",\n \"Ê\": \"Ê\",\n \"Ê\": \"Ê\",\n \"Ë\": \"Ë\",\n \"Ë\": \"Ë\",\n \"Ì\": \"Ì\",\n \"Ì\": \"Ì\",\n \"Í\": \"Í\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"Î\": \"Î\",\n \"Ï\": \"Ï\",\n \"Ï\": \"Ï\",\n \"Ð\": \"Ð\",\n \"Ð\": \"Ð\",\n \"Ñ\": \"Ñ\",\n \"Ñ\": \"Ñ\",\n \"Ò\": \"Ò\",\n \"Ò\": \"Ò\",\n \"Ó\": \"Ó\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"Ô\": \"Ô\",\n \"Õ\": \"Õ\",\n \"Õ\": \"Õ\",\n \"Ö\": \"Ö\",\n \"Ö\": \"Ö\",\n \"×\": \"×\",\n \"×\": \"×\",\n \"Ø\": \"Ø\",\n \"Ø\": \"Ø\",\n \"Ù\": \"Ù\",\n \"Ù\": \"Ù\",\n \"Ú\": \"Ú\",\n \"Ú\": \"Ú\",\n \"Û\": \"Û\",\n \"Û\": \"Û\",\n \"Ü\": \"Ü\",\n \"Ü\": \"Ü\",\n \"Ý\": \"Ý\",\n \"Ý\": \"Ý\",\n \"Þ\": \"Þ\",\n \"Þ\": \"Þ\",\n \"ß\": \"ß\",\n \"ß\": \"ß\",\n \"à\": \"à\",\n \"à\": \"à\",\n \"á\": \"á\",\n \"á\": \"á\",\n \"â\": \"â\",\n \"â\": \"â\",\n \"ã\": \"ã\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"ä\": \"ä\",\n \"å\": \"å\",\n \"å\": \"å\",\n \"æ\": \"æ\",\n \"æ\": \"æ\",\n \"ç\": \"ç\",\n \"ç\": \"ç\",\n \"è\": \"è\",\n \"è\": \"è\",\n \"é\": \"é\",\n \"é\": \"é\",\n \"ê\": \"ê\",\n \"ê\": \"ê\",\n \"ë\": \"ë\",\n \"ë\": \"ë\",\n \"ì\": \"ì\",\n \"ì\": \"ì\",\n \"í\": \"í\",\n \"í\": \"í\",\n \"î\": \"î\",\n \"î\": \"î\",\n \"ï\": \"ï\",\n \"ï\": \"ï\",\n \"ð\": \"ð\",\n \"ð\": \"ð\",\n \"ñ\": \"ñ\",\n \"ñ\": \"ñ\",\n \"ò\": \"ò\",\n \"ò\": \"ò\",\n \"ó\": \"ó\",\n \"ó\": \"ó\",\n \"ô\": \"ô\",\n \"ô\": \"ô\",\n \"õ\": \"õ\",\n \"õ\": \"õ\",\n \"ö\": \"ö\",\n \"ö\": \"ö\",\n \"÷\": \"÷\",\n \"÷\": \"÷\",\n \"ø\": \"ø\",\n \"ø\": \"ø\",\n \"ù\": \"ù\",\n \"ù\": \"ù\",\n \"ú\": \"ú\",\n \"ú\": \"ú\",\n \"û\": \"û\",\n \"û\": \"û\",\n \"ü\": \"ü\",\n \"ü\": \"ü\",\n \"ý\": \"ý\",\n \"ý\": \"ý\",\n \"þ\": \"þ\",\n \"þ\": \"þ\",\n \"ÿ\": \"ÿ\",\n \"ÿ\": \"ÿ\",\n \""\": '\"',\n \""\": '\"',\n \"&\": \"&\",\n \"&\": \"&\",\n \"<\": \"<\",\n \"<\": \"<\",\n \">\": \">\",\n \">\": \">\",\n \"Œ\": \"Œ\",\n \"œ\": \"œ\",\n \"Š\": \"Š\",\n \"š\": \"š\",\n \"Ÿ\": \"Ÿ\",\n \"ˆ\": \"ˆ\",\n \"˜\": \"˜\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"‌\": \"‌\",\n \"‍\": \"‍\",\n \"‎\": \"‎\",\n \"‏\": \"‏\",\n \"–\": \"–\",\n \"—\": \"—\",\n \"‘\": \"‘\",\n \"’\": \"’\",\n \"‚\": \"‚\",\n \"“\": \"“\",\n \"”\": \"”\",\n \"„\": \"„\",\n \"†\": \"†\",\n \"‡\": \"‡\",\n \"‰\": \"‰\",\n \"‹\": \"‹\",\n \"›\": \"›\",\n \"€\": \"€\",\n \"ƒ\": \"ƒ\",\n \"Α\": \"Α\",\n \"Β\": \"Β\",\n \"Γ\": \"Γ\",\n \"Δ\": \"Δ\",\n \"Ε\": \"Ε\",\n \"Ζ\": \"Ζ\",\n \"Η\": \"Η\",\n \"Θ\": \"Θ\",\n \"Ι\": \"Ι\",\n \"Κ\": \"Κ\",\n \"Λ\": \"Λ\",\n \"Μ\": \"Μ\",\n \"Ν\": \"Ν\",\n \"Ξ\": \"Ξ\",\n \"Ο\": \"Ο\",\n \"Π\": \"Π\",\n \"Ρ\": \"Ρ\",\n \"Σ\": \"Σ\",\n \"Τ\": \"Τ\",\n \"Υ\": \"Υ\",\n \"Φ\": \"Φ\",\n \"Χ\": \"Χ\",\n \"Ψ\": \"Ψ\",\n \"Ω\": \"Ω\",\n \"α\": \"α\",\n \"β\": \"β\",\n \"γ\": \"γ\",\n \"δ\": \"δ\",\n \"ε\": \"ε\",\n \"ζ\": \"ζ\",\n \"η\": \"η\",\n \"θ\": \"θ\",\n \"ι\": \"ι\",\n \"κ\": \"κ\",\n \"λ\": \"λ\",\n \"μ\": \"μ\",\n \"ν\": \"ν\",\n \"ξ\": \"ξ\",\n \"ο\": \"ο\",\n \"π\": \"π\",\n \"ρ\": \"ρ\",\n \"ς\": \"ς\",\n \"σ\": \"σ\",\n \"τ\": \"τ\",\n \"υ\": \"υ\",\n \"φ\": \"φ\",\n \"χ\": \"χ\",\n \"ψ\": \"ψ\",\n \"ω\": \"ω\",\n \"ϑ\": \"ϑ\",\n \"ϒ\": \"ϒ\",\n \"ϖ\": \"ϖ\",\n \"•\": \"•\",\n \"…\": \"…\",\n \"′\": \"′\",\n \"″\": \"″\",\n \"‾\": \"‾\",\n \"⁄\": \"⁄\",\n \"℘\": \"℘\",\n \"ℑ\": \"ℑ\",\n \"ℜ\": \"ℜ\",\n \"™\": \"™\",\n \"ℵ\": \"ℵ\",\n \"←\": \"←\",\n \"↑\": \"↑\",\n \"→\": \"→\",\n \"↓\": \"↓\",\n \"↔\": \"↔\",\n \"↵\": \"↵\",\n \"⇐\": \"⇐\",\n \"⇑\": \"⇑\",\n \"⇒\": \"⇒\",\n \"⇓\": \"⇓\",\n \"⇔\": \"⇔\",\n \"∀\": \"∀\",\n \"∂\": \"∂\",\n \"∃\": \"∃\",\n \"∅\": \"∅\",\n \"∇\": \"∇\",\n \"∈\": \"∈\",\n \"∉\": \"∉\",\n \"∋\": \"∋\",\n \"∏\": \"∏\",\n \"∑\": \"∑\",\n \"−\": \"−\",\n \"∗\": \"∗\",\n \"√\": \"√\",\n \"∝\": \"∝\",\n \"∞\": \"∞\",\n \"∠\": \"∠\",\n \"∧\": \"∧\",\n \"∨\": \"∨\",\n \"∩\": \"∩\",\n \"∪\": \"∪\",\n \"∫\": \"∫\",\n \"∴\": \"∴\",\n \"∼\": \"∼\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"≠\": \"≠\",\n \"≡\": \"≡\",\n \"≤\": \"≤\",\n \"≥\": \"≥\",\n \"⊂\": \"⊂\",\n \"⊃\": \"⊃\",\n \"⊄\": \"⊄\",\n \"⊆\": \"⊆\",\n \"⊇\": \"⊇\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"⊥\": \"⊥\",\n \"⋅\": \"⋅\",\n \"⌈\": \"⌈\",\n \"⌉\": \"⌉\",\n \"⌊\": \"⌊\",\n \"⌋\": \"⌋\",\n \"⟨\": \"〈\",\n \"⟩\": \"〉\",\n \"◊\": \"◊\",\n \"♠\": \"♠\",\n \"♣\": \"♣\",\n \"♥\": \"♥\",\n \"♦\": \"♦\"\n },\n characters: {\n \"'\": \"'\",\n \" \": \" \",\n \"¡\": \"¡\",\n \"¢\": \"¢\",\n \"£\": \"£\",\n \"¤\": \"¤\",\n \"¥\": \"¥\",\n \"¦\": \"¦\",\n \"§\": \"§\",\n \"¨\": \"¨\",\n \"©\": \"©\",\n \"ª\": \"ª\",\n \"«\": \"«\",\n \"¬\": \"¬\",\n \"­\": \"­\",\n \"®\": \"®\",\n \"¯\": \"¯\",\n \"°\": \"°\",\n \"±\": \"±\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"´\": \"´\",\n \"µ\": \"µ\",\n \"¶\": \"¶\",\n \"·\": \"·\",\n \"¸\": \"¸\",\n \"¹\": \"¹\",\n \"º\": \"º\",\n \"»\": \"»\",\n \"¼\": \"¼\",\n \"½\": \"½\",\n \"¾\": \"¾\",\n \"¿\": \"¿\",\n \"À\": \"À\",\n \"Á\": \"Á\",\n \"Â\": \"Â\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"Å\": \"Å\",\n \"Æ\": \"Æ\",\n \"Ç\": \"Ç\",\n \"È\": \"È\",\n \"É\": \"É\",\n \"Ê\": \"Ê\",\n \"Ë\": \"Ë\",\n \"Ì\": \"Ì\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"Ï\": \"Ï\",\n \"Ð\": \"Ð\",\n \"Ñ\": \"Ñ\",\n \"Ò\": \"Ò\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"Õ\": \"Õ\",\n \"Ö\": \"Ö\",\n \"×\": \"×\",\n \"Ø\": \"Ø\",\n \"Ù\": \"Ù\",\n \"Ú\": \"Ú\",\n \"Û\": \"Û\",\n \"Ü\": \"Ü\",\n \"Ý\": \"Ý\",\n \"Þ\": \"Þ\",\n \"ß\": \"ß\",\n \"à\": \"à\",\n \"á\": \"á\",\n \"â\": \"â\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"å\": \"å\",\n \"æ\": \"æ\",\n \"ç\": \"ç\",\n \"è\": \"è\",\n \"é\": \"é\",\n \"ê\": \"ê\",\n \"ë\": \"ë\",\n \"ì\": \"ì\",\n \"í\": \"í\",\n \"î\": \"î\",\n \"ï\": \"ï\",\n \"ð\": \"ð\",\n \"ñ\": \"ñ\",\n \"ò\": \"ò\",\n \"ó\": \"ó\",\n \"ô\": \"ô\",\n \"õ\": \"õ\",\n \"ö\": \"ö\",\n \"÷\": \"÷\",\n \"ø\": \"ø\",\n \"ù\": \"ù\",\n \"ú\": \"ú\",\n \"û\": \"û\",\n \"ü\": \"ü\",\n \"ý\": \"ý\",\n \"þ\": \"þ\",\n \"ÿ\": \"ÿ\",\n '\"': \""\",\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"Œ\": \"Œ\",\n \"œ\": \"œ\",\n \"Š\": \"Š\",\n \"š\": \"š\",\n \"Ÿ\": \"Ÿ\",\n \"ˆ\": \"ˆ\",\n \"˜\": \"˜\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"‌\": \"‌\",\n \"‍\": \"‍\",\n \"‎\": \"‎\",\n \"‏\": \"‏\",\n \"–\": \"–\",\n \"—\": \"—\",\n \"‘\": \"‘\",\n \"’\": \"’\",\n \"‚\": \"‚\",\n \"“\": \"“\",\n \"”\": \"”\",\n \"„\": \"„\",\n \"†\": \"†\",\n \"‡\": \"‡\",\n \"‰\": \"‰\",\n \"‹\": \"‹\",\n \"›\": \"›\",\n \"€\": \"€\",\n \"ƒ\": \"ƒ\",\n \"Α\": \"Α\",\n \"Β\": \"Β\",\n \"Γ\": \"Γ\",\n \"Δ\": \"Δ\",\n \"Ε\": \"Ε\",\n \"Ζ\": \"Ζ\",\n \"Η\": \"Η\",\n \"Θ\": \"Θ\",\n \"Ι\": \"Ι\",\n \"Κ\": \"Κ\",\n \"Λ\": \"Λ\",\n \"Μ\": \"Μ\",\n \"Ν\": \"Ν\",\n \"Ξ\": \"Ξ\",\n \"Ο\": \"Ο\",\n \"Π\": \"Π\",\n \"Ρ\": \"Ρ\",\n \"Σ\": \"Σ\",\n \"Τ\": \"Τ\",\n \"Υ\": \"Υ\",\n \"Φ\": \"Φ\",\n \"Χ\": \"Χ\",\n \"Ψ\": \"Ψ\",\n \"Ω\": \"Ω\",\n \"α\": \"α\",\n \"β\": \"β\",\n \"γ\": \"γ\",\n \"δ\": \"δ\",\n \"ε\": \"ε\",\n \"ζ\": \"ζ\",\n \"η\": \"η\",\n \"θ\": \"θ\",\n \"ι\": \"ι\",\n \"κ\": \"κ\",\n \"λ\": \"λ\",\n \"μ\": \"μ\",\n \"ν\": \"ν\",\n \"ξ\": \"ξ\",\n \"ο\": \"ο\",\n \"π\": \"π\",\n \"ρ\": \"ρ\",\n \"ς\": \"ς\",\n \"σ\": \"σ\",\n \"τ\": \"τ\",\n \"υ\": \"υ\",\n \"φ\": \"φ\",\n \"χ\": \"χ\",\n \"ψ\": \"ψ\",\n \"ω\": \"ω\",\n \"ϑ\": \"ϑ\",\n \"ϒ\": \"ϒ\",\n \"ϖ\": \"ϖ\",\n \"•\": \"•\",\n \"…\": \"…\",\n \"′\": \"′\",\n \"″\": \"″\",\n \"‾\": \"‾\",\n \"⁄\": \"⁄\",\n \"℘\": \"℘\",\n \"ℑ\": \"ℑ\",\n \"ℜ\": \"ℜ\",\n \"™\": \"™\",\n \"ℵ\": \"ℵ\",\n \"←\": \"←\",\n \"↑\": \"↑\",\n \"→\": \"→\",\n \"↓\": \"↓\",\n \"↔\": \"↔\",\n \"↵\": \"↵\",\n \"⇐\": \"⇐\",\n \"⇑\": \"⇑\",\n \"⇒\": \"⇒\",\n \"⇓\": \"⇓\",\n \"⇔\": \"⇔\",\n \"∀\": \"∀\",\n \"∂\": \"∂\",\n \"∃\": \"∃\",\n \"∅\": \"∅\",\n \"∇\": \"∇\",\n \"∈\": \"∈\",\n \"∉\": \"∉\",\n \"∋\": \"∋\",\n \"∏\": \"∏\",\n \"∑\": \"∑\",\n \"−\": \"−\",\n \"∗\": \"∗\",\n \"√\": \"√\",\n \"∝\": \"∝\",\n \"∞\": \"∞\",\n \"∠\": \"∠\",\n \"∧\": \"∧\",\n \"∨\": \"∨\",\n \"∩\": \"∩\",\n \"∪\": \"∪\",\n \"∫\": \"∫\",\n \"∴\": \"∴\",\n \"∼\": \"∼\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"≠\": \"≠\",\n \"≡\": \"≡\",\n \"≤\": \"≤\",\n \"≥\": \"≥\",\n \"⊂\": \"⊂\",\n \"⊃\": \"⊃\",\n \"⊄\": \"⊄\",\n \"⊆\": \"⊆\",\n \"⊇\": \"⊇\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"⊥\": \"⊥\",\n \"⋅\": \"⋅\",\n \"⌈\": \"⌈\",\n \"⌉\": \"⌉\",\n \"⌊\": \"⌊\",\n \"⌋\": \"⌋\",\n \"〈\": \"⟨\",\n \"〉\": \"⟩\",\n \"◊\": \"◊\",\n \"♠\": \"♠\",\n \"♣\": \"♣\",\n \"♥\": \"♥\",\n \"♦\": \"♦\"\n }\n },\n html5: {\n entities: {\n \"Æ\": \"Æ\",\n \"Æ\": \"Æ\",\n \"&\": \"&\",\n \"&\": \"&\",\n \"Á\": \"Á\",\n \"Á\": \"Á\",\n \"Ă\": \"Ă\",\n \"Â\": \"Â\",\n \"Â\": \"Â\",\n \"А\": \"А\",\n \"𝔄\": \"𝔄\",\n \"À\": \"À\",\n \"À\": \"À\",\n \"Α\": \"Α\",\n \"Ā\": \"Ā\",\n \"⩓\": \"⩓\",\n \"Ą\": \"Ą\",\n \"𝔸\": \"𝔸\",\n \"⁡\": \"⁡\",\n \"Å\": \"Å\",\n \"Å\": \"Å\",\n \"𝒜\": \"𝒜\",\n \"≔\": \"≔\",\n \"Ã\": \"Ã\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"Ä\": \"Ä\",\n \"∖\": \"∖\",\n \"⫧\": \"⫧\",\n \"⌆\": \"⌆\",\n \"Б\": \"Б\",\n \"∵\": \"∵\",\n \"ℬ\": \"ℬ\",\n \"Β\": \"Β\",\n \"𝔅\": \"𝔅\",\n \"𝔹\": \"𝔹\",\n \"˘\": \"˘\",\n \"ℬ\": \"ℬ\",\n \"≎\": \"≎\",\n \"Ч\": \"Ч\",\n \"©\": \"©\",\n \"©\": \"©\",\n \"Ć\": \"Ć\",\n \"⋒\": \"⋒\",\n \"ⅅ\": \"ⅅ\",\n \"ℭ\": \"ℭ\",\n \"Č\": \"Č\",\n \"Ç\": \"Ç\",\n \"Ç\": \"Ç\",\n \"Ĉ\": \"Ĉ\",\n \"∰\": \"∰\",\n \"Ċ\": \"Ċ\",\n \"¸\": \"¸\",\n \"·\": \"·\",\n \"ℭ\": \"ℭ\",\n \"Χ\": \"Χ\",\n \"⊙\": \"⊙\",\n \"⊖\": \"⊖\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"∲\": \"∲\",\n \"”\": \"”\",\n \"’\": \"’\",\n \"∷\": \"∷\",\n \"⩴\": \"⩴\",\n \"≡\": \"≡\",\n \"∯\": \"∯\",\n \"∮\": \"∮\",\n \"ℂ\": \"ℂ\",\n \"∐\": \"∐\",\n \"∳\": \"∳\",\n \"⨯\": \"⨯\",\n \"𝒞\": \"𝒞\",\n \"⋓\": \"⋓\",\n \"≍\": \"≍\",\n \"ⅅ\": \"ⅅ\",\n \"⤑\": \"⤑\",\n \"Ђ\": \"Ђ\",\n \"Ѕ\": \"Ѕ\",\n \"Џ\": \"Џ\",\n \"‡\": \"‡\",\n \"↡\": \"↡\",\n \"⫤\": \"⫤\",\n \"Ď\": \"Ď\",\n \"Д\": \"Д\",\n \"∇\": \"∇\",\n \"Δ\": \"Δ\",\n \"𝔇\": \"𝔇\",\n \"´\": \"´\",\n \"˙\": \"˙\",\n \"˝\": \"˝\",\n \"`\": \"`\",\n \"˜\": \"˜\",\n \"⋄\": \"⋄\",\n \"ⅆ\": \"ⅆ\",\n \"𝔻\": \"𝔻\",\n \"¨\": \"¨\",\n \"⃜\": \"⃜\",\n \"≐\": \"≐\",\n \"∯\": \"∯\",\n \"¨\": \"¨\",\n \"⇓\": \"⇓\",\n \"⇐\": \"⇐\",\n \"⇔\": \"⇔\",\n \"⫤\": \"⫤\",\n \"⟸\": \"⟸\",\n \"⟺\": \"⟺\",\n \"⟹\": \"⟹\",\n \"⇒\": \"⇒\",\n \"⊨\": \"⊨\",\n \"⇑\": \"⇑\",\n \"⇕\": \"⇕\",\n \"∥\": \"∥\",\n \"↓\": \"↓\",\n \"⤓\": \"⤓\",\n \"⇵\": \"⇵\",\n \"̑\": \"̑\",\n \"⥐\": \"⥐\",\n \"⥞\": \"⥞\",\n \"↽\": \"↽\",\n \"⥖\": \"⥖\",\n \"⥟\": \"⥟\",\n \"⇁\": \"⇁\",\n \"⥗\": \"⥗\",\n \"⊤\": \"⊤\",\n \"↧\": \"↧\",\n \"⇓\": \"⇓\",\n \"𝒟\": \"𝒟\",\n \"Đ\": \"Đ\",\n \"Ŋ\": \"Ŋ\",\n \"Ð\": \"Ð\",\n \"Ð\": \"Ð\",\n \"É\": \"É\",\n \"É\": \"É\",\n \"Ě\": \"Ě\",\n \"Ê\": \"Ê\",\n \"Ê\": \"Ê\",\n \"Э\": \"Э\",\n \"Ė\": \"Ė\",\n \"𝔈\": \"𝔈\",\n \"È\": \"È\",\n \"È\": \"È\",\n \"∈\": \"∈\",\n \"Ē\": \"Ē\",\n \"◻\": \"◻\",\n \"▫\": \"▫\",\n \"Ę\": \"Ę\",\n \"𝔼\": \"𝔼\",\n \"Ε\": \"Ε\",\n \"⩵\": \"⩵\",\n \"≂\": \"≂\",\n \"⇌\": \"⇌\",\n \"ℰ\": \"ℰ\",\n \"⩳\": \"⩳\",\n \"Η\": \"Η\",\n \"Ë\": \"Ë\",\n \"Ë\": \"Ë\",\n \"∃\": \"∃\",\n \"ⅇ\": \"ⅇ\",\n \"Ф\": \"Ф\",\n \"𝔉\": \"𝔉\",\n \"◼\": \"◼\",\n \"▪\": \"▪\",\n \"𝔽\": \"𝔽\",\n \"∀\": \"∀\",\n \"ℱ\": \"ℱ\",\n \"ℱ\": \"ℱ\",\n \"Ѓ\": \"Ѓ\",\n \">\": \">\",\n \">\": \">\",\n \"Γ\": \"Γ\",\n \"Ϝ\": \"Ϝ\",\n \"Ğ\": \"Ğ\",\n \"Ģ\": \"Ģ\",\n \"Ĝ\": \"Ĝ\",\n \"Г\": \"Г\",\n \"Ġ\": \"Ġ\",\n \"𝔊\": \"𝔊\",\n \"⋙\": \"⋙\",\n \"𝔾\": \"𝔾\",\n \"≥\": \"≥\",\n \"⋛\": \"⋛\",\n \"≧\": \"≧\",\n \"⪢\": \"⪢\",\n \"≷\": \"≷\",\n \"⩾\": \"⩾\",\n \"≳\": \"≳\",\n \"𝒢\": \"𝒢\",\n \"≫\": \"≫\",\n \"Ъ\": \"Ъ\",\n \"ˇ\": \"ˇ\",\n \"^\": \"^\",\n \"Ĥ\": \"Ĥ\",\n \"ℌ\": \"ℌ\",\n \"ℋ\": \"ℋ\",\n \"ℍ\": \"ℍ\",\n \"─\": \"─\",\n \"ℋ\": \"ℋ\",\n \"Ħ\": \"Ħ\",\n \"≎\": \"≎\",\n \"≏\": \"≏\",\n \"Е\": \"Е\",\n \"IJ\": \"IJ\",\n \"Ё\": \"Ё\",\n \"Í\": \"Í\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"Î\": \"Î\",\n \"И\": \"И\",\n \"İ\": \"İ\",\n \"ℑ\": \"ℑ\",\n \"Ì\": \"Ì\",\n \"Ì\": \"Ì\",\n \"ℑ\": \"ℑ\",\n \"Ī\": \"Ī\",\n \"ⅈ\": \"ⅈ\",\n \"⇒\": \"⇒\",\n \"∬\": \"∬\",\n \"∫\": \"∫\",\n \"⋂\": \"⋂\",\n \"⁣\": \"⁣\",\n \"⁢\": \"⁢\",\n \"Į\": \"Į\",\n \"𝕀\": \"𝕀\",\n \"Ι\": \"Ι\",\n \"ℐ\": \"ℐ\",\n \"Ĩ\": \"Ĩ\",\n \"І\": \"І\",\n \"Ï\": \"Ï\",\n \"Ï\": \"Ï\",\n \"Ĵ\": \"Ĵ\",\n \"Й\": \"Й\",\n \"𝔍\": \"𝔍\",\n \"𝕁\": \"𝕁\",\n \"𝒥\": \"𝒥\",\n \"Ј\": \"Ј\",\n \"Є\": \"Є\",\n \"Х\": \"Х\",\n \"Ќ\": \"Ќ\",\n \"Κ\": \"Κ\",\n \"Ķ\": \"Ķ\",\n \"К\": \"К\",\n \"𝔎\": \"𝔎\",\n \"𝕂\": \"𝕂\",\n \"𝒦\": \"𝒦\",\n \"Љ\": \"Љ\",\n \"<\": \"<\",\n \"<\": \"<\",\n \"Ĺ\": \"Ĺ\",\n \"Λ\": \"Λ\",\n \"⟪\": \"⟪\",\n \"ℒ\": \"ℒ\",\n \"↞\": \"↞\",\n \"Ľ\": \"Ľ\",\n \"Ļ\": \"Ļ\",\n \"Л\": \"Л\",\n \"⟨\": \"⟨\",\n \"←\": \"←\",\n \"⇤\": \"⇤\",\n \"⇆\": \"⇆\",\n \"⌈\": \"⌈\",\n \"⟦\": \"⟦\",\n \"⥡\": \"⥡\",\n \"⇃\": \"⇃\",\n \"⥙\": \"⥙\",\n \"⌊\": \"⌊\",\n \"↔\": \"↔\",\n \"⥎\": \"⥎\",\n \"⊣\": \"⊣\",\n \"↤\": \"↤\",\n \"⥚\": \"⥚\",\n \"⊲\": \"⊲\",\n \"⧏\": \"⧏\",\n \"⊴\": \"⊴\",\n \"⥑\": \"⥑\",\n \"⥠\": \"⥠\",\n \"↿\": \"↿\",\n \"⥘\": \"⥘\",\n \"↼\": \"↼\",\n \"⥒\": \"⥒\",\n \"⇐\": \"⇐\",\n \"⇔\": \"⇔\",\n \"⋚\": \"⋚\",\n \"≦\": \"≦\",\n \"≶\": \"≶\",\n \"⪡\": \"⪡\",\n \"⩽\": \"⩽\",\n \"≲\": \"≲\",\n \"𝔏\": \"𝔏\",\n \"⋘\": \"⋘\",\n \"⇚\": \"⇚\",\n \"Ŀ\": \"Ŀ\",\n \"⟵\": \"⟵\",\n \"⟷\": \"⟷\",\n \"⟶\": \"⟶\",\n \"⟸\": \"⟸\",\n \"⟺\": \"⟺\",\n \"⟹\": \"⟹\",\n \"𝕃\": \"𝕃\",\n \"↙\": \"↙\",\n \"↘\": \"↘\",\n \"ℒ\": \"ℒ\",\n \"↰\": \"↰\",\n \"Ł\": \"Ł\",\n \"≪\": \"≪\",\n \"⤅\": \"⤅\",\n \"М\": \"М\",\n \" \": \" \",\n \"ℳ\": \"ℳ\",\n \"𝔐\": \"𝔐\",\n \"∓\": \"∓\",\n \"𝕄\": \"𝕄\",\n \"ℳ\": \"ℳ\",\n \"Μ\": \"Μ\",\n \"Њ\": \"Њ\",\n \"Ń\": \"Ń\",\n \"Ň\": \"Ň\",\n \"Ņ\": \"Ņ\",\n \"Н\": \"Н\",\n \"​\": \"​\",\n \"​\": \"​\",\n \"​\": \"​\",\n \"​\": \"​\",\n \"≫\": \"≫\",\n \"≪\": \"≪\",\n \" \": \"\\n\",\n \"𝔑\": \"𝔑\",\n \"⁠\": \"⁠\",\n \" \": \" \",\n \"ℕ\": \"ℕ\",\n \"⫬\": \"⫬\",\n \"≢\": \"≢\",\n \"≭\": \"≭\",\n \"∦\": \"∦\",\n \"∉\": \"∉\",\n \"≠\": \"≠\",\n \"≂̸\": \"≂̸\",\n \"∄\": \"∄\",\n \"≯\": \"≯\",\n \"≱\": \"≱\",\n \"≧̸\": \"≧̸\",\n \"≫̸\": \"≫̸\",\n \"≹\": \"≹\",\n \"⩾̸\": \"⩾̸\",\n \"≵\": \"≵\",\n \"≎̸\": \"≎̸\",\n \"≏̸\": \"≏̸\",\n \"⋪\": \"⋪\",\n \"⧏̸\": \"⧏̸\",\n \"⋬\": \"⋬\",\n \"≮\": \"≮\",\n \"≰\": \"≰\",\n \"≸\": \"≸\",\n \"≪̸\": \"≪̸\",\n \"⩽̸\": \"⩽̸\",\n \"≴\": \"≴\",\n \"⪢̸\": \"⪢̸\",\n \"⪡̸\": \"⪡̸\",\n \"⊀\": \"⊀\",\n \"⪯̸\": \"⪯̸\",\n \"⋠\": \"⋠\",\n \"∌\": \"∌\",\n \"⋫\": \"⋫\",\n \"⧐̸\": \"⧐̸\",\n \"⋭\": \"⋭\",\n \"⊏̸\": \"⊏̸\",\n \"⋢\": \"⋢\",\n \"⊐̸\": \"⊐̸\",\n \"⋣\": \"⋣\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊈\": \"⊈\",\n \"⊁\": \"⊁\",\n \"⪰̸\": \"⪰̸\",\n \"⋡\": \"⋡\",\n \"≿̸\": \"≿̸\",\n \"⊃⃒\": \"⊃⃒\",\n \"⊉\": \"⊉\",\n \"≁\": \"≁\",\n \"≄\": \"≄\",\n \"≇\": \"≇\",\n \"≉\": \"≉\",\n \"∤\": \"∤\",\n \"𝒩\": \"𝒩\",\n \"Ñ\": \"Ñ\",\n \"Ñ\": \"Ñ\",\n \"Ν\": \"Ν\",\n \"Œ\": \"Œ\",\n \"Ó\": \"Ó\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"Ô\": \"Ô\",\n \"О\": \"О\",\n \"Ő\": \"Ő\",\n \"𝔒\": \"𝔒\",\n \"Ò\": \"Ò\",\n \"Ò\": \"Ò\",\n \"Ō\": \"Ō\",\n \"Ω\": \"Ω\",\n \"Ο\": \"Ο\",\n \"𝕆\": \"𝕆\",\n \"“\": \"“\",\n \"‘\": \"‘\",\n \"⩔\": \"⩔\",\n \"𝒪\": \"𝒪\",\n \"Ø\": \"Ø\",\n \"Ø\": \"Ø\",\n \"Õ\": \"Õ\",\n \"Õ\": \"Õ\",\n \"⨷\": \"⨷\",\n \"Ö\": \"Ö\",\n \"Ö\": \"Ö\",\n \"‾\": \"‾\",\n \"⏞\": \"⏞\",\n \"⎴\": \"⎴\",\n \"⏜\": \"⏜\",\n \"∂\": \"∂\",\n \"П\": \"П\",\n \"𝔓\": \"𝔓\",\n \"Φ\": \"Φ\",\n \"Π\": \"Π\",\n \"±\": \"±\",\n \"ℌ\": \"ℌ\",\n \"ℙ\": \"ℙ\",\n \"⪻\": \"⪻\",\n \"≺\": \"≺\",\n \"⪯\": \"⪯\",\n \"≼\": \"≼\",\n \"≾\": \"≾\",\n \"″\": \"″\",\n \"∏\": \"∏\",\n \"∷\": \"∷\",\n \"∝\": \"∝\",\n \"𝒫\": \"𝒫\",\n \"Ψ\": \"Ψ\",\n \""\": '\"',\n \""\": '\"',\n \"𝔔\": \"𝔔\",\n \"ℚ\": \"ℚ\",\n \"𝒬\": \"𝒬\",\n \"⤐\": \"⤐\",\n \"®\": \"®\",\n \"®\": \"®\",\n \"Ŕ\": \"Ŕ\",\n \"⟫\": \"⟫\",\n \"↠\": \"↠\",\n \"⤖\": \"⤖\",\n \"Ř\": \"Ř\",\n \"Ŗ\": \"Ŗ\",\n \"Р\": \"Р\",\n \"ℜ\": \"ℜ\",\n \"∋\": \"∋\",\n \"⇋\": \"⇋\",\n \"⥯\": \"⥯\",\n \"ℜ\": \"ℜ\",\n \"Ρ\": \"Ρ\",\n \"⟩\": \"⟩\",\n \"→\": \"→\",\n \"⇥\": \"⇥\",\n \"⇄\": \"⇄\",\n \"⌉\": \"⌉\",\n \"⟧\": \"⟧\",\n \"⥝\": \"⥝\",\n \"⇂\": \"⇂\",\n \"⥕\": \"⥕\",\n \"⌋\": \"⌋\",\n \"⊢\": \"⊢\",\n \"↦\": \"↦\",\n \"⥛\": \"⥛\",\n \"⊳\": \"⊳\",\n \"⧐\": \"⧐\",\n \"⊵\": \"⊵\",\n \"⥏\": \"⥏\",\n \"⥜\": \"⥜\",\n \"↾\": \"↾\",\n \"⥔\": \"⥔\",\n \"⇀\": \"⇀\",\n \"⥓\": \"⥓\",\n \"⇒\": \"⇒\",\n \"ℝ\": \"ℝ\",\n \"⥰\": \"⥰\",\n \"⇛\": \"⇛\",\n \"ℛ\": \"ℛ\",\n \"↱\": \"↱\",\n \"⧴\": \"⧴\",\n \"Щ\": \"Щ\",\n \"Ш\": \"Ш\",\n \"Ь\": \"Ь\",\n \"Ś\": \"Ś\",\n \"⪼\": \"⪼\",\n \"Š\": \"Š\",\n \"Ş\": \"Ş\",\n \"Ŝ\": \"Ŝ\",\n \"С\": \"С\",\n \"𝔖\": \"𝔖\",\n \"↓\": \"↓\",\n \"←\": \"←\",\n \"→\": \"→\",\n \"↑\": \"↑\",\n \"Σ\": \"Σ\",\n \"∘\": \"∘\",\n \"𝕊\": \"𝕊\",\n \"√\": \"√\",\n \"□\": \"□\",\n \"⊓\": \"⊓\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"⊔\": \"⊔\",\n \"𝒮\": \"𝒮\",\n \"⋆\": \"⋆\",\n \"⋐\": \"⋐\",\n \"⋐\": \"⋐\",\n \"⊆\": \"⊆\",\n \"≻\": \"≻\",\n \"⪰\": \"⪰\",\n \"≽\": \"≽\",\n \"≿\": \"≿\",\n \"∋\": \"∋\",\n \"∑\": \"∑\",\n \"⋑\": \"⋑\",\n \"⊃\": \"⊃\",\n \"⊇\": \"⊇\",\n \"⋑\": \"⋑\",\n \"Þ\": \"Þ\",\n \"Þ\": \"Þ\",\n \"™\": \"™\",\n \"Ћ\": \"Ћ\",\n \"Ц\": \"Ц\",\n \" \": \"\\t\",\n \"Τ\": \"Τ\",\n \"Ť\": \"Ť\",\n \"Ţ\": \"Ţ\",\n \"Т\": \"Т\",\n \"𝔗\": \"𝔗\",\n \"∴\": \"∴\",\n \"Θ\": \"Θ\",\n \"  \": \"  \",\n \" \": \" \",\n \"∼\": \"∼\",\n \"≃\": \"≃\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"𝕋\": \"𝕋\",\n \"⃛\": \"⃛\",\n \"𝒯\": \"𝒯\",\n \"Ŧ\": \"Ŧ\",\n \"Ú\": \"Ú\",\n \"Ú\": \"Ú\",\n \"↟\": \"↟\",\n \"⥉\": \"⥉\",\n \"Ў\": \"Ў\",\n \"Ŭ\": \"Ŭ\",\n \"Û\": \"Û\",\n \"Û\": \"Û\",\n \"У\": \"У\",\n \"Ű\": \"Ű\",\n \"𝔘\": \"𝔘\",\n \"Ù\": \"Ù\",\n \"Ù\": \"Ù\",\n \"Ū\": \"Ū\",\n \"_\": \"_\",\n \"⏟\": \"⏟\",\n \"⎵\": \"⎵\",\n \"⏝\": \"⏝\",\n \"⋃\": \"⋃\",\n \"⊎\": \"⊎\",\n \"Ų\": \"Ų\",\n \"𝕌\": \"𝕌\",\n \"↑\": \"↑\",\n \"⤒\": \"⤒\",\n \"⇅\": \"⇅\",\n \"↕\": \"↕\",\n \"⥮\": \"⥮\",\n \"⊥\": \"⊥\",\n \"↥\": \"↥\",\n \"⇑\": \"⇑\",\n \"⇕\": \"⇕\",\n \"↖\": \"↖\",\n \"↗\": \"↗\",\n \"ϒ\": \"ϒ\",\n \"Υ\": \"Υ\",\n \"Ů\": \"Ů\",\n \"𝒰\": \"𝒰\",\n \"Ũ\": \"Ũ\",\n \"Ü\": \"Ü\",\n \"Ü\": \"Ü\",\n \"⊫\": \"⊫\",\n \"⫫\": \"⫫\",\n \"В\": \"В\",\n \"⊩\": \"⊩\",\n \"⫦\": \"⫦\",\n \"⋁\": \"⋁\",\n \"‖\": \"‖\",\n \"‖\": \"‖\",\n \"∣\": \"∣\",\n \"|\": \"|\",\n \"❘\": \"❘\",\n \"≀\": \"≀\",\n \" \": \" \",\n \"𝔙\": \"𝔙\",\n \"𝕍\": \"𝕍\",\n \"𝒱\": \"𝒱\",\n \"⊪\": \"⊪\",\n \"Ŵ\": \"Ŵ\",\n \"⋀\": \"⋀\",\n \"𝔚\": \"𝔚\",\n \"𝕎\": \"𝕎\",\n \"𝒲\": \"𝒲\",\n \"𝔛\": \"𝔛\",\n \"Ξ\": \"Ξ\",\n \"𝕏\": \"𝕏\",\n \"𝒳\": \"𝒳\",\n \"Я\": \"Я\",\n \"Ї\": \"Ї\",\n \"Ю\": \"Ю\",\n \"Ý\": \"Ý\",\n \"Ý\": \"Ý\",\n \"Ŷ\": \"Ŷ\",\n \"Ы\": \"Ы\",\n \"𝔜\": \"𝔜\",\n \"𝕐\": \"𝕐\",\n \"𝒴\": \"𝒴\",\n \"Ÿ\": \"Ÿ\",\n \"Ж\": \"Ж\",\n \"Ź\": \"Ź\",\n \"Ž\": \"Ž\",\n \"З\": \"З\",\n \"Ż\": \"Ż\",\n \"​\": \"​\",\n \"Ζ\": \"Ζ\",\n \"ℨ\": \"ℨ\",\n \"ℤ\": \"ℤ\",\n \"𝒵\": \"𝒵\",\n \"á\": \"á\",\n \"á\": \"á\",\n \"ă\": \"ă\",\n \"∾\": \"∾\",\n \"∾̳\": \"∾̳\",\n \"∿\": \"∿\",\n \"â\": \"â\",\n \"â\": \"â\",\n \"´\": \"´\",\n \"´\": \"´\",\n \"а\": \"а\",\n \"æ\": \"æ\",\n \"æ\": \"æ\",\n \"⁡\": \"⁡\",\n \"𝔞\": \"𝔞\",\n \"à\": \"à\",\n \"à\": \"à\",\n \"ℵ\": \"ℵ\",\n \"ℵ\": \"ℵ\",\n \"α\": \"α\",\n \"ā\": \"ā\",\n \"⨿\": \"⨿\",\n \"&\": \"&\",\n \"&\": \"&\",\n \"∧\": \"∧\",\n \"⩕\": \"⩕\",\n \"⩜\": \"⩜\",\n \"⩘\": \"⩘\",\n \"⩚\": \"⩚\",\n \"∠\": \"∠\",\n \"⦤\": \"⦤\",\n \"∠\": \"∠\",\n \"∡\": \"∡\",\n \"⦨\": \"⦨\",\n \"⦩\": \"⦩\",\n \"⦪\": \"⦪\",\n \"⦫\": \"⦫\",\n \"⦬\": \"⦬\",\n \"⦭\": \"⦭\",\n \"⦮\": \"⦮\",\n \"⦯\": \"⦯\",\n \"∟\": \"∟\",\n \"⊾\": \"⊾\",\n \"⦝\": \"⦝\",\n \"∢\": \"∢\",\n \"Å\": \"Å\",\n \"⍼\": \"⍼\",\n \"ą\": \"ą\",\n \"𝕒\": \"𝕒\",\n \"≈\": \"≈\",\n \"⩰\": \"⩰\",\n \"⩯\": \"⩯\",\n \"≊\": \"≊\",\n \"≋\": \"≋\",\n \"'\": \"'\",\n \"≈\": \"≈\",\n \"≊\": \"≊\",\n \"å\": \"å\",\n \"å\": \"å\",\n \"𝒶\": \"𝒶\",\n \"*\": \"*\",\n \"≈\": \"≈\",\n \"≍\": \"≍\",\n \"ã\": \"ã\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"ä\": \"ä\",\n \"∳\": \"∳\",\n \"⨑\": \"⨑\",\n \"⫭\": \"⫭\",\n \"≌\": \"≌\",\n \"϶\": \"϶\",\n \"‵\": \"‵\",\n \"∽\": \"∽\",\n \"⋍\": \"⋍\",\n \"⊽\": \"⊽\",\n \"⌅\": \"⌅\",\n \"⌅\": \"⌅\",\n \"⎵\": \"⎵\",\n \"⎶\": \"⎶\",\n \"≌\": \"≌\",\n \"б\": \"б\",\n \"„\": \"„\",\n \"∵\": \"∵\",\n \"∵\": \"∵\",\n \"⦰\": \"⦰\",\n \"϶\": \"϶\",\n \"ℬ\": \"ℬ\",\n \"β\": \"β\",\n \"ℶ\": \"ℶ\",\n \"≬\": \"≬\",\n \"𝔟\": \"𝔟\",\n \"⋂\": \"⋂\",\n \"◯\": \"◯\",\n \"⋃\": \"⋃\",\n \"⨀\": \"⨀\",\n \"⨁\": \"⨁\",\n \"⨂\": \"⨂\",\n \"⨆\": \"⨆\",\n \"★\": \"★\",\n \"▽\": \"▽\",\n \"△\": \"△\",\n \"⨄\": \"⨄\",\n \"⋁\": \"⋁\",\n \"⋀\": \"⋀\",\n \"⤍\": \"⤍\",\n \"⧫\": \"⧫\",\n \"▪\": \"▪\",\n \"▴\": \"▴\",\n \"▾\": \"▾\",\n \"◂\": \"◂\",\n \"▸\": \"▸\",\n \"␣\": \"␣\",\n \"▒\": \"▒\",\n \"░\": \"░\",\n \"▓\": \"▓\",\n \"█\": \"█\",\n \"=⃥\": \"=⃥\",\n \"≡⃥\": \"≡⃥\",\n \"⌐\": \"⌐\",\n \"𝕓\": \"𝕓\",\n \"⊥\": \"⊥\",\n \"⊥\": \"⊥\",\n \"⋈\": \"⋈\",\n \"╗\": \"╗\",\n \"╔\": \"╔\",\n \"╖\": \"╖\",\n \"╓\": \"╓\",\n \"═\": \"═\",\n \"╦\": \"╦\",\n \"╩\": \"╩\",\n \"╤\": \"╤\",\n \"╧\": \"╧\",\n \"╝\": \"╝\",\n \"╚\": \"╚\",\n \"╜\": \"╜\",\n \"╙\": \"╙\",\n \"║\": \"║\",\n \"╬\": \"╬\",\n \"╣\": \"╣\",\n \"╠\": \"╠\",\n \"╫\": \"╫\",\n \"╢\": \"╢\",\n \"╟\": \"╟\",\n \"⧉\": \"⧉\",\n \"╕\": \"╕\",\n \"╒\": \"╒\",\n \"┐\": \"┐\",\n \"┌\": \"┌\",\n \"─\": \"─\",\n \"╥\": \"╥\",\n \"╨\": \"╨\",\n \"┬\": \"┬\",\n \"┴\": \"┴\",\n \"⊟\": \"⊟\",\n \"⊞\": \"⊞\",\n \"⊠\": \"⊠\",\n \"╛\": \"╛\",\n \"╘\": \"╘\",\n \"┘\": \"┘\",\n \"└\": \"└\",\n \"│\": \"│\",\n \"╪\": \"╪\",\n \"╡\": \"╡\",\n \"╞\": \"╞\",\n \"┼\": \"┼\",\n \"┤\": \"┤\",\n \"├\": \"├\",\n \"‵\": \"‵\",\n \"˘\": \"˘\",\n \"¦\": \"¦\",\n \"¦\": \"¦\",\n \"𝒷\": \"𝒷\",\n \"⁏\": \"⁏\",\n \"∽\": \"∽\",\n \"⋍\": \"⋍\",\n \"\\": \"\\\\\",\n \"⧅\": \"⧅\",\n \"⟈\": \"⟈\",\n \"•\": \"•\",\n \"•\": \"•\",\n \"≎\": \"≎\",\n \"⪮\": \"⪮\",\n \"≏\": \"≏\",\n \"≏\": \"≏\",\n \"ć\": \"ć\",\n \"∩\": \"∩\",\n \"⩄\": \"⩄\",\n \"⩉\": \"⩉\",\n \"⩋\": \"⩋\",\n \"⩇\": \"⩇\",\n \"⩀\": \"⩀\",\n \"∩︀\": \"∩︀\",\n \"⁁\": \"⁁\",\n \"ˇ\": \"ˇ\",\n \"⩍\": \"⩍\",\n \"č\": \"č\",\n \"ç\": \"ç\",\n \"ç\": \"ç\",\n \"ĉ\": \"ĉ\",\n \"⩌\": \"⩌\",\n \"⩐\": \"⩐\",\n \"ċ\": \"ċ\",\n \"¸\": \"¸\",\n \"¸\": \"¸\",\n \"⦲\": \"⦲\",\n \"¢\": \"¢\",\n \"¢\": \"¢\",\n \"·\": \"·\",\n \"𝔠\": \"𝔠\",\n \"ч\": \"ч\",\n \"✓\": \"✓\",\n \"✓\": \"✓\",\n \"χ\": \"χ\",\n \"○\": \"○\",\n \"⧃\": \"⧃\",\n \"ˆ\": \"ˆ\",\n \"≗\": \"≗\",\n \"↺\": \"↺\",\n \"↻\": \"↻\",\n \"®\": \"®\",\n \"Ⓢ\": \"Ⓢ\",\n \"⊛\": \"⊛\",\n \"⊚\": \"⊚\",\n \"⊝\": \"⊝\",\n \"≗\": \"≗\",\n \"⨐\": \"⨐\",\n \"⫯\": \"⫯\",\n \"⧂\": \"⧂\",\n \"♣\": \"♣\",\n \"♣\": \"♣\",\n \":\": \":\",\n \"≔\": \"≔\",\n \"≔\": \"≔\",\n \",\": \",\",\n \"@\": \"@\",\n \"∁\": \"∁\",\n \"∘\": \"∘\",\n \"∁\": \"∁\",\n \"ℂ\": \"ℂ\",\n \"≅\": \"≅\",\n \"⩭\": \"⩭\",\n \"∮\": \"∮\",\n \"𝕔\": \"𝕔\",\n \"∐\": \"∐\",\n \"©\": \"©\",\n \"©\": \"©\",\n \"℗\": \"℗\",\n \"↵\": \"↵\",\n \"✗\": \"✗\",\n \"𝒸\": \"𝒸\",\n \"⫏\": \"⫏\",\n \"⫑\": \"⫑\",\n \"⫐\": \"⫐\",\n \"⫒\": \"⫒\",\n \"⋯\": \"⋯\",\n \"⤸\": \"⤸\",\n \"⤵\": \"⤵\",\n \"⋞\": \"⋞\",\n \"⋟\": \"⋟\",\n \"↶\": \"↶\",\n \"⤽\": \"⤽\",\n \"∪\": \"∪\",\n \"⩈\": \"⩈\",\n \"⩆\": \"⩆\",\n \"⩊\": \"⩊\",\n \"⊍\": \"⊍\",\n \"⩅\": \"⩅\",\n \"∪︀\": \"∪︀\",\n \"↷\": \"↷\",\n \"⤼\": \"⤼\",\n \"⋞\": \"⋞\",\n \"⋟\": \"⋟\",\n \"⋎\": \"⋎\",\n \"⋏\": \"⋏\",\n \"¤\": \"¤\",\n \"¤\": \"¤\",\n \"↶\": \"↶\",\n \"↷\": \"↷\",\n \"⋎\": \"⋎\",\n \"⋏\": \"⋏\",\n \"∲\": \"∲\",\n \"∱\": \"∱\",\n \"⌭\": \"⌭\",\n \"⇓\": \"⇓\",\n \"⥥\": \"⥥\",\n \"†\": \"†\",\n \"ℸ\": \"ℸ\",\n \"↓\": \"↓\",\n \"‐\": \"‐\",\n \"⊣\": \"⊣\",\n \"⤏\": \"⤏\",\n \"˝\": \"˝\",\n \"ď\": \"ď\",\n \"д\": \"д\",\n \"ⅆ\": \"ⅆ\",\n \"‡\": \"‡\",\n \"⇊\": \"⇊\",\n \"⩷\": \"⩷\",\n \"°\": \"°\",\n \"°\": \"°\",\n \"δ\": \"δ\",\n \"⦱\": \"⦱\",\n \"⥿\": \"⥿\",\n \"𝔡\": \"𝔡\",\n \"⇃\": \"⇃\",\n \"⇂\": \"⇂\",\n \"⋄\": \"⋄\",\n \"⋄\": \"⋄\",\n \"♦\": \"♦\",\n \"♦\": \"♦\",\n \"¨\": \"¨\",\n \"ϝ\": \"ϝ\",\n \"⋲\": \"⋲\",\n \"÷\": \"÷\",\n \"÷\": \"÷\",\n \"÷\": \"÷\",\n \"⋇\": \"⋇\",\n \"⋇\": \"⋇\",\n \"ђ\": \"ђ\",\n \"⌞\": \"⌞\",\n \"⌍\": \"⌍\",\n \"$\": \"$\",\n \"𝕕\": \"𝕕\",\n \"˙\": \"˙\",\n \"≐\": \"≐\",\n \"≑\": \"≑\",\n \"∸\": \"∸\",\n \"∔\": \"∔\",\n \"⊡\": \"⊡\",\n \"⌆\": \"⌆\",\n \"↓\": \"↓\",\n \"⇊\": \"⇊\",\n \"⇃\": \"⇃\",\n \"⇂\": \"⇂\",\n \"⤐\": \"⤐\",\n \"⌟\": \"⌟\",\n \"⌌\": \"⌌\",\n \"𝒹\": \"𝒹\",\n \"ѕ\": \"ѕ\",\n \"⧶\": \"⧶\",\n \"đ\": \"đ\",\n \"⋱\": \"⋱\",\n \"▿\": \"▿\",\n \"▾\": \"▾\",\n \"⇵\": \"⇵\",\n \"⥯\": \"⥯\",\n \"⦦\": \"⦦\",\n \"џ\": \"џ\",\n \"⟿\": \"⟿\",\n \"⩷\": \"⩷\",\n \"≑\": \"≑\",\n \"é\": \"é\",\n \"é\": \"é\",\n \"⩮\": \"⩮\",\n \"ě\": \"ě\",\n \"≖\": \"≖\",\n \"ê\": \"ê\",\n \"ê\": \"ê\",\n \"≕\": \"≕\",\n \"э\": \"э\",\n \"ė\": \"ė\",\n \"ⅇ\": \"ⅇ\",\n \"≒\": \"≒\",\n \"𝔢\": \"𝔢\",\n \"⪚\": \"⪚\",\n \"è\": \"è\",\n \"è\": \"è\",\n \"⪖\": \"⪖\",\n \"⪘\": \"⪘\",\n \"⪙\": \"⪙\",\n \"⏧\": \"⏧\",\n \"ℓ\": \"ℓ\",\n \"⪕\": \"⪕\",\n \"⪗\": \"⪗\",\n \"ē\": \"ē\",\n \"∅\": \"∅\",\n \"∅\": \"∅\",\n \"∅\": \"∅\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"ŋ\": \"ŋ\",\n \" \": \" \",\n \"ę\": \"ę\",\n \"𝕖\": \"𝕖\",\n \"⋕\": \"⋕\",\n \"⧣\": \"⧣\",\n \"⩱\": \"⩱\",\n \"ε\": \"ε\",\n \"ε\": \"ε\",\n \"ϵ\": \"ϵ\",\n \"≖\": \"≖\",\n \"≕\": \"≕\",\n \"≂\": \"≂\",\n \"⪖\": \"⪖\",\n \"⪕\": \"⪕\",\n \"=\": \"=\",\n \"≟\": \"≟\",\n \"≡\": \"≡\",\n \"⩸\": \"⩸\",\n \"⧥\": \"⧥\",\n \"≓\": \"≓\",\n \"⥱\": \"⥱\",\n \"ℯ\": \"ℯ\",\n \"≐\": \"≐\",\n \"≂\": \"≂\",\n \"η\": \"η\",\n \"ð\": \"ð\",\n \"ð\": \"ð\",\n \"ë\": \"ë\",\n \"ë\": \"ë\",\n \"€\": \"€\",\n \"!\": \"!\",\n \"∃\": \"∃\",\n \"ℰ\": \"ℰ\",\n \"ⅇ\": \"ⅇ\",\n \"≒\": \"≒\",\n \"ф\": \"ф\",\n \"♀\": \"♀\",\n \"ffi\": \"ffi\",\n \"ff\": \"ff\",\n \"ffl\": \"ffl\",\n \"𝔣\": \"𝔣\",\n \"fi\": \"fi\",\n \"fj\": \"fj\",\n \"♭\": \"♭\",\n \"fl\": \"fl\",\n \"▱\": \"▱\",\n \"ƒ\": \"ƒ\",\n \"𝕗\": \"𝕗\",\n \"∀\": \"∀\",\n \"⋔\": \"⋔\",\n \"⫙\": \"⫙\",\n \"⨍\": \"⨍\",\n \"½\": \"½\",\n \"½\": \"½\",\n \"⅓\": \"⅓\",\n \"¼\": \"¼\",\n \"¼\": \"¼\",\n \"⅕\": \"⅕\",\n \"⅙\": \"⅙\",\n \"⅛\": \"⅛\",\n \"⅔\": \"⅔\",\n \"⅖\": \"⅖\",\n \"¾\": \"¾\",\n \"¾\": \"¾\",\n \"⅗\": \"⅗\",\n \"⅜\": \"⅜\",\n \"⅘\": \"⅘\",\n \"⅚\": \"⅚\",\n \"⅝\": \"⅝\",\n \"⅞\": \"⅞\",\n \"⁄\": \"⁄\",\n \"⌢\": \"⌢\",\n \"𝒻\": \"𝒻\",\n \"≧\": \"≧\",\n \"⪌\": \"⪌\",\n \"ǵ\": \"ǵ\",\n \"γ\": \"γ\",\n \"ϝ\": \"ϝ\",\n \"⪆\": \"⪆\",\n \"ğ\": \"ğ\",\n \"ĝ\": \"ĝ\",\n \"г\": \"г\",\n \"ġ\": \"ġ\",\n \"≥\": \"≥\",\n \"⋛\": \"⋛\",\n \"≥\": \"≥\",\n \"≧\": \"≧\",\n \"⩾\": \"⩾\",\n \"⩾\": \"⩾\",\n \"⪩\": \"⪩\",\n \"⪀\": \"⪀\",\n \"⪂\": \"⪂\",\n \"⪄\": \"⪄\",\n \"⋛︀\": \"⋛︀\",\n \"⪔\": \"⪔\",\n \"𝔤\": \"𝔤\",\n \"≫\": \"≫\",\n \"⋙\": \"⋙\",\n \"ℷ\": \"ℷ\",\n \"ѓ\": \"ѓ\",\n \"≷\": \"≷\",\n \"⪒\": \"⪒\",\n \"⪥\": \"⪥\",\n \"⪤\": \"⪤\",\n \"≩\": \"≩\",\n \"⪊\": \"⪊\",\n \"⪊\": \"⪊\",\n \"⪈\": \"⪈\",\n \"⪈\": \"⪈\",\n \"≩\": \"≩\",\n \"⋧\": \"⋧\",\n \"𝕘\": \"𝕘\",\n \"`\": \"`\",\n \"ℊ\": \"ℊ\",\n \"≳\": \"≳\",\n \"⪎\": \"⪎\",\n \"⪐\": \"⪐\",\n \">\": \">\",\n \">\": \">\",\n \"⪧\": \"⪧\",\n \"⩺\": \"⩺\",\n \"⋗\": \"⋗\",\n \"⦕\": \"⦕\",\n \"⩼\": \"⩼\",\n \"⪆\": \"⪆\",\n \"⥸\": \"⥸\",\n \"⋗\": \"⋗\",\n \"⋛\": \"⋛\",\n \"⪌\": \"⪌\",\n \"≷\": \"≷\",\n \"≳\": \"≳\",\n \"≩︀\": \"≩︀\",\n \"≩︀\": \"≩︀\",\n \"⇔\": \"⇔\",\n \" \": \" \",\n \"½\": \"½\",\n \"ℋ\": \"ℋ\",\n \"ъ\": \"ъ\",\n \"↔\": \"↔\",\n \"⥈\": \"⥈\",\n \"↭\": \"↭\",\n \"ℏ\": \"ℏ\",\n \"ĥ\": \"ĥ\",\n \"♥\": \"♥\",\n \"♥\": \"♥\",\n \"…\": \"…\",\n \"⊹\": \"⊹\",\n \"𝔥\": \"𝔥\",\n \"⤥\": \"⤥\",\n \"⤦\": \"⤦\",\n \"⇿\": \"⇿\",\n \"∻\": \"∻\",\n \"↩\": \"↩\",\n \"↪\": \"↪\",\n \"𝕙\": \"𝕙\",\n \"―\": \"―\",\n \"𝒽\": \"𝒽\",\n \"ℏ\": \"ℏ\",\n \"ħ\": \"ħ\",\n \"⁃\": \"⁃\",\n \"‐\": \"‐\",\n \"í\": \"í\",\n \"í\": \"í\",\n \"⁣\": \"⁣\",\n \"î\": \"î\",\n \"î\": \"î\",\n \"и\": \"и\",\n \"е\": \"е\",\n \"¡\": \"¡\",\n \"¡\": \"¡\",\n \"⇔\": \"⇔\",\n \"𝔦\": \"𝔦\",\n \"ì\": \"ì\",\n \"ì\": \"ì\",\n \"ⅈ\": \"ⅈ\",\n \"⨌\": \"⨌\",\n \"∭\": \"∭\",\n \"⧜\": \"⧜\",\n \"℩\": \"℩\",\n \"ij\": \"ij\",\n \"ī\": \"ī\",\n \"ℑ\": \"ℑ\",\n \"ℐ\": \"ℐ\",\n \"ℑ\": \"ℑ\",\n \"ı\": \"ı\",\n \"⊷\": \"⊷\",\n \"Ƶ\": \"Ƶ\",\n \"∈\": \"∈\",\n \"℅\": \"℅\",\n \"∞\": \"∞\",\n \"⧝\": \"⧝\",\n \"ı\": \"ı\",\n \"∫\": \"∫\",\n \"⊺\": \"⊺\",\n \"ℤ\": \"ℤ\",\n \"⊺\": \"⊺\",\n \"⨗\": \"⨗\",\n \"⨼\": \"⨼\",\n \"ё\": \"ё\",\n \"į\": \"į\",\n \"𝕚\": \"𝕚\",\n \"ι\": \"ι\",\n \"⨼\": \"⨼\",\n \"¿\": \"¿\",\n \"¿\": \"¿\",\n \"𝒾\": \"𝒾\",\n \"∈\": \"∈\",\n \"⋹\": \"⋹\",\n \"⋵\": \"⋵\",\n \"⋴\": \"⋴\",\n \"⋳\": \"⋳\",\n \"∈\": \"∈\",\n \"⁢\": \"⁢\",\n \"ĩ\": \"ĩ\",\n \"і\": \"і\",\n \"ï\": \"ï\",\n \"ï\": \"ï\",\n \"ĵ\": \"ĵ\",\n \"й\": \"й\",\n \"𝔧\": \"𝔧\",\n \"ȷ\": \"ȷ\",\n \"𝕛\": \"𝕛\",\n \"𝒿\": \"𝒿\",\n \"ј\": \"ј\",\n \"є\": \"є\",\n \"κ\": \"κ\",\n \"ϰ\": \"ϰ\",\n \"ķ\": \"ķ\",\n \"к\": \"к\",\n \"𝔨\": \"𝔨\",\n \"ĸ\": \"ĸ\",\n \"х\": \"х\",\n \"ќ\": \"ќ\",\n \"𝕜\": \"𝕜\",\n \"𝓀\": \"𝓀\",\n \"⇚\": \"⇚\",\n \"⇐\": \"⇐\",\n \"⤛\": \"⤛\",\n \"⤎\": \"⤎\",\n \"≦\": \"≦\",\n \"⪋\": \"⪋\",\n \"⥢\": \"⥢\",\n \"ĺ\": \"ĺ\",\n \"⦴\": \"⦴\",\n \"ℒ\": \"ℒ\",\n \"λ\": \"λ\",\n \"⟨\": \"⟨\",\n \"⦑\": \"⦑\",\n \"⟨\": \"⟨\",\n \"⪅\": \"⪅\",\n \"«\": \"«\",\n \"«\": \"«\",\n \"←\": \"←\",\n \"⇤\": \"⇤\",\n \"⤟\": \"⤟\",\n \"⤝\": \"⤝\",\n \"↩\": \"↩\",\n \"↫\": \"↫\",\n \"⤹\": \"⤹\",\n \"⥳\": \"⥳\",\n \"↢\": \"↢\",\n \"⪫\": \"⪫\",\n \"⤙\": \"⤙\",\n \"⪭\": \"⪭\",\n \"⪭︀\": \"⪭︀\",\n \"⤌\": \"⤌\",\n \"❲\": \"❲\",\n \"{\": \"{\",\n \"[\": \"[\",\n \"⦋\": \"⦋\",\n \"⦏\": \"⦏\",\n \"⦍\": \"⦍\",\n \"ľ\": \"ľ\",\n \"ļ\": \"ļ\",\n \"⌈\": \"⌈\",\n \"{\": \"{\",\n \"л\": \"л\",\n \"⤶\": \"⤶\",\n \"“\": \"“\",\n \"„\": \"„\",\n \"⥧\": \"⥧\",\n \"⥋\": \"⥋\",\n \"↲\": \"↲\",\n \"≤\": \"≤\",\n \"←\": \"←\",\n \"↢\": \"↢\",\n \"↽\": \"↽\",\n \"↼\": \"↼\",\n \"⇇\": \"⇇\",\n \"↔\": \"↔\",\n \"⇆\": \"⇆\",\n \"⇋\": \"⇋\",\n \"↭\": \"↭\",\n \"⋋\": \"⋋\",\n \"⋚\": \"⋚\",\n \"≤\": \"≤\",\n \"≦\": \"≦\",\n \"⩽\": \"⩽\",\n \"⩽\": \"⩽\",\n \"⪨\": \"⪨\",\n \"⩿\": \"⩿\",\n \"⪁\": \"⪁\",\n \"⪃\": \"⪃\",\n \"⋚︀\": \"⋚︀\",\n \"⪓\": \"⪓\",\n \"⪅\": \"⪅\",\n \"⋖\": \"⋖\",\n \"⋚\": \"⋚\",\n \"⪋\": \"⪋\",\n \"≶\": \"≶\",\n \"≲\": \"≲\",\n \"⥼\": \"⥼\",\n \"⌊\": \"⌊\",\n \"𝔩\": \"𝔩\",\n \"≶\": \"≶\",\n \"⪑\": \"⪑\",\n \"↽\": \"↽\",\n \"↼\": \"↼\",\n \"⥪\": \"⥪\",\n \"▄\": \"▄\",\n \"љ\": \"љ\",\n \"≪\": \"≪\",\n \"⇇\": \"⇇\",\n \"⌞\": \"⌞\",\n \"⥫\": \"⥫\",\n \"◺\": \"◺\",\n \"ŀ\": \"ŀ\",\n \"⎰\": \"⎰\",\n \"⎰\": \"⎰\",\n \"≨\": \"≨\",\n \"⪉\": \"⪉\",\n \"⪉\": \"⪉\",\n \"⪇\": \"⪇\",\n \"⪇\": \"⪇\",\n \"≨\": \"≨\",\n \"⋦\": \"⋦\",\n \"⟬\": \"⟬\",\n \"⇽\": \"⇽\",\n \"⟦\": \"⟦\",\n \"⟵\": \"⟵\",\n \"⟷\": \"⟷\",\n \"⟼\": \"⟼\",\n \"⟶\": \"⟶\",\n \"↫\": \"↫\",\n \"↬\": \"↬\",\n \"⦅\": \"⦅\",\n \"𝕝\": \"𝕝\",\n \"⨭\": \"⨭\",\n \"⨴\": \"⨴\",\n \"∗\": \"∗\",\n \"_\": \"_\",\n \"◊\": \"◊\",\n \"◊\": \"◊\",\n \"⧫\": \"⧫\",\n \"(\": \"(\",\n \"⦓\": \"⦓\",\n \"⇆\": \"⇆\",\n \"⌟\": \"⌟\",\n \"⇋\": \"⇋\",\n \"⥭\": \"⥭\",\n \"‎\": \"‎\",\n \"⊿\": \"⊿\",\n \"‹\": \"‹\",\n \"𝓁\": \"𝓁\",\n \"↰\": \"↰\",\n \"≲\": \"≲\",\n \"⪍\": \"⪍\",\n \"⪏\": \"⪏\",\n \"[\": \"[\",\n \"‘\": \"‘\",\n \"‚\": \"‚\",\n \"ł\": \"ł\",\n \"<\": \"<\",\n \"<\": \"<\",\n \"⪦\": \"⪦\",\n \"⩹\": \"⩹\",\n \"⋖\": \"⋖\",\n \"⋋\": \"⋋\",\n \"⋉\": \"⋉\",\n \"⥶\": \"⥶\",\n \"⩻\": \"⩻\",\n \"⦖\": \"⦖\",\n \"◃\": \"◃\",\n \"⊴\": \"⊴\",\n \"◂\": \"◂\",\n \"⥊\": \"⥊\",\n \"⥦\": \"⥦\",\n \"≨︀\": \"≨︀\",\n \"≨︀\": \"≨︀\",\n \"∺\": \"∺\",\n \"¯\": \"¯\",\n \"¯\": \"¯\",\n \"♂\": \"♂\",\n \"✠\": \"✠\",\n \"✠\": \"✠\",\n \"↦\": \"↦\",\n \"↦\": \"↦\",\n \"↧\": \"↧\",\n \"↤\": \"↤\",\n \"↥\": \"↥\",\n \"▮\": \"▮\",\n \"⨩\": \"⨩\",\n \"м\": \"м\",\n \"—\": \"—\",\n \"∡\": \"∡\",\n \"𝔪\": \"𝔪\",\n \"℧\": \"℧\",\n \"µ\": \"µ\",\n \"µ\": \"µ\",\n \"∣\": \"∣\",\n \"*\": \"*\",\n \"⫰\": \"⫰\",\n \"·\": \"·\",\n \"·\": \"·\",\n \"−\": \"−\",\n \"⊟\": \"⊟\",\n \"∸\": \"∸\",\n \"⨪\": \"⨪\",\n \"⫛\": \"⫛\",\n \"…\": \"…\",\n \"∓\": \"∓\",\n \"⊧\": \"⊧\",\n \"𝕞\": \"𝕞\",\n \"∓\": \"∓\",\n \"𝓂\": \"𝓂\",\n \"∾\": \"∾\",\n \"μ\": \"μ\",\n \"⊸\": \"⊸\",\n \"⊸\": \"⊸\",\n \"⋙̸\": \"⋙̸\",\n \"≫⃒\": \"≫⃒\",\n \"≫̸\": \"≫̸\",\n \"⇍\": \"⇍\",\n \"⇎\": \"⇎\",\n \"⋘̸\": \"⋘̸\",\n \"≪⃒\": \"≪⃒\",\n \"≪̸\": \"≪̸\",\n \"⇏\": \"⇏\",\n \"⊯\": \"⊯\",\n \"⊮\": \"⊮\",\n \"∇\": \"∇\",\n \"ń\": \"ń\",\n \"∠⃒\": \"∠⃒\",\n \"≉\": \"≉\",\n \"⩰̸\": \"⩰̸\",\n \"≋̸\": \"≋̸\",\n \"ʼn\": \"ʼn\",\n \"≉\": \"≉\",\n \"♮\": \"♮\",\n \"♮\": \"♮\",\n \"ℕ\": \"ℕ\",\n \" \": \" \",\n \" \": \" \",\n \"≎̸\": \"≎̸\",\n \"≏̸\": \"≏̸\",\n \"⩃\": \"⩃\",\n \"ň\": \"ň\",\n \"ņ\": \"ņ\",\n \"≇\": \"≇\",\n \"⩭̸\": \"⩭̸\",\n \"⩂\": \"⩂\",\n \"н\": \"н\",\n \"–\": \"–\",\n \"≠\": \"≠\",\n \"⇗\": \"⇗\",\n \"⤤\": \"⤤\",\n \"↗\": \"↗\",\n \"↗\": \"↗\",\n \"≐̸\": \"≐̸\",\n \"≢\": \"≢\",\n \"⤨\": \"⤨\",\n \"≂̸\": \"≂̸\",\n \"∄\": \"∄\",\n \"∄\": \"∄\",\n \"𝔫\": \"𝔫\",\n \"≧̸\": \"≧̸\",\n \"≱\": \"≱\",\n \"≱\": \"≱\",\n \"≧̸\": \"≧̸\",\n \"⩾̸\": \"⩾̸\",\n \"⩾̸\": \"⩾̸\",\n \"≵\": \"≵\",\n \"≯\": \"≯\",\n \"≯\": \"≯\",\n \"⇎\": \"⇎\",\n \"↮\": \"↮\",\n \"⫲\": \"⫲\",\n \"∋\": \"∋\",\n \"⋼\": \"⋼\",\n \"⋺\": \"⋺\",\n \"∋\": \"∋\",\n \"њ\": \"њ\",\n \"⇍\": \"⇍\",\n \"≦̸\": \"≦̸\",\n \"↚\": \"↚\",\n \"‥\": \"‥\",\n \"≰\": \"≰\",\n \"↚\": \"↚\",\n \"↮\": \"↮\",\n \"≰\": \"≰\",\n \"≦̸\": \"≦̸\",\n \"⩽̸\": \"⩽̸\",\n \"⩽̸\": \"⩽̸\",\n \"≮\": \"≮\",\n \"≴\": \"≴\",\n \"≮\": \"≮\",\n \"⋪\": \"⋪\",\n \"⋬\": \"⋬\",\n \"∤\": \"∤\",\n \"𝕟\": \"𝕟\",\n \"¬\": \"¬\",\n \"¬\": \"¬\",\n \"∉\": \"∉\",\n \"⋹̸\": \"⋹̸\",\n \"⋵̸\": \"⋵̸\",\n \"∉\": \"∉\",\n \"⋷\": \"⋷\",\n \"⋶\": \"⋶\",\n \"∌\": \"∌\",\n \"∌\": \"∌\",\n \"⋾\": \"⋾\",\n \"⋽\": \"⋽\",\n \"∦\": \"∦\",\n \"∦\": \"∦\",\n \"⫽⃥\": \"⫽⃥\",\n \"∂̸\": \"∂̸\",\n \"⨔\": \"⨔\",\n \"⊀\": \"⊀\",\n \"⋠\": \"⋠\",\n \"⪯̸\": \"⪯̸\",\n \"⊀\": \"⊀\",\n \"⪯̸\": \"⪯̸\",\n \"⇏\": \"⇏\",\n \"↛\": \"↛\",\n \"⤳̸\": \"⤳̸\",\n \"↝̸\": \"↝̸\",\n \"↛\": \"↛\",\n \"⋫\": \"⋫\",\n \"⋭\": \"⋭\",\n \"⊁\": \"⊁\",\n \"⋡\": \"⋡\",\n \"⪰̸\": \"⪰̸\",\n \"𝓃\": \"𝓃\",\n \"∤\": \"∤\",\n \"∦\": \"∦\",\n \"≁\": \"≁\",\n \"≄\": \"≄\",\n \"≄\": \"≄\",\n \"∤\": \"∤\",\n \"∦\": \"∦\",\n \"⋢\": \"⋢\",\n \"⋣\": \"⋣\",\n \"⊄\": \"⊄\",\n \"⫅̸\": \"⫅̸\",\n \"⊈\": \"⊈\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊈\": \"⊈\",\n \"⫅̸\": \"⫅̸\",\n \"⊁\": \"⊁\",\n \"⪰̸\": \"⪰̸\",\n \"⊅\": \"⊅\",\n \"⫆̸\": \"⫆̸\",\n \"⊉\": \"⊉\",\n \"⊃⃒\": \"⊃⃒\",\n \"⊉\": \"⊉\",\n \"⫆̸\": \"⫆̸\",\n \"≹\": \"≹\",\n \"ñ\": \"ñ\",\n \"ñ\": \"ñ\",\n \"≸\": \"≸\",\n \"⋪\": \"⋪\",\n \"⋬\": \"⋬\",\n \"⋫\": \"⋫\",\n \"⋭\": \"⋭\",\n \"ν\": \"ν\",\n \"#\": \"#\",\n \"№\": \"№\",\n \" \": \" \",\n \"⊭\": \"⊭\",\n \"⤄\": \"⤄\",\n \"≍⃒\": \"≍⃒\",\n \"⊬\": \"⊬\",\n \"≥⃒\": \"≥⃒\",\n \">⃒\": \">⃒\",\n \"⧞\": \"⧞\",\n \"⤂\": \"⤂\",\n \"≤⃒\": \"≤⃒\",\n \"<⃒\": \"<⃒\",\n \"⊴⃒\": \"⊴⃒\",\n \"⤃\": \"⤃\",\n \"⊵⃒\": \"⊵⃒\",\n \"∼⃒\": \"∼⃒\",\n \"⇖\": \"⇖\",\n \"⤣\": \"⤣\",\n \"↖\": \"↖\",\n \"↖\": \"↖\",\n \"⤧\": \"⤧\",\n \"Ⓢ\": \"Ⓢ\",\n \"ó\": \"ó\",\n \"ó\": \"ó\",\n \"⊛\": \"⊛\",\n \"⊚\": \"⊚\",\n \"ô\": \"ô\",\n \"ô\": \"ô\",\n \"о\": \"о\",\n \"⊝\": \"⊝\",\n \"ő\": \"ő\",\n \"⨸\": \"⨸\",\n \"⊙\": \"⊙\",\n \"⦼\": \"⦼\",\n \"œ\": \"œ\",\n \"⦿\": \"⦿\",\n \"𝔬\": \"𝔬\",\n \"˛\": \"˛\",\n \"ò\": \"ò\",\n \"ò\": \"ò\",\n \"⧁\": \"⧁\",\n \"⦵\": \"⦵\",\n \"Ω\": \"Ω\",\n \"∮\": \"∮\",\n \"↺\": \"↺\",\n \"⦾\": \"⦾\",\n \"⦻\": \"⦻\",\n \"‾\": \"‾\",\n \"⧀\": \"⧀\",\n \"ō\": \"ō\",\n \"ω\": \"ω\",\n \"ο\": \"ο\",\n \"⦶\": \"⦶\",\n \"⊖\": \"⊖\",\n \"𝕠\": \"𝕠\",\n \"⦷\": \"⦷\",\n \"⦹\": \"⦹\",\n \"⊕\": \"⊕\",\n \"∨\": \"∨\",\n \"↻\": \"↻\",\n \"⩝\": \"⩝\",\n \"ℴ\": \"ℴ\",\n \"ℴ\": \"ℴ\",\n \"ª\": \"ª\",\n \"ª\": \"ª\",\n \"º\": \"º\",\n \"º\": \"º\",\n \"⊶\": \"⊶\",\n \"⩖\": \"⩖\",\n \"⩗\": \"⩗\",\n \"⩛\": \"⩛\",\n \"ℴ\": \"ℴ\",\n \"ø\": \"ø\",\n \"ø\": \"ø\",\n \"⊘\": \"⊘\",\n \"õ\": \"õ\",\n \"õ\": \"õ\",\n \"⊗\": \"⊗\",\n \"⨶\": \"⨶\",\n \"ö\": \"ö\",\n \"ö\": \"ö\",\n \"⌽\": \"⌽\",\n \"∥\": \"∥\",\n \"¶\": \"¶\",\n \"¶\": \"¶\",\n \"∥\": \"∥\",\n \"⫳\": \"⫳\",\n \"⫽\": \"⫽\",\n \"∂\": \"∂\",\n \"п\": \"п\",\n \"%\": \"%\",\n \".\": \".\",\n \"‰\": \"‰\",\n \"⊥\": \"⊥\",\n \"‱\": \"‱\",\n \"𝔭\": \"𝔭\",\n \"φ\": \"φ\",\n \"ϕ\": \"ϕ\",\n \"ℳ\": \"ℳ\",\n \"☎\": \"☎\",\n \"π\": \"π\",\n \"⋔\": \"⋔\",\n \"ϖ\": \"ϖ\",\n \"ℏ\": \"ℏ\",\n \"ℎ\": \"ℎ\",\n \"ℏ\": \"ℏ\",\n \"+\": \"+\",\n \"⨣\": \"⨣\",\n \"⊞\": \"⊞\",\n \"⨢\": \"⨢\",\n \"∔\": \"∔\",\n \"⨥\": \"⨥\",\n \"⩲\": \"⩲\",\n \"±\": \"±\",\n \"±\": \"±\",\n \"⨦\": \"⨦\",\n \"⨧\": \"⨧\",\n \"±\": \"±\",\n \"⨕\": \"⨕\",\n \"𝕡\": \"𝕡\",\n \"£\": \"£\",\n \"£\": \"£\",\n \"≺\": \"≺\",\n \"⪳\": \"⪳\",\n \"⪷\": \"⪷\",\n \"≼\": \"≼\",\n \"⪯\": \"⪯\",\n \"≺\": \"≺\",\n \"⪷\": \"⪷\",\n \"≼\": \"≼\",\n \"⪯\": \"⪯\",\n \"⪹\": \"⪹\",\n \"⪵\": \"⪵\",\n \"⋨\": \"⋨\",\n \"≾\": \"≾\",\n \"′\": \"′\",\n \"ℙ\": \"ℙ\",\n \"⪵\": \"⪵\",\n \"⪹\": \"⪹\",\n \"⋨\": \"⋨\",\n \"∏\": \"∏\",\n \"⌮\": \"⌮\",\n \"⌒\": \"⌒\",\n \"⌓\": \"⌓\",\n \"∝\": \"∝\",\n \"∝\": \"∝\",\n \"≾\": \"≾\",\n \"⊰\": \"⊰\",\n \"𝓅\": \"𝓅\",\n \"ψ\": \"ψ\",\n \" \": \" \",\n \"𝔮\": \"𝔮\",\n \"⨌\": \"⨌\",\n \"𝕢\": \"𝕢\",\n \"⁗\": \"⁗\",\n \"𝓆\": \"𝓆\",\n \"ℍ\": \"ℍ\",\n \"⨖\": \"⨖\",\n \"?\": \"?\",\n \"≟\": \"≟\",\n \""\": '\"',\n \""\": '\"',\n \"⇛\": \"⇛\",\n \"⇒\": \"⇒\",\n \"⤜\": \"⤜\",\n \"⤏\": \"⤏\",\n \"⥤\": \"⥤\",\n \"∽̱\": \"∽̱\",\n \"ŕ\": \"ŕ\",\n \"√\": \"√\",\n \"⦳\": \"⦳\",\n \"⟩\": \"⟩\",\n \"⦒\": \"⦒\",\n \"⦥\": \"⦥\",\n \"⟩\": \"⟩\",\n \"»\": \"»\",\n \"»\": \"»\",\n \"→\": \"→\",\n \"⥵\": \"⥵\",\n \"⇥\": \"⇥\",\n \"⤠\": \"⤠\",\n \"⤳\": \"⤳\",\n \"⤞\": \"⤞\",\n \"↪\": \"↪\",\n \"↬\": \"↬\",\n \"⥅\": \"⥅\",\n \"⥴\": \"⥴\",\n \"↣\": \"↣\",\n \"↝\": \"↝\",\n \"⤚\": \"⤚\",\n \"∶\": \"∶\",\n \"ℚ\": \"ℚ\",\n \"⤍\": \"⤍\",\n \"❳\": \"❳\",\n \"}\": \"}\",\n \"]\": \"]\",\n \"⦌\": \"⦌\",\n \"⦎\": \"⦎\",\n \"⦐\": \"⦐\",\n \"ř\": \"ř\",\n \"ŗ\": \"ŗ\",\n \"⌉\": \"⌉\",\n \"}\": \"}\",\n \"р\": \"р\",\n \"⤷\": \"⤷\",\n \"⥩\": \"⥩\",\n \"”\": \"”\",\n \"”\": \"”\",\n \"↳\": \"↳\",\n \"ℜ\": \"ℜ\",\n \"ℛ\": \"ℛ\",\n \"ℜ\": \"ℜ\",\n \"ℝ\": \"ℝ\",\n \"▭\": \"▭\",\n \"®\": \"®\",\n \"®\": \"®\",\n \"⥽\": \"⥽\",\n \"⌋\": \"⌋\",\n \"𝔯\": \"𝔯\",\n \"⇁\": \"⇁\",\n \"⇀\": \"⇀\",\n \"⥬\": \"⥬\",\n \"ρ\": \"ρ\",\n \"ϱ\": \"ϱ\",\n \"→\": \"→\",\n \"↣\": \"↣\",\n \"⇁\": \"⇁\",\n \"⇀\": \"⇀\",\n \"⇄\": \"⇄\",\n \"⇌\": \"⇌\",\n \"⇉\": \"⇉\",\n \"↝\": \"↝\",\n \"⋌\": \"⋌\",\n \"˚\": \"˚\",\n \"≓\": \"≓\",\n \"⇄\": \"⇄\",\n \"⇌\": \"⇌\",\n \"‏\": \"‏\",\n \"⎱\": \"⎱\",\n \"⎱\": \"⎱\",\n \"⫮\": \"⫮\",\n \"⟭\": \"⟭\",\n \"⇾\": \"⇾\",\n \"⟧\": \"⟧\",\n \"⦆\": \"⦆\",\n \"𝕣\": \"𝕣\",\n \"⨮\": \"⨮\",\n \"⨵\": \"⨵\",\n \")\": \")\",\n \"⦔\": \"⦔\",\n \"⨒\": \"⨒\",\n \"⇉\": \"⇉\",\n \"›\": \"›\",\n \"𝓇\": \"𝓇\",\n \"↱\": \"↱\",\n \"]\": \"]\",\n \"’\": \"’\",\n \"’\": \"’\",\n \"⋌\": \"⋌\",\n \"⋊\": \"⋊\",\n \"▹\": \"▹\",\n \"⊵\": \"⊵\",\n \"▸\": \"▸\",\n \"⧎\": \"⧎\",\n \"⥨\": \"⥨\",\n \"℞\": \"℞\",\n \"ś\": \"ś\",\n \"‚\": \"‚\",\n \"≻\": \"≻\",\n \"⪴\": \"⪴\",\n \"⪸\": \"⪸\",\n \"š\": \"š\",\n \"≽\": \"≽\",\n \"⪰\": \"⪰\",\n \"ş\": \"ş\",\n \"ŝ\": \"ŝ\",\n \"⪶\": \"⪶\",\n \"⪺\": \"⪺\",\n \"⋩\": \"⋩\",\n \"⨓\": \"⨓\",\n \"≿\": \"≿\",\n \"с\": \"с\",\n \"⋅\": \"⋅\",\n \"⊡\": \"⊡\",\n \"⩦\": \"⩦\",\n \"⇘\": \"⇘\",\n \"⤥\": \"⤥\",\n \"↘\": \"↘\",\n \"↘\": \"↘\",\n \"§\": \"§\",\n \"§\": \"§\",\n \";\": \";\",\n \"⤩\": \"⤩\",\n \"∖\": \"∖\",\n \"∖\": \"∖\",\n \"✶\": \"✶\",\n \"𝔰\": \"𝔰\",\n \"⌢\": \"⌢\",\n \"♯\": \"♯\",\n \"щ\": \"щ\",\n \"ш\": \"ш\",\n \"∣\": \"∣\",\n \"∥\": \"∥\",\n \"­\": \"­\",\n \"­\": \"­\",\n \"σ\": \"σ\",\n \"ς\": \"ς\",\n \"ς\": \"ς\",\n \"∼\": \"∼\",\n \"⩪\": \"⩪\",\n \"≃\": \"≃\",\n \"≃\": \"≃\",\n \"⪞\": \"⪞\",\n \"⪠\": \"⪠\",\n \"⪝\": \"⪝\",\n \"⪟\": \"⪟\",\n \"≆\": \"≆\",\n \"⨤\": \"⨤\",\n \"⥲\": \"⥲\",\n \"←\": \"←\",\n \"∖\": \"∖\",\n \"⨳\": \"⨳\",\n \"⧤\": \"⧤\",\n \"∣\": \"∣\",\n \"⌣\": \"⌣\",\n \"⪪\": \"⪪\",\n \"⪬\": \"⪬\",\n \"⪬︀\": \"⪬︀\",\n \"ь\": \"ь\",\n \"/\": \"/\",\n \"⧄\": \"⧄\",\n \"⌿\": \"⌿\",\n \"𝕤\": \"𝕤\",\n \"♠\": \"♠\",\n \"♠\": \"♠\",\n \"∥\": \"∥\",\n \"⊓\": \"⊓\",\n \"⊓︀\": \"⊓︀\",\n \"⊔\": \"⊔\",\n \"⊔︀\": \"⊔︀\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"□\": \"□\",\n \"□\": \"□\",\n \"▪\": \"▪\",\n \"▪\": \"▪\",\n \"→\": \"→\",\n \"𝓈\": \"𝓈\",\n \"∖\": \"∖\",\n \"⌣\": \"⌣\",\n \"⋆\": \"⋆\",\n \"☆\": \"☆\",\n \"★\": \"★\",\n \"ϵ\": \"ϵ\",\n \"ϕ\": \"ϕ\",\n \"¯\": \"¯\",\n \"⊂\": \"⊂\",\n \"⫅\": \"⫅\",\n \"⪽\": \"⪽\",\n \"⊆\": \"⊆\",\n \"⫃\": \"⫃\",\n \"⫁\": \"⫁\",\n \"⫋\": \"⫋\",\n \"⊊\": \"⊊\",\n \"⪿\": \"⪿\",\n \"⥹\": \"⥹\",\n \"⊂\": \"⊂\",\n \"⊆\": \"⊆\",\n \"⫅\": \"⫅\",\n \"⊊\": \"⊊\",\n \"⫋\": \"⫋\",\n \"⫇\": \"⫇\",\n \"⫕\": \"⫕\",\n \"⫓\": \"⫓\",\n \"≻\": \"≻\",\n \"⪸\": \"⪸\",\n \"≽\": \"≽\",\n \"⪰\": \"⪰\",\n \"⪺\": \"⪺\",\n \"⪶\": \"⪶\",\n \"⋩\": \"⋩\",\n \"≿\": \"≿\",\n \"∑\": \"∑\",\n \"♪\": \"♪\",\n \"¹\": \"¹\",\n \"¹\": \"¹\",\n \"²\": \"²\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"³\": \"³\",\n \"⊃\": \"⊃\",\n \"⫆\": \"⫆\",\n \"⪾\": \"⪾\",\n \"⫘\": \"⫘\",\n \"⊇\": \"⊇\",\n \"⫄\": \"⫄\",\n \"⟉\": \"⟉\",\n \"⫗\": \"⫗\",\n \"⥻\": \"⥻\",\n \"⫂\": \"⫂\",\n \"⫌\": \"⫌\",\n \"⊋\": \"⊋\",\n \"⫀\": \"⫀\",\n \"⊃\": \"⊃\",\n \"⊇\": \"⊇\",\n \"⫆\": \"⫆\",\n \"⊋\": \"⊋\",\n \"⫌\": \"⫌\",\n \"⫈\": \"⫈\",\n \"⫔\": \"⫔\",\n \"⫖\": \"⫖\",\n \"⇙\": \"⇙\",\n \"⤦\": \"⤦\",\n \"↙\": \"↙\",\n \"↙\": \"↙\",\n \"⤪\": \"⤪\",\n \"ß\": \"ß\",\n \"ß\": \"ß\",\n \"⌖\": \"⌖\",\n \"τ\": \"τ\",\n \"⎴\": \"⎴\",\n \"ť\": \"ť\",\n \"ţ\": \"ţ\",\n \"т\": \"т\",\n \"⃛\": \"⃛\",\n \"⌕\": \"⌕\",\n \"𝔱\": \"𝔱\",\n \"∴\": \"∴\",\n \"∴\": \"∴\",\n \"θ\": \"θ\",\n \"ϑ\": \"ϑ\",\n \"ϑ\": \"ϑ\",\n \"≈\": \"≈\",\n \"∼\": \"∼\",\n \" \": \" \",\n \"≈\": \"≈\",\n \"∼\": \"∼\",\n \"þ\": \"þ\",\n \"þ\": \"þ\",\n \"˜\": \"˜\",\n \"×\": \"×\",\n \"×\": \"×\",\n \"⊠\": \"⊠\",\n \"⨱\": \"⨱\",\n \"⨰\": \"⨰\",\n \"∭\": \"∭\",\n \"⤨\": \"⤨\",\n \"⊤\": \"⊤\",\n \"⌶\": \"⌶\",\n \"⫱\": \"⫱\",\n \"𝕥\": \"𝕥\",\n \"⫚\": \"⫚\",\n \"⤩\": \"⤩\",\n \"‴\": \"‴\",\n \"™\": \"™\",\n \"▵\": \"▵\",\n \"▿\": \"▿\",\n \"◃\": \"◃\",\n \"⊴\": \"⊴\",\n \"≜\": \"≜\",\n \"▹\": \"▹\",\n \"⊵\": \"⊵\",\n \"◬\": \"◬\",\n \"≜\": \"≜\",\n \"⨺\": \"⨺\",\n \"⨹\": \"⨹\",\n \"⧍\": \"⧍\",\n \"⨻\": \"⨻\",\n \"⏢\": \"⏢\",\n \"𝓉\": \"𝓉\",\n \"ц\": \"ц\",\n \"ћ\": \"ћ\",\n \"ŧ\": \"ŧ\",\n \"≬\": \"≬\",\n \"↞\": \"↞\",\n \"↠\": \"↠\",\n \"⇑\": \"⇑\",\n \"⥣\": \"⥣\",\n \"ú\": \"ú\",\n \"ú\": \"ú\",\n \"↑\": \"↑\",\n \"ў\": \"ў\",\n \"ŭ\": \"ŭ\",\n \"û\": \"û\",\n \"û\": \"û\",\n \"у\": \"у\",\n \"⇅\": \"⇅\",\n \"ű\": \"ű\",\n \"⥮\": \"⥮\",\n \"⥾\": \"⥾\",\n \"𝔲\": \"𝔲\",\n \"ù\": \"ù\",\n \"ù\": \"ù\",\n \"↿\": \"↿\",\n \"↾\": \"↾\",\n \"▀\": \"▀\",\n \"⌜\": \"⌜\",\n \"⌜\": \"⌜\",\n \"⌏\": \"⌏\",\n \"◸\": \"◸\",\n \"ū\": \"ū\",\n \"¨\": \"¨\",\n \"¨\": \"¨\",\n \"ų\": \"ų\",\n \"𝕦\": \"𝕦\",\n \"↑\": \"↑\",\n \"↕\": \"↕\",\n \"↿\": \"↿\",\n \"↾\": \"↾\",\n \"⊎\": \"⊎\",\n \"υ\": \"υ\",\n \"ϒ\": \"ϒ\",\n \"υ\": \"υ\",\n \"⇈\": \"⇈\",\n \"⌝\": \"⌝\",\n \"⌝\": \"⌝\",\n \"⌎\": \"⌎\",\n \"ů\": \"ů\",\n \"◹\": \"◹\",\n \"𝓊\": \"𝓊\",\n \"⋰\": \"⋰\",\n \"ũ\": \"ũ\",\n \"▵\": \"▵\",\n \"▴\": \"▴\",\n \"⇈\": \"⇈\",\n \"ü\": \"ü\",\n \"ü\": \"ü\",\n \"⦧\": \"⦧\",\n \"⇕\": \"⇕\",\n \"⫨\": \"⫨\",\n \"⫩\": \"⫩\",\n \"⊨\": \"⊨\",\n \"⦜\": \"⦜\",\n \"ϵ\": \"ϵ\",\n \"ϰ\": \"ϰ\",\n \"∅\": \"∅\",\n \"ϕ\": \"ϕ\",\n \"ϖ\": \"ϖ\",\n \"∝\": \"∝\",\n \"↕\": \"↕\",\n \"ϱ\": \"ϱ\",\n \"ς\": \"ς\",\n \"⊊︀\": \"⊊︀\",\n \"⫋︀\": \"⫋︀\",\n \"⊋︀\": \"⊋︀\",\n \"⫌︀\": \"⫌︀\",\n \"ϑ\": \"ϑ\",\n \"⊲\": \"⊲\",\n \"⊳\": \"⊳\",\n \"в\": \"в\",\n \"⊢\": \"⊢\",\n \"∨\": \"∨\",\n \"⊻\": \"⊻\",\n \"≚\": \"≚\",\n \"⋮\": \"⋮\",\n \"|\": \"|\",\n \"|\": \"|\",\n \"𝔳\": \"𝔳\",\n \"⊲\": \"⊲\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊃⃒\": \"⊃⃒\",\n \"𝕧\": \"𝕧\",\n \"∝\": \"∝\",\n \"⊳\": \"⊳\",\n \"𝓋\": \"𝓋\",\n \"⫋︀\": \"⫋︀\",\n \"⊊︀\": \"⊊︀\",\n \"⫌︀\": \"⫌︀\",\n \"⊋︀\": \"⊋︀\",\n \"⦚\": \"⦚\",\n \"ŵ\": \"ŵ\",\n \"⩟\": \"⩟\",\n \"∧\": \"∧\",\n \"≙\": \"≙\",\n \"℘\": \"℘\",\n \"𝔴\": \"𝔴\",\n \"𝕨\": \"𝕨\",\n \"℘\": \"℘\",\n \"≀\": \"≀\",\n \"≀\": \"≀\",\n \"𝓌\": \"𝓌\",\n \"⋂\": \"⋂\",\n \"◯\": \"◯\",\n \"⋃\": \"⋃\",\n \"▽\": \"▽\",\n \"𝔵\": \"𝔵\",\n \"⟺\": \"⟺\",\n \"⟷\": \"⟷\",\n \"ξ\": \"ξ\",\n \"⟸\": \"⟸\",\n \"⟵\": \"⟵\",\n \"⟼\": \"⟼\",\n \"⋻\": \"⋻\",\n \"⨀\": \"⨀\",\n \"𝕩\": \"𝕩\",\n \"⨁\": \"⨁\",\n \"⨂\": \"⨂\",\n \"⟹\": \"⟹\",\n \"⟶\": \"⟶\",\n \"𝓍\": \"𝓍\",\n \"⨆\": \"⨆\",\n \"⨄\": \"⨄\",\n \"△\": \"△\",\n \"⋁\": \"⋁\",\n \"⋀\": \"⋀\",\n \"ý\": \"ý\",\n \"ý\": \"ý\",\n \"я\": \"я\",\n \"ŷ\": \"ŷ\",\n \"ы\": \"ы\",\n \"¥\": \"¥\",\n \"¥\": \"¥\",\n \"𝔶\": \"𝔶\",\n \"ї\": \"ї\",\n \"𝕪\": \"𝕪\",\n \"𝓎\": \"𝓎\",\n \"ю\": \"ю\",\n \"ÿ\": \"ÿ\",\n \"ÿ\": \"ÿ\",\n \"ź\": \"ź\",\n \"ž\": \"ž\",\n \"з\": \"з\",\n \"ż\": \"ż\",\n \"ℨ\": \"ℨ\",\n \"ζ\": \"ζ\",\n \"𝔷\": \"𝔷\",\n \"ж\": \"ж\",\n \"⇝\": \"⇝\",\n \"𝕫\": \"𝕫\",\n \"𝓏\": \"𝓏\",\n \"‍\": \"‍\",\n \"‌\": \"‌\"\n },\n characters: {\n \"Æ\": \"Æ\",\n \"&\": \"&\",\n \"Á\": \"Á\",\n \"Ă\": \"Ă\",\n \"Â\": \"Â\",\n \"А\": \"А\",\n \"𝔄\": \"𝔄\",\n \"À\": \"À\",\n \"Α\": \"Α\",\n \"Ā\": \"Ā\",\n \"⩓\": \"⩓\",\n \"Ą\": \"Ą\",\n \"𝔸\": \"𝔸\",\n \"⁡\": \"⁡\",\n \"Å\": \"Å\",\n \"𝒜\": \"𝒜\",\n \"≔\": \"≔\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"∖\": \"∖\",\n \"⫧\": \"⫧\",\n \"⌆\": \"⌆\",\n \"Б\": \"Б\",\n \"∵\": \"∵\",\n \"ℬ\": \"ℬ\",\n \"Β\": \"Β\",\n \"𝔅\": \"𝔅\",\n \"𝔹\": \"𝔹\",\n \"˘\": \"˘\",\n \"≎\": \"≎\",\n \"Ч\": \"Ч\",\n \"©\": \"©\",\n \"Ć\": \"Ć\",\n \"⋒\": \"⋒\",\n \"ⅅ\": \"ⅅ\",\n \"ℭ\": \"ℭ\",\n \"Č\": \"Č\",\n \"Ç\": \"Ç\",\n \"Ĉ\": \"Ĉ\",\n \"∰\": \"∰\",\n \"Ċ\": \"Ċ\",\n \"¸\": \"¸\",\n \"·\": \"·\",\n \"Χ\": \"Χ\",\n \"⊙\": \"⊙\",\n \"⊖\": \"⊖\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"∲\": \"∲\",\n \"”\": \"”\",\n \"’\": \"’\",\n \"∷\": \"∷\",\n \"⩴\": \"⩴\",\n \"≡\": \"≡\",\n \"∯\": \"∯\",\n \"∮\": \"∮\",\n \"ℂ\": \"ℂ\",\n \"∐\": \"∐\",\n \"∳\": \"∳\",\n \"⨯\": \"⨯\",\n \"𝒞\": \"𝒞\",\n \"⋓\": \"⋓\",\n \"≍\": \"≍\",\n \"⤑\": \"⤑\",\n \"Ђ\": \"Ђ\",\n \"Ѕ\": \"Ѕ\",\n \"Џ\": \"Џ\",\n \"‡\": \"‡\",\n \"↡\": \"↡\",\n \"⫤\": \"⫤\",\n \"Ď\": \"Ď\",\n \"Д\": \"Д\",\n \"∇\": \"∇\",\n \"Δ\": \"Δ\",\n \"𝔇\": \"𝔇\",\n \"´\": \"´\",\n \"˙\": \"˙\",\n \"˝\": \"˝\",\n \"`\": \"`\",\n \"˜\": \"˜\",\n \"⋄\": \"⋄\",\n \"ⅆ\": \"ⅆ\",\n \"𝔻\": \"𝔻\",\n \"¨\": \"¨\",\n \"⃜\": \"⃜\",\n \"≐\": \"≐\",\n \"⇓\": \"⇓\",\n \"⇐\": \"⇐\",\n \"⇔\": \"⇔\",\n \"⟸\": \"⟸\",\n \"⟺\": \"⟺\",\n \"⟹\": \"⟹\",\n \"⇒\": \"⇒\",\n \"⊨\": \"⊨\",\n \"⇑\": \"⇑\",\n \"⇕\": \"⇕\",\n \"∥\": \"∥\",\n \"↓\": \"↓\",\n \"⤓\": \"⤓\",\n \"⇵\": \"⇵\",\n \"̑\": \"̑\",\n \"⥐\": \"⥐\",\n \"⥞\": \"⥞\",\n \"↽\": \"↽\",\n \"⥖\": \"⥖\",\n \"⥟\": \"⥟\",\n \"⇁\": \"⇁\",\n \"⥗\": \"⥗\",\n \"⊤\": \"⊤\",\n \"↧\": \"↧\",\n \"𝒟\": \"𝒟\",\n \"Đ\": \"Đ\",\n \"Ŋ\": \"Ŋ\",\n \"Ð\": \"Ð\",\n \"É\": \"É\",\n \"Ě\": \"Ě\",\n \"Ê\": \"Ê\",\n \"Э\": \"Э\",\n \"Ė\": \"Ė\",\n \"𝔈\": \"𝔈\",\n \"È\": \"È\",\n \"∈\": \"∈\",\n \"Ē\": \"Ē\",\n \"◻\": \"◻\",\n \"▫\": \"▫\",\n \"Ę\": \"Ę\",\n \"𝔼\": \"𝔼\",\n \"Ε\": \"Ε\",\n \"⩵\": \"⩵\",\n \"≂\": \"≂\",\n \"⇌\": \"⇌\",\n \"ℰ\": \"ℰ\",\n \"⩳\": \"⩳\",\n \"Η\": \"Η\",\n \"Ë\": \"Ë\",\n \"∃\": \"∃\",\n \"ⅇ\": \"ⅇ\",\n \"Ф\": \"Ф\",\n \"𝔉\": \"𝔉\",\n \"◼\": \"◼\",\n \"▪\": \"▪\",\n \"𝔽\": \"𝔽\",\n \"∀\": \"∀\",\n \"ℱ\": \"ℱ\",\n \"Ѓ\": \"Ѓ\",\n \">\": \">\",\n \"Γ\": \"Γ\",\n \"Ϝ\": \"Ϝ\",\n \"Ğ\": \"Ğ\",\n \"Ģ\": \"Ģ\",\n \"Ĝ\": \"Ĝ\",\n \"Г\": \"Г\",\n \"Ġ\": \"Ġ\",\n \"𝔊\": \"𝔊\",\n \"⋙\": \"⋙\",\n \"𝔾\": \"𝔾\",\n \"≥\": \"≥\",\n \"⋛\": \"⋛\",\n \"≧\": \"≧\",\n \"⪢\": \"⪢\",\n \"≷\": \"≷\",\n \"⩾\": \"⩾\",\n \"≳\": \"≳\",\n \"𝒢\": \"𝒢\",\n \"≫\": \"≫\",\n \"Ъ\": \"Ъ\",\n \"ˇ\": \"ˇ\",\n \"^\": \"^\",\n \"Ĥ\": \"Ĥ\",\n \"ℌ\": \"ℌ\",\n \"ℋ\": \"ℋ\",\n \"ℍ\": \"ℍ\",\n \"─\": \"─\",\n \"Ħ\": \"Ħ\",\n \"≏\": \"≏\",\n \"Е\": \"Е\",\n \"IJ\": \"IJ\",\n \"Ё\": \"Ё\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"И\": \"И\",\n \"İ\": \"İ\",\n \"ℑ\": \"ℑ\",\n \"Ì\": \"Ì\",\n \"Ī\": \"Ī\",\n \"ⅈ\": \"ⅈ\",\n \"∬\": \"∬\",\n \"∫\": \"∫\",\n \"⋂\": \"⋂\",\n \"⁣\": \"⁣\",\n \"⁢\": \"⁢\",\n \"Į\": \"Į\",\n \"𝕀\": \"𝕀\",\n \"Ι\": \"Ι\",\n \"ℐ\": \"ℐ\",\n \"Ĩ\": \"Ĩ\",\n \"І\": \"І\",\n \"Ï\": \"Ï\",\n \"Ĵ\": \"Ĵ\",\n \"Й\": \"Й\",\n \"𝔍\": \"𝔍\",\n \"𝕁\": \"𝕁\",\n \"𝒥\": \"𝒥\",\n \"Ј\": \"Ј\",\n \"Є\": \"Є\",\n \"Х\": \"Х\",\n \"Ќ\": \"Ќ\",\n \"Κ\": \"Κ\",\n \"Ķ\": \"Ķ\",\n \"К\": \"К\",\n \"𝔎\": \"𝔎\",\n \"𝕂\": \"𝕂\",\n \"𝒦\": \"𝒦\",\n \"Љ\": \"Љ\",\n \"<\": \"<\",\n \"Ĺ\": \"Ĺ\",\n \"Λ\": \"Λ\",\n \"⟪\": \"⟪\",\n \"ℒ\": \"ℒ\",\n \"↞\": \"↞\",\n \"Ľ\": \"Ľ\",\n \"Ļ\": \"Ļ\",\n \"Л\": \"Л\",\n \"⟨\": \"⟨\",\n \"←\": \"←\",\n \"⇤\": \"⇤\",\n \"⇆\": \"⇆\",\n \"⌈\": \"⌈\",\n \"⟦\": \"⟦\",\n \"⥡\": \"⥡\",\n \"⇃\": \"⇃\",\n \"⥙\": \"⥙\",\n \"⌊\": \"⌊\",\n \"↔\": \"↔\",\n \"⥎\": \"⥎\",\n \"⊣\": \"⊣\",\n \"↤\": \"↤\",\n \"⥚\": \"⥚\",\n \"⊲\": \"⊲\",\n \"⧏\": \"⧏\",\n \"⊴\": \"⊴\",\n \"⥑\": \"⥑\",\n \"⥠\": \"⥠\",\n \"↿\": \"↿\",\n \"⥘\": \"⥘\",\n \"↼\": \"↼\",\n \"⥒\": \"⥒\",\n \"⋚\": \"⋚\",\n \"≦\": \"≦\",\n \"≶\": \"≶\",\n \"⪡\": \"⪡\",\n \"⩽\": \"⩽\",\n \"≲\": \"≲\",\n \"𝔏\": \"𝔏\",\n \"⋘\": \"⋘\",\n \"⇚\": \"⇚\",\n \"Ŀ\": \"Ŀ\",\n \"⟵\": \"⟵\",\n \"⟷\": \"⟷\",\n \"⟶\": \"⟶\",\n \"𝕃\": \"𝕃\",\n \"↙\": \"↙\",\n \"↘\": \"↘\",\n \"↰\": \"↰\",\n \"Ł\": \"Ł\",\n \"≪\": \"≪\",\n \"⤅\": \"⤅\",\n \"М\": \"М\",\n \" \": \" \",\n \"ℳ\": \"ℳ\",\n \"𝔐\": \"𝔐\",\n \"∓\": \"∓\",\n \"𝕄\": \"𝕄\",\n \"Μ\": \"Μ\",\n \"Њ\": \"Њ\",\n \"Ń\": \"Ń\",\n \"Ň\": \"Ň\",\n \"Ņ\": \"Ņ\",\n \"Н\": \"Н\",\n \"​\": \"​\",\n \"\\n\": \" \",\n \"𝔑\": \"𝔑\",\n \"⁠\": \"⁠\",\n \" \": \" \",\n \"ℕ\": \"ℕ\",\n \"⫬\": \"⫬\",\n \"≢\": \"≢\",\n \"≭\": \"≭\",\n \"∦\": \"∦\",\n \"∉\": \"∉\",\n \"≠\": \"≠\",\n \"≂̸\": \"≂̸\",\n \"∄\": \"∄\",\n \"≯\": \"≯\",\n \"≱\": \"≱\",\n \"≧̸\": \"≧̸\",\n \"≫̸\": \"≫̸\",\n \"≹\": \"≹\",\n \"⩾̸\": \"⩾̸\",\n \"≵\": \"≵\",\n \"≎̸\": \"≎̸\",\n \"≏̸\": \"≏̸\",\n \"⋪\": \"⋪\",\n \"⧏̸\": \"⧏̸\",\n \"⋬\": \"⋬\",\n \"≮\": \"≮\",\n \"≰\": \"≰\",\n \"≸\": \"≸\",\n \"≪̸\": \"≪̸\",\n \"⩽̸\": \"⩽̸\",\n \"≴\": \"≴\",\n \"⪢̸\": \"⪢̸\",\n \"⪡̸\": \"⪡̸\",\n \"⊀\": \"⊀\",\n \"⪯̸\": \"⪯̸\",\n \"⋠\": \"⋠\",\n \"∌\": \"∌\",\n \"⋫\": \"⋫\",\n \"⧐̸\": \"⧐̸\",\n \"⋭\": \"⋭\",\n \"⊏̸\": \"⊏̸\",\n \"⋢\": \"⋢\",\n \"⊐̸\": \"⊐̸\",\n \"⋣\": \"⋣\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊈\": \"⊈\",\n \"⊁\": \"⊁\",\n \"⪰̸\": \"⪰̸\",\n \"⋡\": \"⋡\",\n \"≿̸\": \"≿̸\",\n \"⊃⃒\": \"⊃⃒\",\n \"⊉\": \"⊉\",\n \"≁\": \"≁\",\n \"≄\": \"≄\",\n \"≇\": \"≇\",\n \"≉\": \"≉\",\n \"∤\": \"∤\",\n \"𝒩\": \"𝒩\",\n \"Ñ\": \"Ñ\",\n \"Ν\": \"Ν\",\n \"Œ\": \"Œ\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"О\": \"О\",\n \"Ő\": \"Ő\",\n \"𝔒\": \"𝔒\",\n \"Ò\": \"Ò\",\n \"Ō\": \"Ō\",\n \"Ω\": \"Ω\",\n \"Ο\": \"Ο\",\n \"𝕆\": \"𝕆\",\n \"“\": \"“\",\n \"‘\": \"‘\",\n \"⩔\": \"⩔\",\n \"𝒪\": \"𝒪\",\n \"Ø\": \"Ø\",\n \"Õ\": \"Õ\",\n \"⨷\": \"⨷\",\n \"Ö\": \"Ö\",\n \"‾\": \"‾\",\n \"⏞\": \"⏞\",\n \"⎴\": \"⎴\",\n \"⏜\": \"⏜\",\n \"∂\": \"∂\",\n \"П\": \"П\",\n \"𝔓\": \"𝔓\",\n \"Φ\": \"Φ\",\n \"Π\": \"Π\",\n \"±\": \"±\",\n \"ℙ\": \"ℙ\",\n \"⪻\": \"⪻\",\n \"≺\": \"≺\",\n \"⪯\": \"⪯\",\n \"≼\": \"≼\",\n \"≾\": \"≾\",\n \"″\": \"″\",\n \"∏\": \"∏\",\n \"∝\": \"∝\",\n \"𝒫\": \"𝒫\",\n \"Ψ\": \"Ψ\",\n '\"': \""\",\n \"𝔔\": \"𝔔\",\n \"ℚ\": \"ℚ\",\n \"𝒬\": \"𝒬\",\n \"⤐\": \"⤐\",\n \"®\": \"®\",\n \"Ŕ\": \"Ŕ\",\n \"⟫\": \"⟫\",\n \"↠\": \"↠\",\n \"⤖\": \"⤖\",\n \"Ř\": \"Ř\",\n \"Ŗ\": \"Ŗ\",\n \"Р\": \"Р\",\n \"ℜ\": \"ℜ\",\n \"∋\": \"∋\",\n \"⇋\": \"⇋\",\n \"⥯\": \"⥯\",\n \"Ρ\": \"Ρ\",\n \"⟩\": \"⟩\",\n \"→\": \"→\",\n \"⇥\": \"⇥\",\n \"⇄\": \"⇄\",\n \"⌉\": \"⌉\",\n \"⟧\": \"⟧\",\n \"⥝\": \"⥝\",\n \"⇂\": \"⇂\",\n \"⥕\": \"⥕\",\n \"⌋\": \"⌋\",\n \"⊢\": \"⊢\",\n \"↦\": \"↦\",\n \"⥛\": \"⥛\",\n \"⊳\": \"⊳\",\n \"⧐\": \"⧐\",\n \"⊵\": \"⊵\",\n \"⥏\": \"⥏\",\n \"⥜\": \"⥜\",\n \"↾\": \"↾\",\n \"⥔\": \"⥔\",\n \"⇀\": \"⇀\",\n \"⥓\": \"⥓\",\n \"ℝ\": \"ℝ\",\n \"⥰\": \"⥰\",\n \"⇛\": \"⇛\",\n \"ℛ\": \"ℛ\",\n \"↱\": \"↱\",\n \"⧴\": \"⧴\",\n \"Щ\": \"Щ\",\n \"Ш\": \"Ш\",\n \"Ь\": \"Ь\",\n \"Ś\": \"Ś\",\n \"⪼\": \"⪼\",\n \"Š\": \"Š\",\n \"Ş\": \"Ş\",\n \"Ŝ\": \"Ŝ\",\n \"С\": \"С\",\n \"𝔖\": \"𝔖\",\n \"↑\": \"↑\",\n \"Σ\": \"Σ\",\n \"∘\": \"∘\",\n \"𝕊\": \"𝕊\",\n \"√\": \"√\",\n \"□\": \"□\",\n \"⊓\": \"⊓\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"⊔\": \"⊔\",\n \"𝒮\": \"𝒮\",\n \"⋆\": \"⋆\",\n \"⋐\": \"⋐\",\n \"⊆\": \"⊆\",\n \"≻\": \"≻\",\n \"⪰\": \"⪰\",\n \"≽\": \"≽\",\n \"≿\": \"≿\",\n \"∑\": \"∑\",\n \"⋑\": \"⋑\",\n \"⊃\": \"⊃\",\n \"⊇\": \"⊇\",\n \"Þ\": \"Þ\",\n \"™\": \"™\",\n \"Ћ\": \"Ћ\",\n \"Ц\": \"Ц\",\n \"\\t\": \" \",\n \"Τ\": \"Τ\",\n \"Ť\": \"Ť\",\n \"Ţ\": \"Ţ\",\n \"Т\": \"Т\",\n \"𝔗\": \"𝔗\",\n \"∴\": \"∴\",\n \"Θ\": \"Θ\",\n \"  \": \"  \",\n \" \": \" \",\n \"∼\": \"∼\",\n \"≃\": \"≃\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"𝕋\": \"𝕋\",\n \"⃛\": \"⃛\",\n \"𝒯\": \"𝒯\",\n \"Ŧ\": \"Ŧ\",\n \"Ú\": \"Ú\",\n \"↟\": \"↟\",\n \"⥉\": \"⥉\",\n \"Ў\": \"Ў\",\n \"Ŭ\": \"Ŭ\",\n \"Û\": \"Û\",\n \"У\": \"У\",\n \"Ű\": \"Ű\",\n \"𝔘\": \"𝔘\",\n \"Ù\": \"Ù\",\n \"Ū\": \"Ū\",\n _: \"_\",\n \"⏟\": \"⏟\",\n \"⎵\": \"⎵\",\n \"⏝\": \"⏝\",\n \"⋃\": \"⋃\",\n \"⊎\": \"⊎\",\n \"Ų\": \"Ų\",\n \"𝕌\": \"𝕌\",\n \"⤒\": \"⤒\",\n \"⇅\": \"⇅\",\n \"↕\": \"↕\",\n \"⥮\": \"⥮\",\n \"⊥\": \"⊥\",\n \"↥\": \"↥\",\n \"↖\": \"↖\",\n \"↗\": \"↗\",\n \"ϒ\": \"ϒ\",\n \"Υ\": \"Υ\",\n \"Ů\": \"Ů\",\n \"𝒰\": \"𝒰\",\n \"Ũ\": \"Ũ\",\n \"Ü\": \"Ü\",\n \"⊫\": \"⊫\",\n \"⫫\": \"⫫\",\n \"В\": \"В\",\n \"⊩\": \"⊩\",\n \"⫦\": \"⫦\",\n \"⋁\": \"⋁\",\n \"‖\": \"‖\",\n \"∣\": \"∣\",\n \"|\": \"|\",\n \"❘\": \"❘\",\n \"≀\": \"≀\",\n \" \": \" \",\n \"𝔙\": \"𝔙\",\n \"𝕍\": \"𝕍\",\n \"𝒱\": \"𝒱\",\n \"⊪\": \"⊪\",\n \"Ŵ\": \"Ŵ\",\n \"⋀\": \"⋀\",\n \"𝔚\": \"𝔚\",\n \"𝕎\": \"𝕎\",\n \"𝒲\": \"𝒲\",\n \"𝔛\": \"𝔛\",\n \"Ξ\": \"Ξ\",\n \"𝕏\": \"𝕏\",\n \"𝒳\": \"𝒳\",\n \"Я\": \"Я\",\n \"Ї\": \"Ї\",\n \"Ю\": \"Ю\",\n \"Ý\": \"Ý\",\n \"Ŷ\": \"Ŷ\",\n \"Ы\": \"Ы\",\n \"𝔜\": \"𝔜\",\n \"𝕐\": \"𝕐\",\n \"𝒴\": \"𝒴\",\n \"Ÿ\": \"Ÿ\",\n \"Ж\": \"Ж\",\n \"Ź\": \"Ź\",\n \"Ž\": \"Ž\",\n \"З\": \"З\",\n \"Ż\": \"Ż\",\n \"Ζ\": \"Ζ\",\n \"ℨ\": \"ℨ\",\n \"ℤ\": \"ℤ\",\n \"𝒵\": \"𝒵\",\n \"á\": \"á\",\n \"ă\": \"ă\",\n \"∾\": \"∾\",\n \"∾̳\": \"∾̳\",\n \"∿\": \"∿\",\n \"â\": \"â\",\n \"а\": \"а\",\n \"æ\": \"æ\",\n \"𝔞\": \"𝔞\",\n \"à\": \"à\",\n \"ℵ\": \"ℵ\",\n \"α\": \"α\",\n \"ā\": \"ā\",\n \"⨿\": \"⨿\",\n \"∧\": \"∧\",\n \"⩕\": \"⩕\",\n \"⩜\": \"⩜\",\n \"⩘\": \"⩘\",\n \"⩚\": \"⩚\",\n \"∠\": \"∠\",\n \"⦤\": \"⦤\",\n \"∡\": \"∡\",\n \"⦨\": \"⦨\",\n \"⦩\": \"⦩\",\n \"⦪\": \"⦪\",\n \"⦫\": \"⦫\",\n \"⦬\": \"⦬\",\n \"⦭\": \"⦭\",\n \"⦮\": \"⦮\",\n \"⦯\": \"⦯\",\n \"∟\": \"∟\",\n \"⊾\": \"⊾\",\n \"⦝\": \"⦝\",\n \"∢\": \"∢\",\n \"⍼\": \"⍼\",\n \"ą\": \"ą\",\n \"𝕒\": \"𝕒\",\n \"⩰\": \"⩰\",\n \"⩯\": \"⩯\",\n \"≊\": \"≊\",\n \"≋\": \"≋\",\n \"'\": \"'\",\n \"å\": \"å\",\n \"𝒶\": \"𝒶\",\n \"*\": \"*\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"⨑\": \"⨑\",\n \"⫭\": \"⫭\",\n \"≌\": \"≌\",\n \"϶\": \"϶\",\n \"‵\": \"‵\",\n \"∽\": \"∽\",\n \"⋍\": \"⋍\",\n \"⊽\": \"⊽\",\n \"⌅\": \"⌅\",\n \"⎶\": \"⎶\",\n \"б\": \"б\",\n \"„\": \"„\",\n \"⦰\": \"⦰\",\n \"β\": \"β\",\n \"ℶ\": \"ℶ\",\n \"≬\": \"≬\",\n \"𝔟\": \"𝔟\",\n \"◯\": \"◯\",\n \"⨀\": \"⨀\",\n \"⨁\": \"⨁\",\n \"⨂\": \"⨂\",\n \"⨆\": \"⨆\",\n \"★\": \"★\",\n \"▽\": \"▽\",\n \"△\": \"△\",\n \"⨄\": \"⨄\",\n \"⤍\": \"⤍\",\n \"⧫\": \"⧫\",\n \"▴\": \"▴\",\n \"▾\": \"▾\",\n \"◂\": \"◂\",\n \"▸\": \"▸\",\n \"␣\": \"␣\",\n \"▒\": \"▒\",\n \"░\": \"░\",\n \"▓\": \"▓\",\n \"█\": \"█\",\n \"=⃥\": \"=⃥\",\n \"≡⃥\": \"≡⃥\",\n \"⌐\": \"⌐\",\n \"𝕓\": \"𝕓\",\n \"⋈\": \"⋈\",\n \"╗\": \"╗\",\n \"╔\": \"╔\",\n \"╖\": \"╖\",\n \"╓\": \"╓\",\n \"═\": \"═\",\n \"╦\": \"╦\",\n \"╩\": \"╩\",\n \"╤\": \"╤\",\n \"╧\": \"╧\",\n \"╝\": \"╝\",\n \"╚\": \"╚\",\n \"╜\": \"╜\",\n \"╙\": \"╙\",\n \"║\": \"║\",\n \"╬\": \"╬\",\n \"╣\": \"╣\",\n \"╠\": \"╠\",\n \"╫\": \"╫\",\n \"╢\": \"╢\",\n \"╟\": \"╟\",\n \"⧉\": \"⧉\",\n \"╕\": \"╕\",\n \"╒\": \"╒\",\n \"┐\": \"┐\",\n \"┌\": \"┌\",\n \"╥\": \"╥\",\n \"╨\": \"╨\",\n \"┬\": \"┬\",\n \"┴\": \"┴\",\n \"⊟\": \"⊟\",\n \"⊞\": \"⊞\",\n \"⊠\": \"⊠\",\n \"╛\": \"╛\",\n \"╘\": \"╘\",\n \"┘\": \"┘\",\n \"└\": \"└\",\n \"│\": \"│\",\n \"╪\": \"╪\",\n \"╡\": \"╡\",\n \"╞\": \"╞\",\n \"┼\": \"┼\",\n \"┤\": \"┤\",\n \"├\": \"├\",\n \"¦\": \"¦\",\n \"𝒷\": \"𝒷\",\n \"⁏\": \"⁏\",\n \"\\\\\": \"\\",\n \"⧅\": \"⧅\",\n \"⟈\": \"⟈\",\n \"•\": \"•\",\n \"⪮\": \"⪮\",\n \"ć\": \"ć\",\n \"∩\": \"∩\",\n \"⩄\": \"⩄\",\n \"⩉\": \"⩉\",\n \"⩋\": \"⩋\",\n \"⩇\": \"⩇\",\n \"⩀\": \"⩀\",\n \"∩︀\": \"∩︀\",\n \"⁁\": \"⁁\",\n \"⩍\": \"⩍\",\n \"č\": \"č\",\n \"ç\": \"ç\",\n \"ĉ\": \"ĉ\",\n \"⩌\": \"⩌\",\n \"⩐\": \"⩐\",\n \"ċ\": \"ċ\",\n \"⦲\": \"⦲\",\n \"¢\": \"¢\",\n \"𝔠\": \"𝔠\",\n \"ч\": \"ч\",\n \"✓\": \"✓\",\n \"χ\": \"χ\",\n \"○\": \"○\",\n \"⧃\": \"⧃\",\n \"ˆ\": \"ˆ\",\n \"≗\": \"≗\",\n \"↺\": \"↺\",\n \"↻\": \"↻\",\n \"Ⓢ\": \"Ⓢ\",\n \"⊛\": \"⊛\",\n \"⊚\": \"⊚\",\n \"⊝\": \"⊝\",\n \"⨐\": \"⨐\",\n \"⫯\": \"⫯\",\n \"⧂\": \"⧂\",\n \"♣\": \"♣\",\n \":\": \":\",\n \",\": \",\",\n \"@\": \"@\",\n \"∁\": \"∁\",\n \"⩭\": \"⩭\",\n \"𝕔\": \"𝕔\",\n \"℗\": \"℗\",\n \"↵\": \"↵\",\n \"✗\": \"✗\",\n \"𝒸\": \"𝒸\",\n \"⫏\": \"⫏\",\n \"⫑\": \"⫑\",\n \"⫐\": \"⫐\",\n \"⫒\": \"⫒\",\n \"⋯\": \"⋯\",\n \"⤸\": \"⤸\",\n \"⤵\": \"⤵\",\n \"⋞\": \"⋞\",\n \"⋟\": \"⋟\",\n \"↶\": \"↶\",\n \"⤽\": \"⤽\",\n \"∪\": \"∪\",\n \"⩈\": \"⩈\",\n \"⩆\": \"⩆\",\n \"⩊\": \"⩊\",\n \"⊍\": \"⊍\",\n \"⩅\": \"⩅\",\n \"∪︀\": \"∪︀\",\n \"↷\": \"↷\",\n \"⤼\": \"⤼\",\n \"⋎\": \"⋎\",\n \"⋏\": \"⋏\",\n \"¤\": \"¤\",\n \"∱\": \"∱\",\n \"⌭\": \"⌭\",\n \"⥥\": \"⥥\",\n \"†\": \"†\",\n \"ℸ\": \"ℸ\",\n \"‐\": \"‐\",\n \"⤏\": \"⤏\",\n \"ď\": \"ď\",\n \"д\": \"д\",\n \"⇊\": \"⇊\",\n \"⩷\": \"⩷\",\n \"°\": \"°\",\n \"δ\": \"δ\",\n \"⦱\": \"⦱\",\n \"⥿\": \"⥿\",\n \"𝔡\": \"𝔡\",\n \"♦\": \"♦\",\n \"ϝ\": \"ϝ\",\n \"⋲\": \"⋲\",\n \"÷\": \"÷\",\n \"⋇\": \"⋇\",\n \"ђ\": \"ђ\",\n \"⌞\": \"⌞\",\n \"⌍\": \"⌍\",\n $: \"$\",\n \"𝕕\": \"𝕕\",\n \"≑\": \"≑\",\n \"∸\": \"∸\",\n \"∔\": \"∔\",\n \"⊡\": \"⊡\",\n \"⌟\": \"⌟\",\n \"⌌\": \"⌌\",\n \"𝒹\": \"𝒹\",\n \"ѕ\": \"ѕ\",\n \"⧶\": \"⧶\",\n \"đ\": \"đ\",\n \"⋱\": \"⋱\",\n \"▿\": \"▿\",\n \"⦦\": \"⦦\",\n \"џ\": \"џ\",\n \"⟿\": \"⟿\",\n \"é\": \"é\",\n \"⩮\": \"⩮\",\n \"ě\": \"ě\",\n \"≖\": \"≖\",\n \"ê\": \"ê\",\n \"≕\": \"≕\",\n \"э\": \"э\",\n \"ė\": \"ė\",\n \"≒\": \"≒\",\n \"𝔢\": \"𝔢\",\n \"⪚\": \"⪚\",\n \"è\": \"è\",\n \"⪖\": \"⪖\",\n \"⪘\": \"⪘\",\n \"⪙\": \"⪙\",\n \"⏧\": \"⏧\",\n \"ℓ\": \"ℓ\",\n \"⪕\": \"⪕\",\n \"⪗\": \"⪗\",\n \"ē\": \"ē\",\n \"∅\": \"∅\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"ŋ\": \"ŋ\",\n \" \": \" \",\n \"ę\": \"ę\",\n \"𝕖\": \"𝕖\",\n \"⋕\": \"⋕\",\n \"⧣\": \"⧣\",\n \"⩱\": \"⩱\",\n \"ε\": \"ε\",\n \"ϵ\": \"ϵ\",\n \"=\": \"=\",\n \"≟\": \"≟\",\n \"⩸\": \"⩸\",\n \"⧥\": \"⧥\",\n \"≓\": \"≓\",\n \"⥱\": \"⥱\",\n \"ℯ\": \"ℯ\",\n \"η\": \"η\",\n \"ð\": \"ð\",\n \"ë\": \"ë\",\n \"€\": \"€\",\n \"!\": \"!\",\n \"ф\": \"ф\",\n \"♀\": \"♀\",\n \"ffi\": \"ffi\",\n \"ff\": \"ff\",\n \"ffl\": \"ffl\",\n \"𝔣\": \"𝔣\",\n \"fi\": \"fi\",\n fj: \"fj\",\n \"♭\": \"♭\",\n \"fl\": \"fl\",\n \"▱\": \"▱\",\n \"ƒ\": \"ƒ\",\n \"𝕗\": \"𝕗\",\n \"⋔\": \"⋔\",\n \"⫙\": \"⫙\",\n \"⨍\": \"⨍\",\n \"½\": \"½\",\n \"⅓\": \"⅓\",\n \"¼\": \"¼\",\n \"⅕\": \"⅕\",\n \"⅙\": \"⅙\",\n \"⅛\": \"⅛\",\n \"⅔\": \"⅔\",\n \"⅖\": \"⅖\",\n \"¾\": \"¾\",\n \"⅗\": \"⅗\",\n \"⅜\": \"⅜\",\n \"⅘\": \"⅘\",\n \"⅚\": \"⅚\",\n \"⅝\": \"⅝\",\n \"⅞\": \"⅞\",\n \"⁄\": \"⁄\",\n \"⌢\": \"⌢\",\n \"𝒻\": \"𝒻\",\n \"⪌\": \"⪌\",\n \"ǵ\": \"ǵ\",\n \"γ\": \"γ\",\n \"⪆\": \"⪆\",\n \"ğ\": \"ğ\",\n \"ĝ\": \"ĝ\",\n \"г\": \"г\",\n \"ġ\": \"ġ\",\n \"⪩\": \"⪩\",\n \"⪀\": \"⪀\",\n \"⪂\": \"⪂\",\n \"⪄\": \"⪄\",\n \"⋛︀\": \"⋛︀\",\n \"⪔\": \"⪔\",\n \"𝔤\": \"𝔤\",\n \"ℷ\": \"ℷ\",\n \"ѓ\": \"ѓ\",\n \"⪒\": \"⪒\",\n \"⪥\": \"⪥\",\n \"⪤\": \"⪤\",\n \"≩\": \"≩\",\n \"⪊\": \"⪊\",\n \"⪈\": \"⪈\",\n \"⋧\": \"⋧\",\n \"𝕘\": \"𝕘\",\n \"ℊ\": \"ℊ\",\n \"⪎\": \"⪎\",\n \"⪐\": \"⪐\",\n \"⪧\": \"⪧\",\n \"⩺\": \"⩺\",\n \"⋗\": \"⋗\",\n \"⦕\": \"⦕\",\n \"⩼\": \"⩼\",\n \"⥸\": \"⥸\",\n \"≩︀\": \"≩︀\",\n \"ъ\": \"ъ\",\n \"⥈\": \"⥈\",\n \"↭\": \"↭\",\n \"ℏ\": \"ℏ\",\n \"ĥ\": \"ĥ\",\n \"♥\": \"♥\",\n \"…\": \"…\",\n \"⊹\": \"⊹\",\n \"𝔥\": \"𝔥\",\n \"⤥\": \"⤥\",\n \"⤦\": \"⤦\",\n \"⇿\": \"⇿\",\n \"∻\": \"∻\",\n \"↩\": \"↩\",\n \"↪\": \"↪\",\n \"𝕙\": \"𝕙\",\n \"―\": \"―\",\n \"𝒽\": \"𝒽\",\n \"ħ\": \"ħ\",\n \"⁃\": \"⁃\",\n \"í\": \"í\",\n \"î\": \"î\",\n \"и\": \"и\",\n \"е\": \"е\",\n \"¡\": \"¡\",\n \"𝔦\": \"𝔦\",\n \"ì\": \"ì\",\n \"⨌\": \"⨌\",\n \"∭\": \"∭\",\n \"⧜\": \"⧜\",\n \"℩\": \"℩\",\n \"ij\": \"ij\",\n \"ī\": \"ī\",\n \"ı\": \"ı\",\n \"⊷\": \"⊷\",\n \"Ƶ\": \"Ƶ\",\n \"℅\": \"℅\",\n \"∞\": \"∞\",\n \"⧝\": \"⧝\",\n \"⊺\": \"⊺\",\n \"⨗\": \"⨗\",\n \"⨼\": \"⨼\",\n \"ё\": \"ё\",\n \"į\": \"į\",\n \"𝕚\": \"𝕚\",\n \"ι\": \"ι\",\n \"¿\": \"¿\",\n \"𝒾\": \"𝒾\",\n \"⋹\": \"⋹\",\n \"⋵\": \"⋵\",\n \"⋴\": \"⋴\",\n \"⋳\": \"⋳\",\n \"ĩ\": \"ĩ\",\n \"і\": \"і\",\n \"ï\": \"ï\",\n \"ĵ\": \"ĵ\",\n \"й\": \"й\",\n \"𝔧\": \"𝔧\",\n \"ȷ\": \"ȷ\",\n \"𝕛\": \"𝕛\",\n \"𝒿\": \"𝒿\",\n \"ј\": \"ј\",\n \"є\": \"є\",\n \"κ\": \"κ\",\n \"ϰ\": \"ϰ\",\n \"ķ\": \"ķ\",\n \"к\": \"к\",\n \"𝔨\": \"𝔨\",\n \"ĸ\": \"ĸ\",\n \"х\": \"х\",\n \"ќ\": \"ќ\",\n \"𝕜\": \"𝕜\",\n \"𝓀\": \"𝓀\",\n \"⤛\": \"⤛\",\n \"⤎\": \"⤎\",\n \"⪋\": \"⪋\",\n \"⥢\": \"⥢\",\n \"ĺ\": \"ĺ\",\n \"⦴\": \"⦴\",\n \"λ\": \"λ\",\n \"⦑\": \"⦑\",\n \"⪅\": \"⪅\",\n \"«\": \"«\",\n \"⤟\": \"⤟\",\n \"⤝\": \"⤝\",\n \"↫\": \"↫\",\n \"⤹\": \"⤹\",\n \"⥳\": \"⥳\",\n \"↢\": \"↢\",\n \"⪫\": \"⪫\",\n \"⤙\": \"⤙\",\n \"⪭\": \"⪭\",\n \"⪭︀\": \"⪭︀\",\n \"⤌\": \"⤌\",\n \"❲\": \"❲\",\n \"{\": \"{\",\n \"[\": \"[\",\n \"⦋\": \"⦋\",\n \"⦏\": \"⦏\",\n \"⦍\": \"⦍\",\n \"ľ\": \"ľ\",\n \"ļ\": \"ļ\",\n \"л\": \"л\",\n \"⤶\": \"⤶\",\n \"⥧\": \"⥧\",\n \"⥋\": \"⥋\",\n \"↲\": \"↲\",\n \"≤\": \"≤\",\n \"⇇\": \"⇇\",\n \"⋋\": \"⋋\",\n \"⪨\": \"⪨\",\n \"⩿\": \"⩿\",\n \"⪁\": \"⪁\",\n \"⪃\": \"⪃\",\n \"⋚︀\": \"⋚︀\",\n \"⪓\": \"⪓\",\n \"⋖\": \"⋖\",\n \"⥼\": \"⥼\",\n \"𝔩\": \"𝔩\",\n \"⪑\": \"⪑\",\n \"⥪\": \"⥪\",\n \"▄\": \"▄\",\n \"љ\": \"љ\",\n \"⥫\": \"⥫\",\n \"◺\": \"◺\",\n \"ŀ\": \"ŀ\",\n \"⎰\": \"⎰\",\n \"≨\": \"≨\",\n \"⪉\": \"⪉\",\n \"⪇\": \"⪇\",\n \"⋦\": \"⋦\",\n \"⟬\": \"⟬\",\n \"⇽\": \"⇽\",\n \"⟼\": \"⟼\",\n \"↬\": \"↬\",\n \"⦅\": \"⦅\",\n \"𝕝\": \"𝕝\",\n \"⨭\": \"⨭\",\n \"⨴\": \"⨴\",\n \"∗\": \"∗\",\n \"◊\": \"◊\",\n \"(\": \"(\",\n \"⦓\": \"⦓\",\n \"⥭\": \"⥭\",\n \"‎\": \"‎\",\n \"⊿\": \"⊿\",\n \"‹\": \"‹\",\n \"𝓁\": \"𝓁\",\n \"⪍\": \"⪍\",\n \"⪏\": \"⪏\",\n \"‚\": \"‚\",\n \"ł\": \"ł\",\n \"⪦\": \"⪦\",\n \"⩹\": \"⩹\",\n \"⋉\": \"⋉\",\n \"⥶\": \"⥶\",\n \"⩻\": \"⩻\",\n \"⦖\": \"⦖\",\n \"◃\": \"◃\",\n \"⥊\": \"⥊\",\n \"⥦\": \"⥦\",\n \"≨︀\": \"≨︀\",\n \"∺\": \"∺\",\n \"¯\": \"¯\",\n \"♂\": \"♂\",\n \"✠\": \"✠\",\n \"▮\": \"▮\",\n \"⨩\": \"⨩\",\n \"м\": \"м\",\n \"—\": \"—\",\n \"𝔪\": \"𝔪\",\n \"℧\": \"℧\",\n \"µ\": \"µ\",\n \"⫰\": \"⫰\",\n \"−\": \"−\",\n \"⨪\": \"⨪\",\n \"⫛\": \"⫛\",\n \"⊧\": \"⊧\",\n \"𝕞\": \"𝕞\",\n \"𝓂\": \"𝓂\",\n \"μ\": \"μ\",\n \"⊸\": \"⊸\",\n \"⋙̸\": \"⋙̸\",\n \"≫⃒\": \"≫⃒\",\n \"⇍\": \"⇍\",\n \"⇎\": \"⇎\",\n \"⋘̸\": \"⋘̸\",\n \"≪⃒\": \"≪⃒\",\n \"⇏\": \"⇏\",\n \"⊯\": \"⊯\",\n \"⊮\": \"⊮\",\n \"ń\": \"ń\",\n \"∠⃒\": \"∠⃒\",\n \"⩰̸\": \"⩰̸\",\n \"≋̸\": \"≋̸\",\n \"ʼn\": \"ʼn\",\n \"♮\": \"♮\",\n \"⩃\": \"⩃\",\n \"ň\": \"ň\",\n \"ņ\": \"ņ\",\n \"⩭̸\": \"⩭̸\",\n \"⩂\": \"⩂\",\n \"н\": \"н\",\n \"–\": \"–\",\n \"⇗\": \"⇗\",\n \"⤤\": \"⤤\",\n \"≐̸\": \"≐̸\",\n \"⤨\": \"⤨\",\n \"𝔫\": \"𝔫\",\n \"↮\": \"↮\",\n \"⫲\": \"⫲\",\n \"⋼\": \"⋼\",\n \"⋺\": \"⋺\",\n \"њ\": \"њ\",\n \"≦̸\": \"≦̸\",\n \"↚\": \"↚\",\n \"‥\": \"‥\",\n \"𝕟\": \"𝕟\",\n \"¬\": \"¬\",\n \"⋹̸\": \"⋹̸\",\n \"⋵̸\": \"⋵̸\",\n \"⋷\": \"⋷\",\n \"⋶\": \"⋶\",\n \"⋾\": \"⋾\",\n \"⋽\": \"⋽\",\n \"⫽⃥\": \"⫽⃥\",\n \"∂̸\": \"∂̸\",\n \"⨔\": \"⨔\",\n \"↛\": \"↛\",\n \"⤳̸\": \"⤳̸\",\n \"↝̸\": \"↝̸\",\n \"𝓃\": \"𝓃\",\n \"⊄\": \"⊄\",\n \"⫅̸\": \"⫅̸\",\n \"⊅\": \"⊅\",\n \"⫆̸\": \"⫆̸\",\n \"ñ\": \"ñ\",\n \"ν\": \"ν\",\n \"#\": \"#\",\n \"№\": \"№\",\n \" \": \" \",\n \"⊭\": \"⊭\",\n \"⤄\": \"⤄\",\n \"≍⃒\": \"≍⃒\",\n \"⊬\": \"⊬\",\n \"≥⃒\": \"≥⃒\",\n \">⃒\": \">⃒\",\n \"⧞\": \"⧞\",\n \"⤂\": \"⤂\",\n \"≤⃒\": \"≤⃒\",\n \"<⃒\": \"<⃒\",\n \"⊴⃒\": \"⊴⃒\",\n \"⤃\": \"⤃\",\n \"⊵⃒\": \"⊵⃒\",\n \"∼⃒\": \"∼⃒\",\n \"⇖\": \"⇖\",\n \"⤣\": \"⤣\",\n \"⤧\": \"⤧\",\n \"ó\": \"ó\",\n \"ô\": \"ô\",\n \"о\": \"о\",\n \"ő\": \"ő\",\n \"⨸\": \"⨸\",\n \"⦼\": \"⦼\",\n \"œ\": \"œ\",\n \"⦿\": \"⦿\",\n \"𝔬\": \"𝔬\",\n \"˛\": \"˛\",\n \"ò\": \"ò\",\n \"⧁\": \"⧁\",\n \"⦵\": \"⦵\",\n \"⦾\": \"⦾\",\n \"⦻\": \"⦻\",\n \"⧀\": \"⧀\",\n \"ō\": \"ō\",\n \"ω\": \"ω\",\n \"ο\": \"ο\",\n \"⦶\": \"⦶\",\n \"𝕠\": \"𝕠\",\n \"⦷\": \"⦷\",\n \"⦹\": \"⦹\",\n \"∨\": \"∨\",\n \"⩝\": \"⩝\",\n \"ℴ\": \"ℴ\",\n \"ª\": \"ª\",\n \"º\": \"º\",\n \"⊶\": \"⊶\",\n \"⩖\": \"⩖\",\n \"⩗\": \"⩗\",\n \"⩛\": \"⩛\",\n \"ø\": \"ø\",\n \"⊘\": \"⊘\",\n \"õ\": \"õ\",\n \"⨶\": \"⨶\",\n \"ö\": \"ö\",\n \"⌽\": \"⌽\",\n \"¶\": \"¶\",\n \"⫳\": \"⫳\",\n \"⫽\": \"⫽\",\n \"п\": \"п\",\n \"%\": \"%\",\n \".\": \".\",\n \"‰\": \"‰\",\n \"‱\": \"‱\",\n \"𝔭\": \"𝔭\",\n \"φ\": \"φ\",\n \"ϕ\": \"ϕ\",\n \"☎\": \"☎\",\n \"π\": \"π\",\n \"ϖ\": \"ϖ\",\n \"ℎ\": \"ℎ\",\n \"+\": \"+\",\n \"⨣\": \"⨣\",\n \"⨢\": \"⨢\",\n \"⨥\": \"⨥\",\n \"⩲\": \"⩲\",\n \"⨦\": \"⨦\",\n \"⨧\": \"⨧\",\n \"⨕\": \"⨕\",\n \"𝕡\": \"𝕡\",\n \"£\": \"£\",\n \"⪳\": \"⪳\",\n \"⪷\": \"⪷\",\n \"⪹\": \"⪹\",\n \"⪵\": \"⪵\",\n \"⋨\": \"⋨\",\n \"′\": \"′\",\n \"⌮\": \"⌮\",\n \"⌒\": \"⌒\",\n \"⌓\": \"⌓\",\n \"⊰\": \"⊰\",\n \"𝓅\": \"𝓅\",\n \"ψ\": \"ψ\",\n \" \": \" \",\n \"𝔮\": \"𝔮\",\n \"𝕢\": \"𝕢\",\n \"⁗\": \"⁗\",\n \"𝓆\": \"𝓆\",\n \"⨖\": \"⨖\",\n \"?\": \"?\",\n \"⤜\": \"⤜\",\n \"⥤\": \"⥤\",\n \"∽̱\": \"∽̱\",\n \"ŕ\": \"ŕ\",\n \"⦳\": \"⦳\",\n \"⦒\": \"⦒\",\n \"⦥\": \"⦥\",\n \"»\": \"»\",\n \"⥵\": \"⥵\",\n \"⤠\": \"⤠\",\n \"⤳\": \"⤳\",\n \"⤞\": \"⤞\",\n \"⥅\": \"⥅\",\n \"⥴\": \"⥴\",\n \"↣\": \"↣\",\n \"↝\": \"↝\",\n \"⤚\": \"⤚\",\n \"∶\": \"∶\",\n \"❳\": \"❳\",\n \"}\": \"}\",\n \"]\": \"]\",\n \"⦌\": \"⦌\",\n \"⦎\": \"⦎\",\n \"⦐\": \"⦐\",\n \"ř\": \"ř\",\n \"ŗ\": \"ŗ\",\n \"р\": \"р\",\n \"⤷\": \"⤷\",\n \"⥩\": \"⥩\",\n \"↳\": \"↳\",\n \"▭\": \"▭\",\n \"⥽\": \"⥽\",\n \"𝔯\": \"𝔯\",\n \"⥬\": \"⥬\",\n \"ρ\": \"ρ\",\n \"ϱ\": \"ϱ\",\n \"⇉\": \"⇉\",\n \"⋌\": \"⋌\",\n \"˚\": \"˚\",\n \"‏\": \"‏\",\n \"⎱\": \"⎱\",\n \"⫮\": \"⫮\",\n \"⟭\": \"⟭\",\n \"⇾\": \"⇾\",\n \"⦆\": \"⦆\",\n \"𝕣\": \"𝕣\",\n \"⨮\": \"⨮\",\n \"⨵\": \"⨵\",\n \")\": \")\",\n \"⦔\": \"⦔\",\n \"⨒\": \"⨒\",\n \"›\": \"›\",\n \"𝓇\": \"𝓇\",\n \"⋊\": \"⋊\",\n \"▹\": \"▹\",\n \"⧎\": \"⧎\",\n \"⥨\": \"⥨\",\n \"℞\": \"℞\",\n \"ś\": \"ś\",\n \"⪴\": \"⪴\",\n \"⪸\": \"⪸\",\n \"š\": \"š\",\n \"ş\": \"ş\",\n \"ŝ\": \"ŝ\",\n \"⪶\": \"⪶\",\n \"⪺\": \"⪺\",\n \"⋩\": \"⋩\",\n \"⨓\": \"⨓\",\n \"с\": \"с\",\n \"⋅\": \"⋅\",\n \"⩦\": \"⩦\",\n \"⇘\": \"⇘\",\n \"§\": \"§\",\n \";\": \";\",\n \"⤩\": \"⤩\",\n \"✶\": \"✶\",\n \"𝔰\": \"𝔰\",\n \"♯\": \"♯\",\n \"щ\": \"щ\",\n \"ш\": \"ш\",\n \"­\": \"­\",\n \"σ\": \"σ\",\n \"ς\": \"ς\",\n \"⩪\": \"⩪\",\n \"⪞\": \"⪞\",\n \"⪠\": \"⪠\",\n \"⪝\": \"⪝\",\n \"⪟\": \"⪟\",\n \"≆\": \"≆\",\n \"⨤\": \"⨤\",\n \"⥲\": \"⥲\",\n \"⨳\": \"⨳\",\n \"⧤\": \"⧤\",\n \"⌣\": \"⌣\",\n \"⪪\": \"⪪\",\n \"⪬\": \"⪬\",\n \"⪬︀\": \"⪬︀\",\n \"ь\": \"ь\",\n \"/\": \"/\",\n \"⧄\": \"⧄\",\n \"⌿\": \"⌿\",\n \"𝕤\": \"𝕤\",\n \"♠\": \"♠\",\n \"⊓︀\": \"⊓︀\",\n \"⊔︀\": \"⊔︀\",\n \"𝓈\": \"𝓈\",\n \"☆\": \"☆\",\n \"⊂\": \"⊂\",\n \"⫅\": \"⫅\",\n \"⪽\": \"⪽\",\n \"⫃\": \"⫃\",\n \"⫁\": \"⫁\",\n \"⫋\": \"⫋\",\n \"⊊\": \"⊊\",\n \"⪿\": \"⪿\",\n \"⥹\": \"⥹\",\n \"⫇\": \"⫇\",\n \"⫕\": \"⫕\",\n \"⫓\": \"⫓\",\n \"♪\": \"♪\",\n \"¹\": \"¹\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"⫆\": \"⫆\",\n \"⪾\": \"⪾\",\n \"⫘\": \"⫘\",\n \"⫄\": \"⫄\",\n \"⟉\": \"⟉\",\n \"⫗\": \"⫗\",\n \"⥻\": \"⥻\",\n \"⫂\": \"⫂\",\n \"⫌\": \"⫌\",\n \"⊋\": \"⊋\",\n \"⫀\": \"⫀\",\n \"⫈\": \"⫈\",\n \"⫔\": \"⫔\",\n \"⫖\": \"⫖\",\n \"⇙\": \"⇙\",\n \"⤪\": \"⤪\",\n \"ß\": \"ß\",\n \"⌖\": \"⌖\",\n \"τ\": \"τ\",\n \"ť\": \"ť\",\n \"ţ\": \"ţ\",\n \"т\": \"т\",\n \"⌕\": \"⌕\",\n \"𝔱\": \"𝔱\",\n \"θ\": \"θ\",\n \"ϑ\": \"ϑ\",\n \"þ\": \"þ\",\n \"×\": \"×\",\n \"⨱\": \"⨱\",\n \"⨰\": \"⨰\",\n \"⌶\": \"⌶\",\n \"⫱\": \"⫱\",\n \"𝕥\": \"𝕥\",\n \"⫚\": \"⫚\",\n \"‴\": \"‴\",\n \"▵\": \"▵\",\n \"≜\": \"≜\",\n \"◬\": \"◬\",\n \"⨺\": \"⨺\",\n \"⨹\": \"⨹\",\n \"⧍\": \"⧍\",\n \"⨻\": \"⨻\",\n \"⏢\": \"⏢\",\n \"𝓉\": \"𝓉\",\n \"ц\": \"ц\",\n \"ћ\": \"ћ\",\n \"ŧ\": \"ŧ\",\n \"⥣\": \"⥣\",\n \"ú\": \"ú\",\n \"ў\": \"ў\",\n \"ŭ\": \"ŭ\",\n \"û\": \"û\",\n \"у\": \"у\",\n \"ű\": \"ű\",\n \"⥾\": \"⥾\",\n \"𝔲\": \"𝔲\",\n \"ù\": \"ù\",\n \"▀\": \"▀\",\n \"⌜\": \"⌜\",\n \"⌏\": \"⌏\",\n \"◸\": \"◸\",\n \"ū\": \"ū\",\n \"ų\": \"ų\",\n \"𝕦\": \"𝕦\",\n \"υ\": \"υ\",\n \"⇈\": \"⇈\",\n \"⌝\": \"⌝\",\n \"⌎\": \"⌎\",\n \"ů\": \"ů\",\n \"◹\": \"◹\",\n \"𝓊\": \"𝓊\",\n \"⋰\": \"⋰\",\n \"ũ\": \"ũ\",\n \"ü\": \"ü\",\n \"⦧\": \"⦧\",\n \"⫨\": \"⫨\",\n \"⫩\": \"⫩\",\n \"⦜\": \"⦜\",\n \"⊊︀\": \"⊊︀\",\n \"⫋︀\": \"⫋︀\",\n \"⊋︀\": \"⊋︀\",\n \"⫌︀\": \"⫌︀\",\n \"в\": \"в\",\n \"⊻\": \"⊻\",\n \"≚\": \"≚\",\n \"⋮\": \"⋮\",\n \"𝔳\": \"𝔳\",\n \"𝕧\": \"𝕧\",\n \"𝓋\": \"𝓋\",\n \"⦚\": \"⦚\",\n \"ŵ\": \"ŵ\",\n \"⩟\": \"⩟\",\n \"≙\": \"≙\",\n \"℘\": \"℘\",\n \"𝔴\": \"𝔴\",\n \"𝕨\": \"𝕨\",\n \"𝓌\": \"𝓌\",\n \"𝔵\": \"𝔵\",\n \"ξ\": \"ξ\",\n \"⋻\": \"⋻\",\n \"𝕩\": \"𝕩\",\n \"𝓍\": \"𝓍\",\n \"ý\": \"ý\",\n \"я\": \"я\",\n \"ŷ\": \"ŷ\",\n \"ы\": \"ы\",\n \"¥\": \"¥\",\n \"𝔶\": \"𝔶\",\n \"ї\": \"ї\",\n \"𝕪\": \"𝕪\",\n \"𝓎\": \"𝓎\",\n \"ю\": \"ю\",\n \"ÿ\": \"ÿ\",\n \"ź\": \"ź\",\n \"ž\": \"ž\",\n \"з\": \"з\",\n \"ż\": \"ż\",\n \"ζ\": \"ζ\",\n \"𝔷\": \"𝔷\",\n \"ж\": \"ж\",\n \"⇝\": \"⇝\",\n \"𝕫\": \"𝕫\",\n \"𝓏\": \"𝓏\",\n \"‍\": \"‍\",\n \"‌\": \"‌\"\n }\n }\n};","map":{"version":3,"names":["exports","bodyRegExps","xml","html4","html5","namedReferences","entities","characters","_","$","fj"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/html-entities/src/named-references.ts"],"sourcesContent":["// This file is autogenerated by tools/process-named-references.ts\n/* eslint-disable */\n\nexport type NamedReferences = {\n [K in 'xml' | 'html4' | 'html5']: {\n entities: Record;\n characters: Record;\n }\n};\nexport const bodyRegExps = {\n xml: /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,\n html4: /∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,\n html5: /·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g\n};\nexport const namedReferences: NamedReferences = {\n \"xml\": {\n \"entities\": {\n \"<\": \"<\",\n \">\": \">\",\n \""\": \"\\\"\",\n \"'\": \"'\",\n \"&\": \"&\"\n },\n \"characters\": {\n \"<\": \"<\",\n \">\": \">\",\n \"\\\"\": \""\",\n \"'\": \"'\",\n \"&\": \"&\"\n }\n },\n \"html4\": {\n \"entities\": {\n \"'\": \"'\",\n \" \": \" \",\n \" \": \" \",\n \"¡\": \"¡\",\n \"¡\": \"¡\",\n \"¢\": \"¢\",\n \"¢\": \"¢\",\n \"£\": \"£\",\n \"£\": \"£\",\n \"¤\": \"¤\",\n \"¤\": \"¤\",\n \"¥\": \"¥\",\n \"¥\": \"¥\",\n \"¦\": \"¦\",\n \"¦\": \"¦\",\n \"§\": \"§\",\n \"§\": \"§\",\n \"¨\": \"¨\",\n \"¨\": \"¨\",\n \"©\": \"©\",\n \"©\": \"©\",\n \"ª\": \"ª\",\n \"ª\": \"ª\",\n \"«\": \"«\",\n \"«\": \"«\",\n \"¬\": \"¬\",\n \"¬\": \"¬\",\n \"­\": \"­\",\n \"­\": \"­\",\n \"®\": \"®\",\n \"®\": \"®\",\n \"¯\": \"¯\",\n \"¯\": \"¯\",\n \"°\": \"°\",\n \"°\": \"°\",\n \"±\": \"±\",\n \"±\": \"±\",\n \"²\": \"²\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"³\": \"³\",\n \"´\": \"´\",\n \"´\": \"´\",\n \"µ\": \"µ\",\n \"µ\": \"µ\",\n \"¶\": \"¶\",\n \"¶\": \"¶\",\n \"·\": \"·\",\n \"·\": \"·\",\n \"¸\": \"¸\",\n \"¸\": \"¸\",\n \"¹\": \"¹\",\n \"¹\": \"¹\",\n \"º\": \"º\",\n \"º\": \"º\",\n \"»\": \"»\",\n \"»\": \"»\",\n \"¼\": \"¼\",\n \"¼\": \"¼\",\n \"½\": \"½\",\n \"½\": \"½\",\n \"¾\": \"¾\",\n \"¾\": \"¾\",\n \"¿\": \"¿\",\n \"¿\": \"¿\",\n \"À\": \"À\",\n \"À\": \"À\",\n \"Á\": \"Á\",\n \"Á\": \"Á\",\n \"Â\": \"Â\",\n \"Â\": \"Â\",\n \"Ã\": \"Ã\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"Ä\": \"Ä\",\n \"Å\": \"Å\",\n \"Å\": \"Å\",\n \"Æ\": \"Æ\",\n \"Æ\": \"Æ\",\n \"Ç\": \"Ç\",\n \"Ç\": \"Ç\",\n \"È\": \"È\",\n \"È\": \"È\",\n \"É\": \"É\",\n \"É\": \"É\",\n \"Ê\": \"Ê\",\n \"Ê\": \"Ê\",\n \"Ë\": \"Ë\",\n \"Ë\": \"Ë\",\n \"Ì\": \"Ì\",\n \"Ì\": \"Ì\",\n \"Í\": \"Í\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"Î\": \"Î\",\n \"Ï\": \"Ï\",\n \"Ï\": \"Ï\",\n \"Ð\": \"Ð\",\n \"Ð\": \"Ð\",\n \"Ñ\": \"Ñ\",\n \"Ñ\": \"Ñ\",\n \"Ò\": \"Ò\",\n \"Ò\": \"Ò\",\n \"Ó\": \"Ó\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"Ô\": \"Ô\",\n \"Õ\": \"Õ\",\n \"Õ\": \"Õ\",\n \"Ö\": \"Ö\",\n \"Ö\": \"Ö\",\n \"×\": \"×\",\n \"×\": \"×\",\n \"Ø\": \"Ø\",\n \"Ø\": \"Ø\",\n \"Ù\": \"Ù\",\n \"Ù\": \"Ù\",\n \"Ú\": \"Ú\",\n \"Ú\": \"Ú\",\n \"Û\": \"Û\",\n \"Û\": \"Û\",\n \"Ü\": \"Ü\",\n \"Ü\": \"Ü\",\n \"Ý\": \"Ý\",\n \"Ý\": \"Ý\",\n \"Þ\": \"Þ\",\n \"Þ\": \"Þ\",\n \"ß\": \"ß\",\n \"ß\": \"ß\",\n \"à\": \"à\",\n \"à\": \"à\",\n \"á\": \"á\",\n \"á\": \"á\",\n \"â\": \"â\",\n \"â\": \"â\",\n \"ã\": \"ã\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"ä\": \"ä\",\n \"å\": \"å\",\n \"å\": \"å\",\n \"æ\": \"æ\",\n \"æ\": \"æ\",\n \"ç\": \"ç\",\n \"ç\": \"ç\",\n \"è\": \"è\",\n \"è\": \"è\",\n \"é\": \"é\",\n \"é\": \"é\",\n \"ê\": \"ê\",\n \"ê\": \"ê\",\n \"ë\": \"ë\",\n \"ë\": \"ë\",\n \"ì\": \"ì\",\n \"ì\": \"ì\",\n \"í\": \"í\",\n \"í\": \"í\",\n \"î\": \"î\",\n \"î\": \"î\",\n \"ï\": \"ï\",\n \"ï\": \"ï\",\n \"ð\": \"ð\",\n \"ð\": \"ð\",\n \"ñ\": \"ñ\",\n \"ñ\": \"ñ\",\n \"ò\": \"ò\",\n \"ò\": \"ò\",\n \"ó\": \"ó\",\n \"ó\": \"ó\",\n \"ô\": \"ô\",\n \"ô\": \"ô\",\n \"õ\": \"õ\",\n \"õ\": \"õ\",\n \"ö\": \"ö\",\n \"ö\": \"ö\",\n \"÷\": \"÷\",\n \"÷\": \"÷\",\n \"ø\": \"ø\",\n \"ø\": \"ø\",\n \"ù\": \"ù\",\n \"ù\": \"ù\",\n \"ú\": \"ú\",\n \"ú\": \"ú\",\n \"û\": \"û\",\n \"û\": \"û\",\n \"ü\": \"ü\",\n \"ü\": \"ü\",\n \"ý\": \"ý\",\n \"ý\": \"ý\",\n \"þ\": \"þ\",\n \"þ\": \"þ\",\n \"ÿ\": \"ÿ\",\n \"ÿ\": \"ÿ\",\n \""\": \"\\\"\",\n \""\": \"\\\"\",\n \"&\": \"&\",\n \"&\": \"&\",\n \"<\": \"<\",\n \"<\": \"<\",\n \">\": \">\",\n \">\": \">\",\n \"Œ\": \"Œ\",\n \"œ\": \"œ\",\n \"Š\": \"Š\",\n \"š\": \"š\",\n \"Ÿ\": \"Ÿ\",\n \"ˆ\": \"ˆ\",\n \"˜\": \"˜\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"‌\": \"‌\",\n \"‍\": \"‍\",\n \"‎\": \"‎\",\n \"‏\": \"‏\",\n \"–\": \"–\",\n \"—\": \"—\",\n \"‘\": \"‘\",\n \"’\": \"’\",\n \"‚\": \"‚\",\n \"“\": \"“\",\n \"”\": \"”\",\n \"„\": \"„\",\n \"†\": \"†\",\n \"‡\": \"‡\",\n \"‰\": \"‰\",\n \"‹\": \"‹\",\n \"›\": \"›\",\n \"€\": \"€\",\n \"ƒ\": \"ƒ\",\n \"Α\": \"Α\",\n \"Β\": \"Β\",\n \"Γ\": \"Γ\",\n \"Δ\": \"Δ\",\n \"Ε\": \"Ε\",\n \"Ζ\": \"Ζ\",\n \"Η\": \"Η\",\n \"Θ\": \"Θ\",\n \"Ι\": \"Ι\",\n \"Κ\": \"Κ\",\n \"Λ\": \"Λ\",\n \"Μ\": \"Μ\",\n \"Ν\": \"Ν\",\n \"Ξ\": \"Ξ\",\n \"Ο\": \"Ο\",\n \"Π\": \"Π\",\n \"Ρ\": \"Ρ\",\n \"Σ\": \"Σ\",\n \"Τ\": \"Τ\",\n \"Υ\": \"Υ\",\n \"Φ\": \"Φ\",\n \"Χ\": \"Χ\",\n \"Ψ\": \"Ψ\",\n \"Ω\": \"Ω\",\n \"α\": \"α\",\n \"β\": \"β\",\n \"γ\": \"γ\",\n \"δ\": \"δ\",\n \"ε\": \"ε\",\n \"ζ\": \"ζ\",\n \"η\": \"η\",\n \"θ\": \"θ\",\n \"ι\": \"ι\",\n \"κ\": \"κ\",\n \"λ\": \"λ\",\n \"μ\": \"μ\",\n \"ν\": \"ν\",\n \"ξ\": \"ξ\",\n \"ο\": \"ο\",\n \"π\": \"π\",\n \"ρ\": \"ρ\",\n \"ς\": \"ς\",\n \"σ\": \"σ\",\n \"τ\": \"τ\",\n \"υ\": \"υ\",\n \"φ\": \"φ\",\n \"χ\": \"χ\",\n \"ψ\": \"ψ\",\n \"ω\": \"ω\",\n \"ϑ\": \"ϑ\",\n \"ϒ\": \"ϒ\",\n \"ϖ\": \"ϖ\",\n \"•\": \"•\",\n \"…\": \"…\",\n \"′\": \"′\",\n \"″\": \"″\",\n \"‾\": \"‾\",\n \"⁄\": \"⁄\",\n \"℘\": \"℘\",\n \"ℑ\": \"ℑ\",\n \"ℜ\": \"ℜ\",\n \"™\": \"™\",\n \"ℵ\": \"ℵ\",\n \"←\": \"←\",\n \"↑\": \"↑\",\n \"→\": \"→\",\n \"↓\": \"↓\",\n \"↔\": \"↔\",\n \"↵\": \"↵\",\n \"⇐\": \"⇐\",\n \"⇑\": \"⇑\",\n \"⇒\": \"⇒\",\n \"⇓\": \"⇓\",\n \"⇔\": \"⇔\",\n \"∀\": \"∀\",\n \"∂\": \"∂\",\n \"∃\": \"∃\",\n \"∅\": \"∅\",\n \"∇\": \"∇\",\n \"∈\": \"∈\",\n \"∉\": \"∉\",\n \"∋\": \"∋\",\n \"∏\": \"∏\",\n \"∑\": \"∑\",\n \"−\": \"−\",\n \"∗\": \"∗\",\n \"√\": \"√\",\n \"∝\": \"∝\",\n \"∞\": \"∞\",\n \"∠\": \"∠\",\n \"∧\": \"∧\",\n \"∨\": \"∨\",\n \"∩\": \"∩\",\n \"∪\": \"∪\",\n \"∫\": \"∫\",\n \"∴\": \"∴\",\n \"∼\": \"∼\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"≠\": \"≠\",\n \"≡\": \"≡\",\n \"≤\": \"≤\",\n \"≥\": \"≥\",\n \"⊂\": \"⊂\",\n \"⊃\": \"⊃\",\n \"⊄\": \"⊄\",\n \"⊆\": \"⊆\",\n \"⊇\": \"⊇\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"⊥\": \"⊥\",\n \"⋅\": \"⋅\",\n \"⌈\": \"⌈\",\n \"⌉\": \"⌉\",\n \"⌊\": \"⌊\",\n \"⌋\": \"⌋\",\n \"⟨\": \"〈\",\n \"⟩\": \"〉\",\n \"◊\": \"◊\",\n \"♠\": \"♠\",\n \"♣\": \"♣\",\n \"♥\": \"♥\",\n \"♦\": \"♦\"\n },\n \"characters\": {\n \"'\": \"'\",\n \" \": \" \",\n \"¡\": \"¡\",\n \"¢\": \"¢\",\n \"£\": \"£\",\n \"¤\": \"¤\",\n \"¥\": \"¥\",\n \"¦\": \"¦\",\n \"§\": \"§\",\n \"¨\": \"¨\",\n \"©\": \"©\",\n \"ª\": \"ª\",\n \"«\": \"«\",\n \"¬\": \"¬\",\n \"­\": \"­\",\n \"®\": \"®\",\n \"¯\": \"¯\",\n \"°\": \"°\",\n \"±\": \"±\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"´\": \"´\",\n \"µ\": \"µ\",\n \"¶\": \"¶\",\n \"·\": \"·\",\n \"¸\": \"¸\",\n \"¹\": \"¹\",\n \"º\": \"º\",\n \"»\": \"»\",\n \"¼\": \"¼\",\n \"½\": \"½\",\n \"¾\": \"¾\",\n \"¿\": \"¿\",\n \"À\": \"À\",\n \"Á\": \"Á\",\n \"Â\": \"Â\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"Å\": \"Å\",\n \"Æ\": \"Æ\",\n \"Ç\": \"Ç\",\n \"È\": \"È\",\n \"É\": \"É\",\n \"Ê\": \"Ê\",\n \"Ë\": \"Ë\",\n \"Ì\": \"Ì\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"Ï\": \"Ï\",\n \"Ð\": \"Ð\",\n \"Ñ\": \"Ñ\",\n \"Ò\": \"Ò\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"Õ\": \"Õ\",\n \"Ö\": \"Ö\",\n \"×\": \"×\",\n \"Ø\": \"Ø\",\n \"Ù\": \"Ù\",\n \"Ú\": \"Ú\",\n \"Û\": \"Û\",\n \"Ü\": \"Ü\",\n \"Ý\": \"Ý\",\n \"Þ\": \"Þ\",\n \"ß\": \"ß\",\n \"à\": \"à\",\n \"á\": \"á\",\n \"â\": \"â\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"å\": \"å\",\n \"æ\": \"æ\",\n \"ç\": \"ç\",\n \"è\": \"è\",\n \"é\": \"é\",\n \"ê\": \"ê\",\n \"ë\": \"ë\",\n \"ì\": \"ì\",\n \"í\": \"í\",\n \"î\": \"î\",\n \"ï\": \"ï\",\n \"ð\": \"ð\",\n \"ñ\": \"ñ\",\n \"ò\": \"ò\",\n \"ó\": \"ó\",\n \"ô\": \"ô\",\n \"õ\": \"õ\",\n \"ö\": \"ö\",\n \"÷\": \"÷\",\n \"ø\": \"ø\",\n \"ù\": \"ù\",\n \"ú\": \"ú\",\n \"û\": \"û\",\n \"ü\": \"ü\",\n \"ý\": \"ý\",\n \"þ\": \"þ\",\n \"ÿ\": \"ÿ\",\n \"\\\"\": \""\",\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n \"Œ\": \"Œ\",\n \"œ\": \"œ\",\n \"Š\": \"Š\",\n \"š\": \"š\",\n \"Ÿ\": \"Ÿ\",\n \"ˆ\": \"ˆ\",\n \"˜\": \"˜\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"‌\": \"‌\",\n \"‍\": \"‍\",\n \"‎\": \"‎\",\n \"‏\": \"‏\",\n \"–\": \"–\",\n \"—\": \"—\",\n \"‘\": \"‘\",\n \"’\": \"’\",\n \"‚\": \"‚\",\n \"“\": \"“\",\n \"”\": \"”\",\n \"„\": \"„\",\n \"†\": \"†\",\n \"‡\": \"‡\",\n \"‰\": \"‰\",\n \"‹\": \"‹\",\n \"›\": \"›\",\n \"€\": \"€\",\n \"ƒ\": \"ƒ\",\n \"Α\": \"Α\",\n \"Β\": \"Β\",\n \"Γ\": \"Γ\",\n \"Δ\": \"Δ\",\n \"Ε\": \"Ε\",\n \"Ζ\": \"Ζ\",\n \"Η\": \"Η\",\n \"Θ\": \"Θ\",\n \"Ι\": \"Ι\",\n \"Κ\": \"Κ\",\n \"Λ\": \"Λ\",\n \"Μ\": \"Μ\",\n \"Ν\": \"Ν\",\n \"Ξ\": \"Ξ\",\n \"Ο\": \"Ο\",\n \"Π\": \"Π\",\n \"Ρ\": \"Ρ\",\n \"Σ\": \"Σ\",\n \"Τ\": \"Τ\",\n \"Υ\": \"Υ\",\n \"Φ\": \"Φ\",\n \"Χ\": \"Χ\",\n \"Ψ\": \"Ψ\",\n \"Ω\": \"Ω\",\n \"α\": \"α\",\n \"β\": \"β\",\n \"γ\": \"γ\",\n \"δ\": \"δ\",\n \"ε\": \"ε\",\n \"ζ\": \"ζ\",\n \"η\": \"η\",\n \"θ\": \"θ\",\n \"ι\": \"ι\",\n \"κ\": \"κ\",\n \"λ\": \"λ\",\n \"μ\": \"μ\",\n \"ν\": \"ν\",\n \"ξ\": \"ξ\",\n \"ο\": \"ο\",\n \"π\": \"π\",\n \"ρ\": \"ρ\",\n \"ς\": \"ς\",\n \"σ\": \"σ\",\n \"τ\": \"τ\",\n \"υ\": \"υ\",\n \"φ\": \"φ\",\n \"χ\": \"χ\",\n \"ψ\": \"ψ\",\n \"ω\": \"ω\",\n \"ϑ\": \"ϑ\",\n \"ϒ\": \"ϒ\",\n \"ϖ\": \"ϖ\",\n \"•\": \"•\",\n \"…\": \"…\",\n \"′\": \"′\",\n \"″\": \"″\",\n \"‾\": \"‾\",\n \"⁄\": \"⁄\",\n \"℘\": \"℘\",\n \"ℑ\": \"ℑ\",\n \"ℜ\": \"ℜ\",\n \"™\": \"™\",\n \"ℵ\": \"ℵ\",\n \"←\": \"←\",\n \"↑\": \"↑\",\n \"→\": \"→\",\n \"↓\": \"↓\",\n \"↔\": \"↔\",\n \"↵\": \"↵\",\n \"⇐\": \"⇐\",\n \"⇑\": \"⇑\",\n \"⇒\": \"⇒\",\n \"⇓\": \"⇓\",\n \"⇔\": \"⇔\",\n \"∀\": \"∀\",\n \"∂\": \"∂\",\n \"∃\": \"∃\",\n \"∅\": \"∅\",\n \"∇\": \"∇\",\n \"∈\": \"∈\",\n \"∉\": \"∉\",\n \"∋\": \"∋\",\n \"∏\": \"∏\",\n \"∑\": \"∑\",\n \"−\": \"−\",\n \"∗\": \"∗\",\n \"√\": \"√\",\n \"∝\": \"∝\",\n \"∞\": \"∞\",\n \"∠\": \"∠\",\n \"∧\": \"∧\",\n \"∨\": \"∨\",\n \"∩\": \"∩\",\n \"∪\": \"∪\",\n \"∫\": \"∫\",\n \"∴\": \"∴\",\n \"∼\": \"∼\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"≠\": \"≠\",\n \"≡\": \"≡\",\n \"≤\": \"≤\",\n \"≥\": \"≥\",\n \"⊂\": \"⊂\",\n \"⊃\": \"⊃\",\n \"⊄\": \"⊄\",\n \"⊆\": \"⊆\",\n \"⊇\": \"⊇\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"⊥\": \"⊥\",\n \"⋅\": \"⋅\",\n \"⌈\": \"⌈\",\n \"⌉\": \"⌉\",\n \"⌊\": \"⌊\",\n \"⌋\": \"⌋\",\n \"〈\": \"⟨\",\n \"〉\": \"⟩\",\n \"◊\": \"◊\",\n \"♠\": \"♠\",\n \"♣\": \"♣\",\n \"♥\": \"♥\",\n \"♦\": \"♦\"\n }\n },\n \"html5\": {\n \"entities\": {\n \"Æ\": \"Æ\",\n \"Æ\": \"Æ\",\n \"&\": \"&\",\n \"&\": \"&\",\n \"Á\": \"Á\",\n \"Á\": \"Á\",\n \"Ă\": \"Ă\",\n \"Â\": \"Â\",\n \"Â\": \"Â\",\n \"А\": \"А\",\n \"𝔄\": \"𝔄\",\n \"À\": \"À\",\n \"À\": \"À\",\n \"Α\": \"Α\",\n \"Ā\": \"Ā\",\n \"⩓\": \"⩓\",\n \"Ą\": \"Ą\",\n \"𝔸\": \"𝔸\",\n \"⁡\": \"⁡\",\n \"Å\": \"Å\",\n \"Å\": \"Å\",\n \"𝒜\": \"𝒜\",\n \"≔\": \"≔\",\n \"Ã\": \"Ã\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"Ä\": \"Ä\",\n \"∖\": \"∖\",\n \"⫧\": \"⫧\",\n \"⌆\": \"⌆\",\n \"Б\": \"Б\",\n \"∵\": \"∵\",\n \"ℬ\": \"ℬ\",\n \"Β\": \"Β\",\n \"𝔅\": \"𝔅\",\n \"𝔹\": \"𝔹\",\n \"˘\": \"˘\",\n \"ℬ\": \"ℬ\",\n \"≎\": \"≎\",\n \"Ч\": \"Ч\",\n \"©\": \"©\",\n \"©\": \"©\",\n \"Ć\": \"Ć\",\n \"⋒\": \"⋒\",\n \"ⅅ\": \"ⅅ\",\n \"ℭ\": \"ℭ\",\n \"Č\": \"Č\",\n \"Ç\": \"Ç\",\n \"Ç\": \"Ç\",\n \"Ĉ\": \"Ĉ\",\n \"∰\": \"∰\",\n \"Ċ\": \"Ċ\",\n \"¸\": \"¸\",\n \"·\": \"·\",\n \"ℭ\": \"ℭ\",\n \"Χ\": \"Χ\",\n \"⊙\": \"⊙\",\n \"⊖\": \"⊖\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"∲\": \"∲\",\n \"”\": \"”\",\n \"’\": \"’\",\n \"∷\": \"∷\",\n \"⩴\": \"⩴\",\n \"≡\": \"≡\",\n \"∯\": \"∯\",\n \"∮\": \"∮\",\n \"ℂ\": \"ℂ\",\n \"∐\": \"∐\",\n \"∳\": \"∳\",\n \"⨯\": \"⨯\",\n \"𝒞\": \"𝒞\",\n \"⋓\": \"⋓\",\n \"≍\": \"≍\",\n \"ⅅ\": \"ⅅ\",\n \"⤑\": \"⤑\",\n \"Ђ\": \"Ђ\",\n \"Ѕ\": \"Ѕ\",\n \"Џ\": \"Џ\",\n \"‡\": \"‡\",\n \"↡\": \"↡\",\n \"⫤\": \"⫤\",\n \"Ď\": \"Ď\",\n \"Д\": \"Д\",\n \"∇\": \"∇\",\n \"Δ\": \"Δ\",\n \"𝔇\": \"𝔇\",\n \"´\": \"´\",\n \"˙\": \"˙\",\n \"˝\": \"˝\",\n \"`\": \"`\",\n \"˜\": \"˜\",\n \"⋄\": \"⋄\",\n \"ⅆ\": \"ⅆ\",\n \"𝔻\": \"𝔻\",\n \"¨\": \"¨\",\n \"⃜\": \"⃜\",\n \"≐\": \"≐\",\n \"∯\": \"∯\",\n \"¨\": \"¨\",\n \"⇓\": \"⇓\",\n \"⇐\": \"⇐\",\n \"⇔\": \"⇔\",\n \"⫤\": \"⫤\",\n \"⟸\": \"⟸\",\n \"⟺\": \"⟺\",\n \"⟹\": \"⟹\",\n \"⇒\": \"⇒\",\n \"⊨\": \"⊨\",\n \"⇑\": \"⇑\",\n \"⇕\": \"⇕\",\n \"∥\": \"∥\",\n \"↓\": \"↓\",\n \"⤓\": \"⤓\",\n \"⇵\": \"⇵\",\n \"̑\": \"̑\",\n \"⥐\": \"⥐\",\n \"⥞\": \"⥞\",\n \"↽\": \"↽\",\n \"⥖\": \"⥖\",\n \"⥟\": \"⥟\",\n \"⇁\": \"⇁\",\n \"⥗\": \"⥗\",\n \"⊤\": \"⊤\",\n \"↧\": \"↧\",\n \"⇓\": \"⇓\",\n \"𝒟\": \"𝒟\",\n \"Đ\": \"Đ\",\n \"Ŋ\": \"Ŋ\",\n \"Ð\": \"Ð\",\n \"Ð\": \"Ð\",\n \"É\": \"É\",\n \"É\": \"É\",\n \"Ě\": \"Ě\",\n \"Ê\": \"Ê\",\n \"Ê\": \"Ê\",\n \"Э\": \"Э\",\n \"Ė\": \"Ė\",\n \"𝔈\": \"𝔈\",\n \"È\": \"È\",\n \"È\": \"È\",\n \"∈\": \"∈\",\n \"Ē\": \"Ē\",\n \"◻\": \"◻\",\n \"▫\": \"▫\",\n \"Ę\": \"Ę\",\n \"𝔼\": \"𝔼\",\n \"Ε\": \"Ε\",\n \"⩵\": \"⩵\",\n \"≂\": \"≂\",\n \"⇌\": \"⇌\",\n \"ℰ\": \"ℰ\",\n \"⩳\": \"⩳\",\n \"Η\": \"Η\",\n \"Ë\": \"Ë\",\n \"Ë\": \"Ë\",\n \"∃\": \"∃\",\n \"ⅇ\": \"ⅇ\",\n \"Ф\": \"Ф\",\n \"𝔉\": \"𝔉\",\n \"◼\": \"◼\",\n \"▪\": \"▪\",\n \"𝔽\": \"𝔽\",\n \"∀\": \"∀\",\n \"ℱ\": \"ℱ\",\n \"ℱ\": \"ℱ\",\n \"Ѓ\": \"Ѓ\",\n \">\": \">\",\n \">\": \">\",\n \"Γ\": \"Γ\",\n \"Ϝ\": \"Ϝ\",\n \"Ğ\": \"Ğ\",\n \"Ģ\": \"Ģ\",\n \"Ĝ\": \"Ĝ\",\n \"Г\": \"Г\",\n \"Ġ\": \"Ġ\",\n \"𝔊\": \"𝔊\",\n \"⋙\": \"⋙\",\n \"𝔾\": \"𝔾\",\n \"≥\": \"≥\",\n \"⋛\": \"⋛\",\n \"≧\": \"≧\",\n \"⪢\": \"⪢\",\n \"≷\": \"≷\",\n \"⩾\": \"⩾\",\n \"≳\": \"≳\",\n \"𝒢\": \"𝒢\",\n \"≫\": \"≫\",\n \"Ъ\": \"Ъ\",\n \"ˇ\": \"ˇ\",\n \"^\": \"^\",\n \"Ĥ\": \"Ĥ\",\n \"ℌ\": \"ℌ\",\n \"ℋ\": \"ℋ\",\n \"ℍ\": \"ℍ\",\n \"─\": \"─\",\n \"ℋ\": \"ℋ\",\n \"Ħ\": \"Ħ\",\n \"≎\": \"≎\",\n \"≏\": \"≏\",\n \"Е\": \"Е\",\n \"IJ\": \"IJ\",\n \"Ё\": \"Ё\",\n \"Í\": \"Í\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"Î\": \"Î\",\n \"И\": \"И\",\n \"İ\": \"İ\",\n \"ℑ\": \"ℑ\",\n \"Ì\": \"Ì\",\n \"Ì\": \"Ì\",\n \"ℑ\": \"ℑ\",\n \"Ī\": \"Ī\",\n \"ⅈ\": \"ⅈ\",\n \"⇒\": \"⇒\",\n \"∬\": \"∬\",\n \"∫\": \"∫\",\n \"⋂\": \"⋂\",\n \"⁣\": \"⁣\",\n \"⁢\": \"⁢\",\n \"Į\": \"Į\",\n \"𝕀\": \"𝕀\",\n \"Ι\": \"Ι\",\n \"ℐ\": \"ℐ\",\n \"Ĩ\": \"Ĩ\",\n \"І\": \"І\",\n \"Ï\": \"Ï\",\n \"Ï\": \"Ï\",\n \"Ĵ\": \"Ĵ\",\n \"Й\": \"Й\",\n \"𝔍\": \"𝔍\",\n \"𝕁\": \"𝕁\",\n \"𝒥\": \"𝒥\",\n \"Ј\": \"Ј\",\n \"Є\": \"Є\",\n \"Х\": \"Х\",\n \"Ќ\": \"Ќ\",\n \"Κ\": \"Κ\",\n \"Ķ\": \"Ķ\",\n \"К\": \"К\",\n \"𝔎\": \"𝔎\",\n \"𝕂\": \"𝕂\",\n \"𝒦\": \"𝒦\",\n \"Љ\": \"Љ\",\n \"<\": \"<\",\n \"<\": \"<\",\n \"Ĺ\": \"Ĺ\",\n \"Λ\": \"Λ\",\n \"⟪\": \"⟪\",\n \"ℒ\": \"ℒ\",\n \"↞\": \"↞\",\n \"Ľ\": \"Ľ\",\n \"Ļ\": \"Ļ\",\n \"Л\": \"Л\",\n \"⟨\": \"⟨\",\n \"←\": \"←\",\n \"⇤\": \"⇤\",\n \"⇆\": \"⇆\",\n \"⌈\": \"⌈\",\n \"⟦\": \"⟦\",\n \"⥡\": \"⥡\",\n \"⇃\": \"⇃\",\n \"⥙\": \"⥙\",\n \"⌊\": \"⌊\",\n \"↔\": \"↔\",\n \"⥎\": \"⥎\",\n \"⊣\": \"⊣\",\n \"↤\": \"↤\",\n \"⥚\": \"⥚\",\n \"⊲\": \"⊲\",\n \"⧏\": \"⧏\",\n \"⊴\": \"⊴\",\n \"⥑\": \"⥑\",\n \"⥠\": \"⥠\",\n \"↿\": \"↿\",\n \"⥘\": \"⥘\",\n \"↼\": \"↼\",\n \"⥒\": \"⥒\",\n \"⇐\": \"⇐\",\n \"⇔\": \"⇔\",\n \"⋚\": \"⋚\",\n \"≦\": \"≦\",\n \"≶\": \"≶\",\n \"⪡\": \"⪡\",\n \"⩽\": \"⩽\",\n \"≲\": \"≲\",\n \"𝔏\": \"𝔏\",\n \"⋘\": \"⋘\",\n \"⇚\": \"⇚\",\n \"Ŀ\": \"Ŀ\",\n \"⟵\": \"⟵\",\n \"⟷\": \"⟷\",\n \"⟶\": \"⟶\",\n \"⟸\": \"⟸\",\n \"⟺\": \"⟺\",\n \"⟹\": \"⟹\",\n \"𝕃\": \"𝕃\",\n \"↙\": \"↙\",\n \"↘\": \"↘\",\n \"ℒ\": \"ℒ\",\n \"↰\": \"↰\",\n \"Ł\": \"Ł\",\n \"≪\": \"≪\",\n \"⤅\": \"⤅\",\n \"М\": \"М\",\n \" \": \" \",\n \"ℳ\": \"ℳ\",\n \"𝔐\": \"𝔐\",\n \"∓\": \"∓\",\n \"𝕄\": \"𝕄\",\n \"ℳ\": \"ℳ\",\n \"Μ\": \"Μ\",\n \"Њ\": \"Њ\",\n \"Ń\": \"Ń\",\n \"Ň\": \"Ň\",\n \"Ņ\": \"Ņ\",\n \"Н\": \"Н\",\n \"​\": \"​\",\n \"​\": \"​\",\n \"​\": \"​\",\n \"​\": \"​\",\n \"≫\": \"≫\",\n \"≪\": \"≪\",\n \" \": \"\\n\",\n \"𝔑\": \"𝔑\",\n \"⁠\": \"⁠\",\n \" \": \" \",\n \"ℕ\": \"ℕ\",\n \"⫬\": \"⫬\",\n \"≢\": \"≢\",\n \"≭\": \"≭\",\n \"∦\": \"∦\",\n \"∉\": \"∉\",\n \"≠\": \"≠\",\n \"≂̸\": \"≂̸\",\n \"∄\": \"∄\",\n \"≯\": \"≯\",\n \"≱\": \"≱\",\n \"≧̸\": \"≧̸\",\n \"≫̸\": \"≫̸\",\n \"≹\": \"≹\",\n \"⩾̸\": \"⩾̸\",\n \"≵\": \"≵\",\n \"≎̸\": \"≎̸\",\n \"≏̸\": \"≏̸\",\n \"⋪\": \"⋪\",\n \"⧏̸\": \"⧏̸\",\n \"⋬\": \"⋬\",\n \"≮\": \"≮\",\n \"≰\": \"≰\",\n \"≸\": \"≸\",\n \"≪̸\": \"≪̸\",\n \"⩽̸\": \"⩽̸\",\n \"≴\": \"≴\",\n \"⪢̸\": \"⪢̸\",\n \"⪡̸\": \"⪡̸\",\n \"⊀\": \"⊀\",\n \"⪯̸\": \"⪯̸\",\n \"⋠\": \"⋠\",\n \"∌\": \"∌\",\n \"⋫\": \"⋫\",\n \"⧐̸\": \"⧐̸\",\n \"⋭\": \"⋭\",\n \"⊏̸\": \"⊏̸\",\n \"⋢\": \"⋢\",\n \"⊐̸\": \"⊐̸\",\n \"⋣\": \"⋣\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊈\": \"⊈\",\n \"⊁\": \"⊁\",\n \"⪰̸\": \"⪰̸\",\n \"⋡\": \"⋡\",\n \"≿̸\": \"≿̸\",\n \"⊃⃒\": \"⊃⃒\",\n \"⊉\": \"⊉\",\n \"≁\": \"≁\",\n \"≄\": \"≄\",\n \"≇\": \"≇\",\n \"≉\": \"≉\",\n \"∤\": \"∤\",\n \"𝒩\": \"𝒩\",\n \"Ñ\": \"Ñ\",\n \"Ñ\": \"Ñ\",\n \"Ν\": \"Ν\",\n \"Œ\": \"Œ\",\n \"Ó\": \"Ó\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"Ô\": \"Ô\",\n \"О\": \"О\",\n \"Ő\": \"Ő\",\n \"𝔒\": \"𝔒\",\n \"Ò\": \"Ò\",\n \"Ò\": \"Ò\",\n \"Ō\": \"Ō\",\n \"Ω\": \"Ω\",\n \"Ο\": \"Ο\",\n \"𝕆\": \"𝕆\",\n \"“\": \"“\",\n \"‘\": \"‘\",\n \"⩔\": \"⩔\",\n \"𝒪\": \"𝒪\",\n \"Ø\": \"Ø\",\n \"Ø\": \"Ø\",\n \"Õ\": \"Õ\",\n \"Õ\": \"Õ\",\n \"⨷\": \"⨷\",\n \"Ö\": \"Ö\",\n \"Ö\": \"Ö\",\n \"‾\": \"‾\",\n \"⏞\": \"⏞\",\n \"⎴\": \"⎴\",\n \"⏜\": \"⏜\",\n \"∂\": \"∂\",\n \"П\": \"П\",\n \"𝔓\": \"𝔓\",\n \"Φ\": \"Φ\",\n \"Π\": \"Π\",\n \"±\": \"±\",\n \"ℌ\": \"ℌ\",\n \"ℙ\": \"ℙ\",\n \"⪻\": \"⪻\",\n \"≺\": \"≺\",\n \"⪯\": \"⪯\",\n \"≼\": \"≼\",\n \"≾\": \"≾\",\n \"″\": \"″\",\n \"∏\": \"∏\",\n \"∷\": \"∷\",\n \"∝\": \"∝\",\n \"𝒫\": \"𝒫\",\n \"Ψ\": \"Ψ\",\n \""\": \"\\\"\",\n \""\": \"\\\"\",\n \"𝔔\": \"𝔔\",\n \"ℚ\": \"ℚ\",\n \"𝒬\": \"𝒬\",\n \"⤐\": \"⤐\",\n \"®\": \"®\",\n \"®\": \"®\",\n \"Ŕ\": \"Ŕ\",\n \"⟫\": \"⟫\",\n \"↠\": \"↠\",\n \"⤖\": \"⤖\",\n \"Ř\": \"Ř\",\n \"Ŗ\": \"Ŗ\",\n \"Р\": \"Р\",\n \"ℜ\": \"ℜ\",\n \"∋\": \"∋\",\n \"⇋\": \"⇋\",\n \"⥯\": \"⥯\",\n \"ℜ\": \"ℜ\",\n \"Ρ\": \"Ρ\",\n \"⟩\": \"⟩\",\n \"→\": \"→\",\n \"⇥\": \"⇥\",\n \"⇄\": \"⇄\",\n \"⌉\": \"⌉\",\n \"⟧\": \"⟧\",\n \"⥝\": \"⥝\",\n \"⇂\": \"⇂\",\n \"⥕\": \"⥕\",\n \"⌋\": \"⌋\",\n \"⊢\": \"⊢\",\n \"↦\": \"↦\",\n \"⥛\": \"⥛\",\n \"⊳\": \"⊳\",\n \"⧐\": \"⧐\",\n \"⊵\": \"⊵\",\n \"⥏\": \"⥏\",\n \"⥜\": \"⥜\",\n \"↾\": \"↾\",\n \"⥔\": \"⥔\",\n \"⇀\": \"⇀\",\n \"⥓\": \"⥓\",\n \"⇒\": \"⇒\",\n \"ℝ\": \"ℝ\",\n \"⥰\": \"⥰\",\n \"⇛\": \"⇛\",\n \"ℛ\": \"ℛ\",\n \"↱\": \"↱\",\n \"⧴\": \"⧴\",\n \"Щ\": \"Щ\",\n \"Ш\": \"Ш\",\n \"Ь\": \"Ь\",\n \"Ś\": \"Ś\",\n \"⪼\": \"⪼\",\n \"Š\": \"Š\",\n \"Ş\": \"Ş\",\n \"Ŝ\": \"Ŝ\",\n \"С\": \"С\",\n \"𝔖\": \"𝔖\",\n \"↓\": \"↓\",\n \"←\": \"←\",\n \"→\": \"→\",\n \"↑\": \"↑\",\n \"Σ\": \"Σ\",\n \"∘\": \"∘\",\n \"𝕊\": \"𝕊\",\n \"√\": \"√\",\n \"□\": \"□\",\n \"⊓\": \"⊓\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"⊔\": \"⊔\",\n \"𝒮\": \"𝒮\",\n \"⋆\": \"⋆\",\n \"⋐\": \"⋐\",\n \"⋐\": \"⋐\",\n \"⊆\": \"⊆\",\n \"≻\": \"≻\",\n \"⪰\": \"⪰\",\n \"≽\": \"≽\",\n \"≿\": \"≿\",\n \"∋\": \"∋\",\n \"∑\": \"∑\",\n \"⋑\": \"⋑\",\n \"⊃\": \"⊃\",\n \"⊇\": \"⊇\",\n \"⋑\": \"⋑\",\n \"Þ\": \"Þ\",\n \"Þ\": \"Þ\",\n \"™\": \"™\",\n \"Ћ\": \"Ћ\",\n \"Ц\": \"Ц\",\n \" \": \"\\t\",\n \"Τ\": \"Τ\",\n \"Ť\": \"Ť\",\n \"Ţ\": \"Ţ\",\n \"Т\": \"Т\",\n \"𝔗\": \"𝔗\",\n \"∴\": \"∴\",\n \"Θ\": \"Θ\",\n \"  \": \"  \",\n \" \": \" \",\n \"∼\": \"∼\",\n \"≃\": \"≃\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"𝕋\": \"𝕋\",\n \"⃛\": \"⃛\",\n \"𝒯\": \"𝒯\",\n \"Ŧ\": \"Ŧ\",\n \"Ú\": \"Ú\",\n \"Ú\": \"Ú\",\n \"↟\": \"↟\",\n \"⥉\": \"⥉\",\n \"Ў\": \"Ў\",\n \"Ŭ\": \"Ŭ\",\n \"Û\": \"Û\",\n \"Û\": \"Û\",\n \"У\": \"У\",\n \"Ű\": \"Ű\",\n \"𝔘\": \"𝔘\",\n \"Ù\": \"Ù\",\n \"Ù\": \"Ù\",\n \"Ū\": \"Ū\",\n \"_\": \"_\",\n \"⏟\": \"⏟\",\n \"⎵\": \"⎵\",\n \"⏝\": \"⏝\",\n \"⋃\": \"⋃\",\n \"⊎\": \"⊎\",\n \"Ų\": \"Ų\",\n \"𝕌\": \"𝕌\",\n \"↑\": \"↑\",\n \"⤒\": \"⤒\",\n \"⇅\": \"⇅\",\n \"↕\": \"↕\",\n \"⥮\": \"⥮\",\n \"⊥\": \"⊥\",\n \"↥\": \"↥\",\n \"⇑\": \"⇑\",\n \"⇕\": \"⇕\",\n \"↖\": \"↖\",\n \"↗\": \"↗\",\n \"ϒ\": \"ϒ\",\n \"Υ\": \"Υ\",\n \"Ů\": \"Ů\",\n \"𝒰\": \"𝒰\",\n \"Ũ\": \"Ũ\",\n \"Ü\": \"Ü\",\n \"Ü\": \"Ü\",\n \"⊫\": \"⊫\",\n \"⫫\": \"⫫\",\n \"В\": \"В\",\n \"⊩\": \"⊩\",\n \"⫦\": \"⫦\",\n \"⋁\": \"⋁\",\n \"‖\": \"‖\",\n \"‖\": \"‖\",\n \"∣\": \"∣\",\n \"|\": \"|\",\n \"❘\": \"❘\",\n \"≀\": \"≀\",\n \" \": \" \",\n \"𝔙\": \"𝔙\",\n \"𝕍\": \"𝕍\",\n \"𝒱\": \"𝒱\",\n \"⊪\": \"⊪\",\n \"Ŵ\": \"Ŵ\",\n \"⋀\": \"⋀\",\n \"𝔚\": \"𝔚\",\n \"𝕎\": \"𝕎\",\n \"𝒲\": \"𝒲\",\n \"𝔛\": \"𝔛\",\n \"Ξ\": \"Ξ\",\n \"𝕏\": \"𝕏\",\n \"𝒳\": \"𝒳\",\n \"Я\": \"Я\",\n \"Ї\": \"Ї\",\n \"Ю\": \"Ю\",\n \"Ý\": \"Ý\",\n \"Ý\": \"Ý\",\n \"Ŷ\": \"Ŷ\",\n \"Ы\": \"Ы\",\n \"𝔜\": \"𝔜\",\n \"𝕐\": \"𝕐\",\n \"𝒴\": \"𝒴\",\n \"Ÿ\": \"Ÿ\",\n \"Ж\": \"Ж\",\n \"Ź\": \"Ź\",\n \"Ž\": \"Ž\",\n \"З\": \"З\",\n \"Ż\": \"Ż\",\n \"​\": \"​\",\n \"Ζ\": \"Ζ\",\n \"ℨ\": \"ℨ\",\n \"ℤ\": \"ℤ\",\n \"𝒵\": \"𝒵\",\n \"á\": \"á\",\n \"á\": \"á\",\n \"ă\": \"ă\",\n \"∾\": \"∾\",\n \"∾̳\": \"∾̳\",\n \"∿\": \"∿\",\n \"â\": \"â\",\n \"â\": \"â\",\n \"´\": \"´\",\n \"´\": \"´\",\n \"а\": \"а\",\n \"æ\": \"æ\",\n \"æ\": \"æ\",\n \"⁡\": \"⁡\",\n \"𝔞\": \"𝔞\",\n \"à\": \"à\",\n \"à\": \"à\",\n \"ℵ\": \"ℵ\",\n \"ℵ\": \"ℵ\",\n \"α\": \"α\",\n \"ā\": \"ā\",\n \"⨿\": \"⨿\",\n \"&\": \"&\",\n \"&\": \"&\",\n \"∧\": \"∧\",\n \"⩕\": \"⩕\",\n \"⩜\": \"⩜\",\n \"⩘\": \"⩘\",\n \"⩚\": \"⩚\",\n \"∠\": \"∠\",\n \"⦤\": \"⦤\",\n \"∠\": \"∠\",\n \"∡\": \"∡\",\n \"⦨\": \"⦨\",\n \"⦩\": \"⦩\",\n \"⦪\": \"⦪\",\n \"⦫\": \"⦫\",\n \"⦬\": \"⦬\",\n \"⦭\": \"⦭\",\n \"⦮\": \"⦮\",\n \"⦯\": \"⦯\",\n \"∟\": \"∟\",\n \"⊾\": \"⊾\",\n \"⦝\": \"⦝\",\n \"∢\": \"∢\",\n \"Å\": \"Å\",\n \"⍼\": \"⍼\",\n \"ą\": \"ą\",\n \"𝕒\": \"𝕒\",\n \"≈\": \"≈\",\n \"⩰\": \"⩰\",\n \"⩯\": \"⩯\",\n \"≊\": \"≊\",\n \"≋\": \"≋\",\n \"'\": \"'\",\n \"≈\": \"≈\",\n \"≊\": \"≊\",\n \"å\": \"å\",\n \"å\": \"å\",\n \"𝒶\": \"𝒶\",\n \"*\": \"*\",\n \"≈\": \"≈\",\n \"≍\": \"≍\",\n \"ã\": \"ã\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"ä\": \"ä\",\n \"∳\": \"∳\",\n \"⨑\": \"⨑\",\n \"⫭\": \"⫭\",\n \"≌\": \"≌\",\n \"϶\": \"϶\",\n \"‵\": \"‵\",\n \"∽\": \"∽\",\n \"⋍\": \"⋍\",\n \"⊽\": \"⊽\",\n \"⌅\": \"⌅\",\n \"⌅\": \"⌅\",\n \"⎵\": \"⎵\",\n \"⎶\": \"⎶\",\n \"≌\": \"≌\",\n \"б\": \"б\",\n \"„\": \"„\",\n \"∵\": \"∵\",\n \"∵\": \"∵\",\n \"⦰\": \"⦰\",\n \"϶\": \"϶\",\n \"ℬ\": \"ℬ\",\n \"β\": \"β\",\n \"ℶ\": \"ℶ\",\n \"≬\": \"≬\",\n \"𝔟\": \"𝔟\",\n \"⋂\": \"⋂\",\n \"◯\": \"◯\",\n \"⋃\": \"⋃\",\n \"⨀\": \"⨀\",\n \"⨁\": \"⨁\",\n \"⨂\": \"⨂\",\n \"⨆\": \"⨆\",\n \"★\": \"★\",\n \"▽\": \"▽\",\n \"△\": \"△\",\n \"⨄\": \"⨄\",\n \"⋁\": \"⋁\",\n \"⋀\": \"⋀\",\n \"⤍\": \"⤍\",\n \"⧫\": \"⧫\",\n \"▪\": \"▪\",\n \"▴\": \"▴\",\n \"▾\": \"▾\",\n \"◂\": \"◂\",\n \"▸\": \"▸\",\n \"␣\": \"␣\",\n \"▒\": \"▒\",\n \"░\": \"░\",\n \"▓\": \"▓\",\n \"█\": \"█\",\n \"=⃥\": \"=⃥\",\n \"≡⃥\": \"≡⃥\",\n \"⌐\": \"⌐\",\n \"𝕓\": \"𝕓\",\n \"⊥\": \"⊥\",\n \"⊥\": \"⊥\",\n \"⋈\": \"⋈\",\n \"╗\": \"╗\",\n \"╔\": \"╔\",\n \"╖\": \"╖\",\n \"╓\": \"╓\",\n \"═\": \"═\",\n \"╦\": \"╦\",\n \"╩\": \"╩\",\n \"╤\": \"╤\",\n \"╧\": \"╧\",\n \"╝\": \"╝\",\n \"╚\": \"╚\",\n \"╜\": \"╜\",\n \"╙\": \"╙\",\n \"║\": \"║\",\n \"╬\": \"╬\",\n \"╣\": \"╣\",\n \"╠\": \"╠\",\n \"╫\": \"╫\",\n \"╢\": \"╢\",\n \"╟\": \"╟\",\n \"⧉\": \"⧉\",\n \"╕\": \"╕\",\n \"╒\": \"╒\",\n \"┐\": \"┐\",\n \"┌\": \"┌\",\n \"─\": \"─\",\n \"╥\": \"╥\",\n \"╨\": \"╨\",\n \"┬\": \"┬\",\n \"┴\": \"┴\",\n \"⊟\": \"⊟\",\n \"⊞\": \"⊞\",\n \"⊠\": \"⊠\",\n \"╛\": \"╛\",\n \"╘\": \"╘\",\n \"┘\": \"┘\",\n \"└\": \"└\",\n \"│\": \"│\",\n \"╪\": \"╪\",\n \"╡\": \"╡\",\n \"╞\": \"╞\",\n \"┼\": \"┼\",\n \"┤\": \"┤\",\n \"├\": \"├\",\n \"‵\": \"‵\",\n \"˘\": \"˘\",\n \"¦\": \"¦\",\n \"¦\": \"¦\",\n \"𝒷\": \"𝒷\",\n \"⁏\": \"⁏\",\n \"∽\": \"∽\",\n \"⋍\": \"⋍\",\n \"\\": \"\\\\\",\n \"⧅\": \"⧅\",\n \"⟈\": \"⟈\",\n \"•\": \"•\",\n \"•\": \"•\",\n \"≎\": \"≎\",\n \"⪮\": \"⪮\",\n \"≏\": \"≏\",\n \"≏\": \"≏\",\n \"ć\": \"ć\",\n \"∩\": \"∩\",\n \"⩄\": \"⩄\",\n \"⩉\": \"⩉\",\n \"⩋\": \"⩋\",\n \"⩇\": \"⩇\",\n \"⩀\": \"⩀\",\n \"∩︀\": \"∩︀\",\n \"⁁\": \"⁁\",\n \"ˇ\": \"ˇ\",\n \"⩍\": \"⩍\",\n \"č\": \"č\",\n \"ç\": \"ç\",\n \"ç\": \"ç\",\n \"ĉ\": \"ĉ\",\n \"⩌\": \"⩌\",\n \"⩐\": \"⩐\",\n \"ċ\": \"ċ\",\n \"¸\": \"¸\",\n \"¸\": \"¸\",\n \"⦲\": \"⦲\",\n \"¢\": \"¢\",\n \"¢\": \"¢\",\n \"·\": \"·\",\n \"𝔠\": \"𝔠\",\n \"ч\": \"ч\",\n \"✓\": \"✓\",\n \"✓\": \"✓\",\n \"χ\": \"χ\",\n \"○\": \"○\",\n \"⧃\": \"⧃\",\n \"ˆ\": \"ˆ\",\n \"≗\": \"≗\",\n \"↺\": \"↺\",\n \"↻\": \"↻\",\n \"®\": \"®\",\n \"Ⓢ\": \"Ⓢ\",\n \"⊛\": \"⊛\",\n \"⊚\": \"⊚\",\n \"⊝\": \"⊝\",\n \"≗\": \"≗\",\n \"⨐\": \"⨐\",\n \"⫯\": \"⫯\",\n \"⧂\": \"⧂\",\n \"♣\": \"♣\",\n \"♣\": \"♣\",\n \":\": \":\",\n \"≔\": \"≔\",\n \"≔\": \"≔\",\n \",\": \",\",\n \"@\": \"@\",\n \"∁\": \"∁\",\n \"∘\": \"∘\",\n \"∁\": \"∁\",\n \"ℂ\": \"ℂ\",\n \"≅\": \"≅\",\n \"⩭\": \"⩭\",\n \"∮\": \"∮\",\n \"𝕔\": \"𝕔\",\n \"∐\": \"∐\",\n \"©\": \"©\",\n \"©\": \"©\",\n \"℗\": \"℗\",\n \"↵\": \"↵\",\n \"✗\": \"✗\",\n \"𝒸\": \"𝒸\",\n \"⫏\": \"⫏\",\n \"⫑\": \"⫑\",\n \"⫐\": \"⫐\",\n \"⫒\": \"⫒\",\n \"⋯\": \"⋯\",\n \"⤸\": \"⤸\",\n \"⤵\": \"⤵\",\n \"⋞\": \"⋞\",\n \"⋟\": \"⋟\",\n \"↶\": \"↶\",\n \"⤽\": \"⤽\",\n \"∪\": \"∪\",\n \"⩈\": \"⩈\",\n \"⩆\": \"⩆\",\n \"⩊\": \"⩊\",\n \"⊍\": \"⊍\",\n \"⩅\": \"⩅\",\n \"∪︀\": \"∪︀\",\n \"↷\": \"↷\",\n \"⤼\": \"⤼\",\n \"⋞\": \"⋞\",\n \"⋟\": \"⋟\",\n \"⋎\": \"⋎\",\n \"⋏\": \"⋏\",\n \"¤\": \"¤\",\n \"¤\": \"¤\",\n \"↶\": \"↶\",\n \"↷\": \"↷\",\n \"⋎\": \"⋎\",\n \"⋏\": \"⋏\",\n \"∲\": \"∲\",\n \"∱\": \"∱\",\n \"⌭\": \"⌭\",\n \"⇓\": \"⇓\",\n \"⥥\": \"⥥\",\n \"†\": \"†\",\n \"ℸ\": \"ℸ\",\n \"↓\": \"↓\",\n \"‐\": \"‐\",\n \"⊣\": \"⊣\",\n \"⤏\": \"⤏\",\n \"˝\": \"˝\",\n \"ď\": \"ď\",\n \"д\": \"д\",\n \"ⅆ\": \"ⅆ\",\n \"‡\": \"‡\",\n \"⇊\": \"⇊\",\n \"⩷\": \"⩷\",\n \"°\": \"°\",\n \"°\": \"°\",\n \"δ\": \"δ\",\n \"⦱\": \"⦱\",\n \"⥿\": \"⥿\",\n \"𝔡\": \"𝔡\",\n \"⇃\": \"⇃\",\n \"⇂\": \"⇂\",\n \"⋄\": \"⋄\",\n \"⋄\": \"⋄\",\n \"♦\": \"♦\",\n \"♦\": \"♦\",\n \"¨\": \"¨\",\n \"ϝ\": \"ϝ\",\n \"⋲\": \"⋲\",\n \"÷\": \"÷\",\n \"÷\": \"÷\",\n \"÷\": \"÷\",\n \"⋇\": \"⋇\",\n \"⋇\": \"⋇\",\n \"ђ\": \"ђ\",\n \"⌞\": \"⌞\",\n \"⌍\": \"⌍\",\n \"$\": \"$\",\n \"𝕕\": \"𝕕\",\n \"˙\": \"˙\",\n \"≐\": \"≐\",\n \"≑\": \"≑\",\n \"∸\": \"∸\",\n \"∔\": \"∔\",\n \"⊡\": \"⊡\",\n \"⌆\": \"⌆\",\n \"↓\": \"↓\",\n \"⇊\": \"⇊\",\n \"⇃\": \"⇃\",\n \"⇂\": \"⇂\",\n \"⤐\": \"⤐\",\n \"⌟\": \"⌟\",\n \"⌌\": \"⌌\",\n \"𝒹\": \"𝒹\",\n \"ѕ\": \"ѕ\",\n \"⧶\": \"⧶\",\n \"đ\": \"đ\",\n \"⋱\": \"⋱\",\n \"▿\": \"▿\",\n \"▾\": \"▾\",\n \"⇵\": \"⇵\",\n \"⥯\": \"⥯\",\n \"⦦\": \"⦦\",\n \"џ\": \"џ\",\n \"⟿\": \"⟿\",\n \"⩷\": \"⩷\",\n \"≑\": \"≑\",\n \"é\": \"é\",\n \"é\": \"é\",\n \"⩮\": \"⩮\",\n \"ě\": \"ě\",\n \"≖\": \"≖\",\n \"ê\": \"ê\",\n \"ê\": \"ê\",\n \"≕\": \"≕\",\n \"э\": \"э\",\n \"ė\": \"ė\",\n \"ⅇ\": \"ⅇ\",\n \"≒\": \"≒\",\n \"𝔢\": \"𝔢\",\n \"⪚\": \"⪚\",\n \"è\": \"è\",\n \"è\": \"è\",\n \"⪖\": \"⪖\",\n \"⪘\": \"⪘\",\n \"⪙\": \"⪙\",\n \"⏧\": \"⏧\",\n \"ℓ\": \"ℓ\",\n \"⪕\": \"⪕\",\n \"⪗\": \"⪗\",\n \"ē\": \"ē\",\n \"∅\": \"∅\",\n \"∅\": \"∅\",\n \"∅\": \"∅\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"ŋ\": \"ŋ\",\n \" \": \" \",\n \"ę\": \"ę\",\n \"𝕖\": \"𝕖\",\n \"⋕\": \"⋕\",\n \"⧣\": \"⧣\",\n \"⩱\": \"⩱\",\n \"ε\": \"ε\",\n \"ε\": \"ε\",\n \"ϵ\": \"ϵ\",\n \"≖\": \"≖\",\n \"≕\": \"≕\",\n \"≂\": \"≂\",\n \"⪖\": \"⪖\",\n \"⪕\": \"⪕\",\n \"=\": \"=\",\n \"≟\": \"≟\",\n \"≡\": \"≡\",\n \"⩸\": \"⩸\",\n \"⧥\": \"⧥\",\n \"≓\": \"≓\",\n \"⥱\": \"⥱\",\n \"ℯ\": \"ℯ\",\n \"≐\": \"≐\",\n \"≂\": \"≂\",\n \"η\": \"η\",\n \"ð\": \"ð\",\n \"ð\": \"ð\",\n \"ë\": \"ë\",\n \"ë\": \"ë\",\n \"€\": \"€\",\n \"!\": \"!\",\n \"∃\": \"∃\",\n \"ℰ\": \"ℰ\",\n \"ⅇ\": \"ⅇ\",\n \"≒\": \"≒\",\n \"ф\": \"ф\",\n \"♀\": \"♀\",\n \"ffi\": \"ffi\",\n \"ff\": \"ff\",\n \"ffl\": \"ffl\",\n \"𝔣\": \"𝔣\",\n \"fi\": \"fi\",\n \"fj\": \"fj\",\n \"♭\": \"♭\",\n \"fl\": \"fl\",\n \"▱\": \"▱\",\n \"ƒ\": \"ƒ\",\n \"𝕗\": \"𝕗\",\n \"∀\": \"∀\",\n \"⋔\": \"⋔\",\n \"⫙\": \"⫙\",\n \"⨍\": \"⨍\",\n \"½\": \"½\",\n \"½\": \"½\",\n \"⅓\": \"⅓\",\n \"¼\": \"¼\",\n \"¼\": \"¼\",\n \"⅕\": \"⅕\",\n \"⅙\": \"⅙\",\n \"⅛\": \"⅛\",\n \"⅔\": \"⅔\",\n \"⅖\": \"⅖\",\n \"¾\": \"¾\",\n \"¾\": \"¾\",\n \"⅗\": \"⅗\",\n \"⅜\": \"⅜\",\n \"⅘\": \"⅘\",\n \"⅚\": \"⅚\",\n \"⅝\": \"⅝\",\n \"⅞\": \"⅞\",\n \"⁄\": \"⁄\",\n \"⌢\": \"⌢\",\n \"𝒻\": \"𝒻\",\n \"≧\": \"≧\",\n \"⪌\": \"⪌\",\n \"ǵ\": \"ǵ\",\n \"γ\": \"γ\",\n \"ϝ\": \"ϝ\",\n \"⪆\": \"⪆\",\n \"ğ\": \"ğ\",\n \"ĝ\": \"ĝ\",\n \"г\": \"г\",\n \"ġ\": \"ġ\",\n \"≥\": \"≥\",\n \"⋛\": \"⋛\",\n \"≥\": \"≥\",\n \"≧\": \"≧\",\n \"⩾\": \"⩾\",\n \"⩾\": \"⩾\",\n \"⪩\": \"⪩\",\n \"⪀\": \"⪀\",\n \"⪂\": \"⪂\",\n \"⪄\": \"⪄\",\n \"⋛︀\": \"⋛︀\",\n \"⪔\": \"⪔\",\n \"𝔤\": \"𝔤\",\n \"≫\": \"≫\",\n \"⋙\": \"⋙\",\n \"ℷ\": \"ℷ\",\n \"ѓ\": \"ѓ\",\n \"≷\": \"≷\",\n \"⪒\": \"⪒\",\n \"⪥\": \"⪥\",\n \"⪤\": \"⪤\",\n \"≩\": \"≩\",\n \"⪊\": \"⪊\",\n \"⪊\": \"⪊\",\n \"⪈\": \"⪈\",\n \"⪈\": \"⪈\",\n \"≩\": \"≩\",\n \"⋧\": \"⋧\",\n \"𝕘\": \"𝕘\",\n \"`\": \"`\",\n \"ℊ\": \"ℊ\",\n \"≳\": \"≳\",\n \"⪎\": \"⪎\",\n \"⪐\": \"⪐\",\n \">\": \">\",\n \">\": \">\",\n \"⪧\": \"⪧\",\n \"⩺\": \"⩺\",\n \"⋗\": \"⋗\",\n \"⦕\": \"⦕\",\n \"⩼\": \"⩼\",\n \"⪆\": \"⪆\",\n \"⥸\": \"⥸\",\n \"⋗\": \"⋗\",\n \"⋛\": \"⋛\",\n \"⪌\": \"⪌\",\n \"≷\": \"≷\",\n \"≳\": \"≳\",\n \"≩︀\": \"≩︀\",\n \"≩︀\": \"≩︀\",\n \"⇔\": \"⇔\",\n \" \": \" \",\n \"½\": \"½\",\n \"ℋ\": \"ℋ\",\n \"ъ\": \"ъ\",\n \"↔\": \"↔\",\n \"⥈\": \"⥈\",\n \"↭\": \"↭\",\n \"ℏ\": \"ℏ\",\n \"ĥ\": \"ĥ\",\n \"♥\": \"♥\",\n \"♥\": \"♥\",\n \"…\": \"…\",\n \"⊹\": \"⊹\",\n \"𝔥\": \"𝔥\",\n \"⤥\": \"⤥\",\n \"⤦\": \"⤦\",\n \"⇿\": \"⇿\",\n \"∻\": \"∻\",\n \"↩\": \"↩\",\n \"↪\": \"↪\",\n \"𝕙\": \"𝕙\",\n \"―\": \"―\",\n \"𝒽\": \"𝒽\",\n \"ℏ\": \"ℏ\",\n \"ħ\": \"ħ\",\n \"⁃\": \"⁃\",\n \"‐\": \"‐\",\n \"í\": \"í\",\n \"í\": \"í\",\n \"⁣\": \"⁣\",\n \"î\": \"î\",\n \"î\": \"î\",\n \"и\": \"и\",\n \"е\": \"е\",\n \"¡\": \"¡\",\n \"¡\": \"¡\",\n \"⇔\": \"⇔\",\n \"𝔦\": \"𝔦\",\n \"ì\": \"ì\",\n \"ì\": \"ì\",\n \"ⅈ\": \"ⅈ\",\n \"⨌\": \"⨌\",\n \"∭\": \"∭\",\n \"⧜\": \"⧜\",\n \"℩\": \"℩\",\n \"ij\": \"ij\",\n \"ī\": \"ī\",\n \"ℑ\": \"ℑ\",\n \"ℐ\": \"ℐ\",\n \"ℑ\": \"ℑ\",\n \"ı\": \"ı\",\n \"⊷\": \"⊷\",\n \"Ƶ\": \"Ƶ\",\n \"∈\": \"∈\",\n \"℅\": \"℅\",\n \"∞\": \"∞\",\n \"⧝\": \"⧝\",\n \"ı\": \"ı\",\n \"∫\": \"∫\",\n \"⊺\": \"⊺\",\n \"ℤ\": \"ℤ\",\n \"⊺\": \"⊺\",\n \"⨗\": \"⨗\",\n \"⨼\": \"⨼\",\n \"ё\": \"ё\",\n \"į\": \"į\",\n \"𝕚\": \"𝕚\",\n \"ι\": \"ι\",\n \"⨼\": \"⨼\",\n \"¿\": \"¿\",\n \"¿\": \"¿\",\n \"𝒾\": \"𝒾\",\n \"∈\": \"∈\",\n \"⋹\": \"⋹\",\n \"⋵\": \"⋵\",\n \"⋴\": \"⋴\",\n \"⋳\": \"⋳\",\n \"∈\": \"∈\",\n \"⁢\": \"⁢\",\n \"ĩ\": \"ĩ\",\n \"і\": \"і\",\n \"ï\": \"ï\",\n \"ï\": \"ï\",\n \"ĵ\": \"ĵ\",\n \"й\": \"й\",\n \"𝔧\": \"𝔧\",\n \"ȷ\": \"ȷ\",\n \"𝕛\": \"𝕛\",\n \"𝒿\": \"𝒿\",\n \"ј\": \"ј\",\n \"є\": \"є\",\n \"κ\": \"κ\",\n \"ϰ\": \"ϰ\",\n \"ķ\": \"ķ\",\n \"к\": \"к\",\n \"𝔨\": \"𝔨\",\n \"ĸ\": \"ĸ\",\n \"х\": \"х\",\n \"ќ\": \"ќ\",\n \"𝕜\": \"𝕜\",\n \"𝓀\": \"𝓀\",\n \"⇚\": \"⇚\",\n \"⇐\": \"⇐\",\n \"⤛\": \"⤛\",\n \"⤎\": \"⤎\",\n \"≦\": \"≦\",\n \"⪋\": \"⪋\",\n \"⥢\": \"⥢\",\n \"ĺ\": \"ĺ\",\n \"⦴\": \"⦴\",\n \"ℒ\": \"ℒ\",\n \"λ\": \"λ\",\n \"⟨\": \"⟨\",\n \"⦑\": \"⦑\",\n \"⟨\": \"⟨\",\n \"⪅\": \"⪅\",\n \"«\": \"«\",\n \"«\": \"«\",\n \"←\": \"←\",\n \"⇤\": \"⇤\",\n \"⤟\": \"⤟\",\n \"⤝\": \"⤝\",\n \"↩\": \"↩\",\n \"↫\": \"↫\",\n \"⤹\": \"⤹\",\n \"⥳\": \"⥳\",\n \"↢\": \"↢\",\n \"⪫\": \"⪫\",\n \"⤙\": \"⤙\",\n \"⪭\": \"⪭\",\n \"⪭︀\": \"⪭︀\",\n \"⤌\": \"⤌\",\n \"❲\": \"❲\",\n \"{\": \"{\",\n \"[\": \"[\",\n \"⦋\": \"⦋\",\n \"⦏\": \"⦏\",\n \"⦍\": \"⦍\",\n \"ľ\": \"ľ\",\n \"ļ\": \"ļ\",\n \"⌈\": \"⌈\",\n \"{\": \"{\",\n \"л\": \"л\",\n \"⤶\": \"⤶\",\n \"“\": \"“\",\n \"„\": \"„\",\n \"⥧\": \"⥧\",\n \"⥋\": \"⥋\",\n \"↲\": \"↲\",\n \"≤\": \"≤\",\n \"←\": \"←\",\n \"↢\": \"↢\",\n \"↽\": \"↽\",\n \"↼\": \"↼\",\n \"⇇\": \"⇇\",\n \"↔\": \"↔\",\n \"⇆\": \"⇆\",\n \"⇋\": \"⇋\",\n \"↭\": \"↭\",\n \"⋋\": \"⋋\",\n \"⋚\": \"⋚\",\n \"≤\": \"≤\",\n \"≦\": \"≦\",\n \"⩽\": \"⩽\",\n \"⩽\": \"⩽\",\n \"⪨\": \"⪨\",\n \"⩿\": \"⩿\",\n \"⪁\": \"⪁\",\n \"⪃\": \"⪃\",\n \"⋚︀\": \"⋚︀\",\n \"⪓\": \"⪓\",\n \"⪅\": \"⪅\",\n \"⋖\": \"⋖\",\n \"⋚\": \"⋚\",\n \"⪋\": \"⪋\",\n \"≶\": \"≶\",\n \"≲\": \"≲\",\n \"⥼\": \"⥼\",\n \"⌊\": \"⌊\",\n \"𝔩\": \"𝔩\",\n \"≶\": \"≶\",\n \"⪑\": \"⪑\",\n \"↽\": \"↽\",\n \"↼\": \"↼\",\n \"⥪\": \"⥪\",\n \"▄\": \"▄\",\n \"љ\": \"љ\",\n \"≪\": \"≪\",\n \"⇇\": \"⇇\",\n \"⌞\": \"⌞\",\n \"⥫\": \"⥫\",\n \"◺\": \"◺\",\n \"ŀ\": \"ŀ\",\n \"⎰\": \"⎰\",\n \"⎰\": \"⎰\",\n \"≨\": \"≨\",\n \"⪉\": \"⪉\",\n \"⪉\": \"⪉\",\n \"⪇\": \"⪇\",\n \"⪇\": \"⪇\",\n \"≨\": \"≨\",\n \"⋦\": \"⋦\",\n \"⟬\": \"⟬\",\n \"⇽\": \"⇽\",\n \"⟦\": \"⟦\",\n \"⟵\": \"⟵\",\n \"⟷\": \"⟷\",\n \"⟼\": \"⟼\",\n \"⟶\": \"⟶\",\n \"↫\": \"↫\",\n \"↬\": \"↬\",\n \"⦅\": \"⦅\",\n \"𝕝\": \"𝕝\",\n \"⨭\": \"⨭\",\n \"⨴\": \"⨴\",\n \"∗\": \"∗\",\n \"_\": \"_\",\n \"◊\": \"◊\",\n \"◊\": \"◊\",\n \"⧫\": \"⧫\",\n \"(\": \"(\",\n \"⦓\": \"⦓\",\n \"⇆\": \"⇆\",\n \"⌟\": \"⌟\",\n \"⇋\": \"⇋\",\n \"⥭\": \"⥭\",\n \"‎\": \"‎\",\n \"⊿\": \"⊿\",\n \"‹\": \"‹\",\n \"𝓁\": \"𝓁\",\n \"↰\": \"↰\",\n \"≲\": \"≲\",\n \"⪍\": \"⪍\",\n \"⪏\": \"⪏\",\n \"[\": \"[\",\n \"‘\": \"‘\",\n \"‚\": \"‚\",\n \"ł\": \"ł\",\n \"<\": \"<\",\n \"<\": \"<\",\n \"⪦\": \"⪦\",\n \"⩹\": \"⩹\",\n \"⋖\": \"⋖\",\n \"⋋\": \"⋋\",\n \"⋉\": \"⋉\",\n \"⥶\": \"⥶\",\n \"⩻\": \"⩻\",\n \"⦖\": \"⦖\",\n \"◃\": \"◃\",\n \"⊴\": \"⊴\",\n \"◂\": \"◂\",\n \"⥊\": \"⥊\",\n \"⥦\": \"⥦\",\n \"≨︀\": \"≨︀\",\n \"≨︀\": \"≨︀\",\n \"∺\": \"∺\",\n \"¯\": \"¯\",\n \"¯\": \"¯\",\n \"♂\": \"♂\",\n \"✠\": \"✠\",\n \"✠\": \"✠\",\n \"↦\": \"↦\",\n \"↦\": \"↦\",\n \"↧\": \"↧\",\n \"↤\": \"↤\",\n \"↥\": \"↥\",\n \"▮\": \"▮\",\n \"⨩\": \"⨩\",\n \"м\": \"м\",\n \"—\": \"—\",\n \"∡\": \"∡\",\n \"𝔪\": \"𝔪\",\n \"℧\": \"℧\",\n \"µ\": \"µ\",\n \"µ\": \"µ\",\n \"∣\": \"∣\",\n \"*\": \"*\",\n \"⫰\": \"⫰\",\n \"·\": \"·\",\n \"·\": \"·\",\n \"−\": \"−\",\n \"⊟\": \"⊟\",\n \"∸\": \"∸\",\n \"⨪\": \"⨪\",\n \"⫛\": \"⫛\",\n \"…\": \"…\",\n \"∓\": \"∓\",\n \"⊧\": \"⊧\",\n \"𝕞\": \"𝕞\",\n \"∓\": \"∓\",\n \"𝓂\": \"𝓂\",\n \"∾\": \"∾\",\n \"μ\": \"μ\",\n \"⊸\": \"⊸\",\n \"⊸\": \"⊸\",\n \"⋙̸\": \"⋙̸\",\n \"≫⃒\": \"≫⃒\",\n \"≫̸\": \"≫̸\",\n \"⇍\": \"⇍\",\n \"⇎\": \"⇎\",\n \"⋘̸\": \"⋘̸\",\n \"≪⃒\": \"≪⃒\",\n \"≪̸\": \"≪̸\",\n \"⇏\": \"⇏\",\n \"⊯\": \"⊯\",\n \"⊮\": \"⊮\",\n \"∇\": \"∇\",\n \"ń\": \"ń\",\n \"∠⃒\": \"∠⃒\",\n \"≉\": \"≉\",\n \"⩰̸\": \"⩰̸\",\n \"≋̸\": \"≋̸\",\n \"ʼn\": \"ʼn\",\n \"≉\": \"≉\",\n \"♮\": \"♮\",\n \"♮\": \"♮\",\n \"ℕ\": \"ℕ\",\n \" \": \" \",\n \" \": \" \",\n \"≎̸\": \"≎̸\",\n \"≏̸\": \"≏̸\",\n \"⩃\": \"⩃\",\n \"ň\": \"ň\",\n \"ņ\": \"ņ\",\n \"≇\": \"≇\",\n \"⩭̸\": \"⩭̸\",\n \"⩂\": \"⩂\",\n \"н\": \"н\",\n \"–\": \"–\",\n \"≠\": \"≠\",\n \"⇗\": \"⇗\",\n \"⤤\": \"⤤\",\n \"↗\": \"↗\",\n \"↗\": \"↗\",\n \"≐̸\": \"≐̸\",\n \"≢\": \"≢\",\n \"⤨\": \"⤨\",\n \"≂̸\": \"≂̸\",\n \"∄\": \"∄\",\n \"∄\": \"∄\",\n \"𝔫\": \"𝔫\",\n \"≧̸\": \"≧̸\",\n \"≱\": \"≱\",\n \"≱\": \"≱\",\n \"≧̸\": \"≧̸\",\n \"⩾̸\": \"⩾̸\",\n \"⩾̸\": \"⩾̸\",\n \"≵\": \"≵\",\n \"≯\": \"≯\",\n \"≯\": \"≯\",\n \"⇎\": \"⇎\",\n \"↮\": \"↮\",\n \"⫲\": \"⫲\",\n \"∋\": \"∋\",\n \"⋼\": \"⋼\",\n \"⋺\": \"⋺\",\n \"∋\": \"∋\",\n \"њ\": \"њ\",\n \"⇍\": \"⇍\",\n \"≦̸\": \"≦̸\",\n \"↚\": \"↚\",\n \"‥\": \"‥\",\n \"≰\": \"≰\",\n \"↚\": \"↚\",\n \"↮\": \"↮\",\n \"≰\": \"≰\",\n \"≦̸\": \"≦̸\",\n \"⩽̸\": \"⩽̸\",\n \"⩽̸\": \"⩽̸\",\n \"≮\": \"≮\",\n \"≴\": \"≴\",\n \"≮\": \"≮\",\n \"⋪\": \"⋪\",\n \"⋬\": \"⋬\",\n \"∤\": \"∤\",\n \"𝕟\": \"𝕟\",\n \"¬\": \"¬\",\n \"¬\": \"¬\",\n \"∉\": \"∉\",\n \"⋹̸\": \"⋹̸\",\n \"⋵̸\": \"⋵̸\",\n \"∉\": \"∉\",\n \"⋷\": \"⋷\",\n \"⋶\": \"⋶\",\n \"∌\": \"∌\",\n \"∌\": \"∌\",\n \"⋾\": \"⋾\",\n \"⋽\": \"⋽\",\n \"∦\": \"∦\",\n \"∦\": \"∦\",\n \"⫽⃥\": \"⫽⃥\",\n \"∂̸\": \"∂̸\",\n \"⨔\": \"⨔\",\n \"⊀\": \"⊀\",\n \"⋠\": \"⋠\",\n \"⪯̸\": \"⪯̸\",\n \"⊀\": \"⊀\",\n \"⪯̸\": \"⪯̸\",\n \"⇏\": \"⇏\",\n \"↛\": \"↛\",\n \"⤳̸\": \"⤳̸\",\n \"↝̸\": \"↝̸\",\n \"↛\": \"↛\",\n \"⋫\": \"⋫\",\n \"⋭\": \"⋭\",\n \"⊁\": \"⊁\",\n \"⋡\": \"⋡\",\n \"⪰̸\": \"⪰̸\",\n \"𝓃\": \"𝓃\",\n \"∤\": \"∤\",\n \"∦\": \"∦\",\n \"≁\": \"≁\",\n \"≄\": \"≄\",\n \"≄\": \"≄\",\n \"∤\": \"∤\",\n \"∦\": \"∦\",\n \"⋢\": \"⋢\",\n \"⋣\": \"⋣\",\n \"⊄\": \"⊄\",\n \"⫅̸\": \"⫅̸\",\n \"⊈\": \"⊈\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊈\": \"⊈\",\n \"⫅̸\": \"⫅̸\",\n \"⊁\": \"⊁\",\n \"⪰̸\": \"⪰̸\",\n \"⊅\": \"⊅\",\n \"⫆̸\": \"⫆̸\",\n \"⊉\": \"⊉\",\n \"⊃⃒\": \"⊃⃒\",\n \"⊉\": \"⊉\",\n \"⫆̸\": \"⫆̸\",\n \"≹\": \"≹\",\n \"ñ\": \"ñ\",\n \"ñ\": \"ñ\",\n \"≸\": \"≸\",\n \"⋪\": \"⋪\",\n \"⋬\": \"⋬\",\n \"⋫\": \"⋫\",\n \"⋭\": \"⋭\",\n \"ν\": \"ν\",\n \"#\": \"#\",\n \"№\": \"№\",\n \" \": \" \",\n \"⊭\": \"⊭\",\n \"⤄\": \"⤄\",\n \"≍⃒\": \"≍⃒\",\n \"⊬\": \"⊬\",\n \"≥⃒\": \"≥⃒\",\n \">⃒\": \">⃒\",\n \"⧞\": \"⧞\",\n \"⤂\": \"⤂\",\n \"≤⃒\": \"≤⃒\",\n \"<⃒\": \"<⃒\",\n \"⊴⃒\": \"⊴⃒\",\n \"⤃\": \"⤃\",\n \"⊵⃒\": \"⊵⃒\",\n \"∼⃒\": \"∼⃒\",\n \"⇖\": \"⇖\",\n \"⤣\": \"⤣\",\n \"↖\": \"↖\",\n \"↖\": \"↖\",\n \"⤧\": \"⤧\",\n \"Ⓢ\": \"Ⓢ\",\n \"ó\": \"ó\",\n \"ó\": \"ó\",\n \"⊛\": \"⊛\",\n \"⊚\": \"⊚\",\n \"ô\": \"ô\",\n \"ô\": \"ô\",\n \"о\": \"о\",\n \"⊝\": \"⊝\",\n \"ő\": \"ő\",\n \"⨸\": \"⨸\",\n \"⊙\": \"⊙\",\n \"⦼\": \"⦼\",\n \"œ\": \"œ\",\n \"⦿\": \"⦿\",\n \"𝔬\": \"𝔬\",\n \"˛\": \"˛\",\n \"ò\": \"ò\",\n \"ò\": \"ò\",\n \"⧁\": \"⧁\",\n \"⦵\": \"⦵\",\n \"Ω\": \"Ω\",\n \"∮\": \"∮\",\n \"↺\": \"↺\",\n \"⦾\": \"⦾\",\n \"⦻\": \"⦻\",\n \"‾\": \"‾\",\n \"⧀\": \"⧀\",\n \"ō\": \"ō\",\n \"ω\": \"ω\",\n \"ο\": \"ο\",\n \"⦶\": \"⦶\",\n \"⊖\": \"⊖\",\n \"𝕠\": \"𝕠\",\n \"⦷\": \"⦷\",\n \"⦹\": \"⦹\",\n \"⊕\": \"⊕\",\n \"∨\": \"∨\",\n \"↻\": \"↻\",\n \"⩝\": \"⩝\",\n \"ℴ\": \"ℴ\",\n \"ℴ\": \"ℴ\",\n \"ª\": \"ª\",\n \"ª\": \"ª\",\n \"º\": \"º\",\n \"º\": \"º\",\n \"⊶\": \"⊶\",\n \"⩖\": \"⩖\",\n \"⩗\": \"⩗\",\n \"⩛\": \"⩛\",\n \"ℴ\": \"ℴ\",\n \"ø\": \"ø\",\n \"ø\": \"ø\",\n \"⊘\": \"⊘\",\n \"õ\": \"õ\",\n \"õ\": \"õ\",\n \"⊗\": \"⊗\",\n \"⨶\": \"⨶\",\n \"ö\": \"ö\",\n \"ö\": \"ö\",\n \"⌽\": \"⌽\",\n \"∥\": \"∥\",\n \"¶\": \"¶\",\n \"¶\": \"¶\",\n \"∥\": \"∥\",\n \"⫳\": \"⫳\",\n \"⫽\": \"⫽\",\n \"∂\": \"∂\",\n \"п\": \"п\",\n \"%\": \"%\",\n \".\": \".\",\n \"‰\": \"‰\",\n \"⊥\": \"⊥\",\n \"‱\": \"‱\",\n \"𝔭\": \"𝔭\",\n \"φ\": \"φ\",\n \"ϕ\": \"ϕ\",\n \"ℳ\": \"ℳ\",\n \"☎\": \"☎\",\n \"π\": \"π\",\n \"⋔\": \"⋔\",\n \"ϖ\": \"ϖ\",\n \"ℏ\": \"ℏ\",\n \"ℎ\": \"ℎ\",\n \"ℏ\": \"ℏ\",\n \"+\": \"+\",\n \"⨣\": \"⨣\",\n \"⊞\": \"⊞\",\n \"⨢\": \"⨢\",\n \"∔\": \"∔\",\n \"⨥\": \"⨥\",\n \"⩲\": \"⩲\",\n \"±\": \"±\",\n \"±\": \"±\",\n \"⨦\": \"⨦\",\n \"⨧\": \"⨧\",\n \"±\": \"±\",\n \"⨕\": \"⨕\",\n \"𝕡\": \"𝕡\",\n \"£\": \"£\",\n \"£\": \"£\",\n \"≺\": \"≺\",\n \"⪳\": \"⪳\",\n \"⪷\": \"⪷\",\n \"≼\": \"≼\",\n \"⪯\": \"⪯\",\n \"≺\": \"≺\",\n \"⪷\": \"⪷\",\n \"≼\": \"≼\",\n \"⪯\": \"⪯\",\n \"⪹\": \"⪹\",\n \"⪵\": \"⪵\",\n \"⋨\": \"⋨\",\n \"≾\": \"≾\",\n \"′\": \"′\",\n \"ℙ\": \"ℙ\",\n \"⪵\": \"⪵\",\n \"⪹\": \"⪹\",\n \"⋨\": \"⋨\",\n \"∏\": \"∏\",\n \"⌮\": \"⌮\",\n \"⌒\": \"⌒\",\n \"⌓\": \"⌓\",\n \"∝\": \"∝\",\n \"∝\": \"∝\",\n \"≾\": \"≾\",\n \"⊰\": \"⊰\",\n \"𝓅\": \"𝓅\",\n \"ψ\": \"ψ\",\n \" \": \" \",\n \"𝔮\": \"𝔮\",\n \"⨌\": \"⨌\",\n \"𝕢\": \"𝕢\",\n \"⁗\": \"⁗\",\n \"𝓆\": \"𝓆\",\n \"ℍ\": \"ℍ\",\n \"⨖\": \"⨖\",\n \"?\": \"?\",\n \"≟\": \"≟\",\n \""\": \"\\\"\",\n \""\": \"\\\"\",\n \"⇛\": \"⇛\",\n \"⇒\": \"⇒\",\n \"⤜\": \"⤜\",\n \"⤏\": \"⤏\",\n \"⥤\": \"⥤\",\n \"∽̱\": \"∽̱\",\n \"ŕ\": \"ŕ\",\n \"√\": \"√\",\n \"⦳\": \"⦳\",\n \"⟩\": \"⟩\",\n \"⦒\": \"⦒\",\n \"⦥\": \"⦥\",\n \"⟩\": \"⟩\",\n \"»\": \"»\",\n \"»\": \"»\",\n \"→\": \"→\",\n \"⥵\": \"⥵\",\n \"⇥\": \"⇥\",\n \"⤠\": \"⤠\",\n \"⤳\": \"⤳\",\n \"⤞\": \"⤞\",\n \"↪\": \"↪\",\n \"↬\": \"↬\",\n \"⥅\": \"⥅\",\n \"⥴\": \"⥴\",\n \"↣\": \"↣\",\n \"↝\": \"↝\",\n \"⤚\": \"⤚\",\n \"∶\": \"∶\",\n \"ℚ\": \"ℚ\",\n \"⤍\": \"⤍\",\n \"❳\": \"❳\",\n \"}\": \"}\",\n \"]\": \"]\",\n \"⦌\": \"⦌\",\n \"⦎\": \"⦎\",\n \"⦐\": \"⦐\",\n \"ř\": \"ř\",\n \"ŗ\": \"ŗ\",\n \"⌉\": \"⌉\",\n \"}\": \"}\",\n \"р\": \"р\",\n \"⤷\": \"⤷\",\n \"⥩\": \"⥩\",\n \"”\": \"”\",\n \"”\": \"”\",\n \"↳\": \"↳\",\n \"ℜ\": \"ℜ\",\n \"ℛ\": \"ℛ\",\n \"ℜ\": \"ℜ\",\n \"ℝ\": \"ℝ\",\n \"▭\": \"▭\",\n \"®\": \"®\",\n \"®\": \"®\",\n \"⥽\": \"⥽\",\n \"⌋\": \"⌋\",\n \"𝔯\": \"𝔯\",\n \"⇁\": \"⇁\",\n \"⇀\": \"⇀\",\n \"⥬\": \"⥬\",\n \"ρ\": \"ρ\",\n \"ϱ\": \"ϱ\",\n \"→\": \"→\",\n \"↣\": \"↣\",\n \"⇁\": \"⇁\",\n \"⇀\": \"⇀\",\n \"⇄\": \"⇄\",\n \"⇌\": \"⇌\",\n \"⇉\": \"⇉\",\n \"↝\": \"↝\",\n \"⋌\": \"⋌\",\n \"˚\": \"˚\",\n \"≓\": \"≓\",\n \"⇄\": \"⇄\",\n \"⇌\": \"⇌\",\n \"‏\": \"‏\",\n \"⎱\": \"⎱\",\n \"⎱\": \"⎱\",\n \"⫮\": \"⫮\",\n \"⟭\": \"⟭\",\n \"⇾\": \"⇾\",\n \"⟧\": \"⟧\",\n \"⦆\": \"⦆\",\n \"𝕣\": \"𝕣\",\n \"⨮\": \"⨮\",\n \"⨵\": \"⨵\",\n \")\": \")\",\n \"⦔\": \"⦔\",\n \"⨒\": \"⨒\",\n \"⇉\": \"⇉\",\n \"›\": \"›\",\n \"𝓇\": \"𝓇\",\n \"↱\": \"↱\",\n \"]\": \"]\",\n \"’\": \"’\",\n \"’\": \"’\",\n \"⋌\": \"⋌\",\n \"⋊\": \"⋊\",\n \"▹\": \"▹\",\n \"⊵\": \"⊵\",\n \"▸\": \"▸\",\n \"⧎\": \"⧎\",\n \"⥨\": \"⥨\",\n \"℞\": \"℞\",\n \"ś\": \"ś\",\n \"‚\": \"‚\",\n \"≻\": \"≻\",\n \"⪴\": \"⪴\",\n \"⪸\": \"⪸\",\n \"š\": \"š\",\n \"≽\": \"≽\",\n \"⪰\": \"⪰\",\n \"ş\": \"ş\",\n \"ŝ\": \"ŝ\",\n \"⪶\": \"⪶\",\n \"⪺\": \"⪺\",\n \"⋩\": \"⋩\",\n \"⨓\": \"⨓\",\n \"≿\": \"≿\",\n \"с\": \"с\",\n \"⋅\": \"⋅\",\n \"⊡\": \"⊡\",\n \"⩦\": \"⩦\",\n \"⇘\": \"⇘\",\n \"⤥\": \"⤥\",\n \"↘\": \"↘\",\n \"↘\": \"↘\",\n \"§\": \"§\",\n \"§\": \"§\",\n \";\": \";\",\n \"⤩\": \"⤩\",\n \"∖\": \"∖\",\n \"∖\": \"∖\",\n \"✶\": \"✶\",\n \"𝔰\": \"𝔰\",\n \"⌢\": \"⌢\",\n \"♯\": \"♯\",\n \"щ\": \"щ\",\n \"ш\": \"ш\",\n \"∣\": \"∣\",\n \"∥\": \"∥\",\n \"­\": \"­\",\n \"­\": \"­\",\n \"σ\": \"σ\",\n \"ς\": \"ς\",\n \"ς\": \"ς\",\n \"∼\": \"∼\",\n \"⩪\": \"⩪\",\n \"≃\": \"≃\",\n \"≃\": \"≃\",\n \"⪞\": \"⪞\",\n \"⪠\": \"⪠\",\n \"⪝\": \"⪝\",\n \"⪟\": \"⪟\",\n \"≆\": \"≆\",\n \"⨤\": \"⨤\",\n \"⥲\": \"⥲\",\n \"←\": \"←\",\n \"∖\": \"∖\",\n \"⨳\": \"⨳\",\n \"⧤\": \"⧤\",\n \"∣\": \"∣\",\n \"⌣\": \"⌣\",\n \"⪪\": \"⪪\",\n \"⪬\": \"⪬\",\n \"⪬︀\": \"⪬︀\",\n \"ь\": \"ь\",\n \"/\": \"/\",\n \"⧄\": \"⧄\",\n \"⌿\": \"⌿\",\n \"𝕤\": \"𝕤\",\n \"♠\": \"♠\",\n \"♠\": \"♠\",\n \"∥\": \"∥\",\n \"⊓\": \"⊓\",\n \"⊓︀\": \"⊓︀\",\n \"⊔\": \"⊔\",\n \"⊔︀\": \"⊔︀\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"□\": \"□\",\n \"□\": \"□\",\n \"▪\": \"▪\",\n \"▪\": \"▪\",\n \"→\": \"→\",\n \"𝓈\": \"𝓈\",\n \"∖\": \"∖\",\n \"⌣\": \"⌣\",\n \"⋆\": \"⋆\",\n \"☆\": \"☆\",\n \"★\": \"★\",\n \"ϵ\": \"ϵ\",\n \"ϕ\": \"ϕ\",\n \"¯\": \"¯\",\n \"⊂\": \"⊂\",\n \"⫅\": \"⫅\",\n \"⪽\": \"⪽\",\n \"⊆\": \"⊆\",\n \"⫃\": \"⫃\",\n \"⫁\": \"⫁\",\n \"⫋\": \"⫋\",\n \"⊊\": \"⊊\",\n \"⪿\": \"⪿\",\n \"⥹\": \"⥹\",\n \"⊂\": \"⊂\",\n \"⊆\": \"⊆\",\n \"⫅\": \"⫅\",\n \"⊊\": \"⊊\",\n \"⫋\": \"⫋\",\n \"⫇\": \"⫇\",\n \"⫕\": \"⫕\",\n \"⫓\": \"⫓\",\n \"≻\": \"≻\",\n \"⪸\": \"⪸\",\n \"≽\": \"≽\",\n \"⪰\": \"⪰\",\n \"⪺\": \"⪺\",\n \"⪶\": \"⪶\",\n \"⋩\": \"⋩\",\n \"≿\": \"≿\",\n \"∑\": \"∑\",\n \"♪\": \"♪\",\n \"¹\": \"¹\",\n \"¹\": \"¹\",\n \"²\": \"²\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"³\": \"³\",\n \"⊃\": \"⊃\",\n \"⫆\": \"⫆\",\n \"⪾\": \"⪾\",\n \"⫘\": \"⫘\",\n \"⊇\": \"⊇\",\n \"⫄\": \"⫄\",\n \"⟉\": \"⟉\",\n \"⫗\": \"⫗\",\n \"⥻\": \"⥻\",\n \"⫂\": \"⫂\",\n \"⫌\": \"⫌\",\n \"⊋\": \"⊋\",\n \"⫀\": \"⫀\",\n \"⊃\": \"⊃\",\n \"⊇\": \"⊇\",\n \"⫆\": \"⫆\",\n \"⊋\": \"⊋\",\n \"⫌\": \"⫌\",\n \"⫈\": \"⫈\",\n \"⫔\": \"⫔\",\n \"⫖\": \"⫖\",\n \"⇙\": \"⇙\",\n \"⤦\": \"⤦\",\n \"↙\": \"↙\",\n \"↙\": \"↙\",\n \"⤪\": \"⤪\",\n \"ß\": \"ß\",\n \"ß\": \"ß\",\n \"⌖\": \"⌖\",\n \"τ\": \"τ\",\n \"⎴\": \"⎴\",\n \"ť\": \"ť\",\n \"ţ\": \"ţ\",\n \"т\": \"т\",\n \"⃛\": \"⃛\",\n \"⌕\": \"⌕\",\n \"𝔱\": \"𝔱\",\n \"∴\": \"∴\",\n \"∴\": \"∴\",\n \"θ\": \"θ\",\n \"ϑ\": \"ϑ\",\n \"ϑ\": \"ϑ\",\n \"≈\": \"≈\",\n \"∼\": \"∼\",\n \" \": \" \",\n \"≈\": \"≈\",\n \"∼\": \"∼\",\n \"þ\": \"þ\",\n \"þ\": \"þ\",\n \"˜\": \"˜\",\n \"×\": \"×\",\n \"×\": \"×\",\n \"⊠\": \"⊠\",\n \"⨱\": \"⨱\",\n \"⨰\": \"⨰\",\n \"∭\": \"∭\",\n \"⤨\": \"⤨\",\n \"⊤\": \"⊤\",\n \"⌶\": \"⌶\",\n \"⫱\": \"⫱\",\n \"𝕥\": \"𝕥\",\n \"⫚\": \"⫚\",\n \"⤩\": \"⤩\",\n \"‴\": \"‴\",\n \"™\": \"™\",\n \"▵\": \"▵\",\n \"▿\": \"▿\",\n \"◃\": \"◃\",\n \"⊴\": \"⊴\",\n \"≜\": \"≜\",\n \"▹\": \"▹\",\n \"⊵\": \"⊵\",\n \"◬\": \"◬\",\n \"≜\": \"≜\",\n \"⨺\": \"⨺\",\n \"⨹\": \"⨹\",\n \"⧍\": \"⧍\",\n \"⨻\": \"⨻\",\n \"⏢\": \"⏢\",\n \"𝓉\": \"𝓉\",\n \"ц\": \"ц\",\n \"ћ\": \"ћ\",\n \"ŧ\": \"ŧ\",\n \"≬\": \"≬\",\n \"↞\": \"↞\",\n \"↠\": \"↠\",\n \"⇑\": \"⇑\",\n \"⥣\": \"⥣\",\n \"ú\": \"ú\",\n \"ú\": \"ú\",\n \"↑\": \"↑\",\n \"ў\": \"ў\",\n \"ŭ\": \"ŭ\",\n \"û\": \"û\",\n \"û\": \"û\",\n \"у\": \"у\",\n \"⇅\": \"⇅\",\n \"ű\": \"ű\",\n \"⥮\": \"⥮\",\n \"⥾\": \"⥾\",\n \"𝔲\": \"𝔲\",\n \"ù\": \"ù\",\n \"ù\": \"ù\",\n \"↿\": \"↿\",\n \"↾\": \"↾\",\n \"▀\": \"▀\",\n \"⌜\": \"⌜\",\n \"⌜\": \"⌜\",\n \"⌏\": \"⌏\",\n \"◸\": \"◸\",\n \"ū\": \"ū\",\n \"¨\": \"¨\",\n \"¨\": \"¨\",\n \"ų\": \"ų\",\n \"𝕦\": \"𝕦\",\n \"↑\": \"↑\",\n \"↕\": \"↕\",\n \"↿\": \"↿\",\n \"↾\": \"↾\",\n \"⊎\": \"⊎\",\n \"υ\": \"υ\",\n \"ϒ\": \"ϒ\",\n \"υ\": \"υ\",\n \"⇈\": \"⇈\",\n \"⌝\": \"⌝\",\n \"⌝\": \"⌝\",\n \"⌎\": \"⌎\",\n \"ů\": \"ů\",\n \"◹\": \"◹\",\n \"𝓊\": \"𝓊\",\n \"⋰\": \"⋰\",\n \"ũ\": \"ũ\",\n \"▵\": \"▵\",\n \"▴\": \"▴\",\n \"⇈\": \"⇈\",\n \"ü\": \"ü\",\n \"ü\": \"ü\",\n \"⦧\": \"⦧\",\n \"⇕\": \"⇕\",\n \"⫨\": \"⫨\",\n \"⫩\": \"⫩\",\n \"⊨\": \"⊨\",\n \"⦜\": \"⦜\",\n \"ϵ\": \"ϵ\",\n \"ϰ\": \"ϰ\",\n \"∅\": \"∅\",\n \"ϕ\": \"ϕ\",\n \"ϖ\": \"ϖ\",\n \"∝\": \"∝\",\n \"↕\": \"↕\",\n \"ϱ\": \"ϱ\",\n \"ς\": \"ς\",\n \"⊊︀\": \"⊊︀\",\n \"⫋︀\": \"⫋︀\",\n \"⊋︀\": \"⊋︀\",\n \"⫌︀\": \"⫌︀\",\n \"ϑ\": \"ϑ\",\n \"⊲\": \"⊲\",\n \"⊳\": \"⊳\",\n \"в\": \"в\",\n \"⊢\": \"⊢\",\n \"∨\": \"∨\",\n \"⊻\": \"⊻\",\n \"≚\": \"≚\",\n \"⋮\": \"⋮\",\n \"|\": \"|\",\n \"|\": \"|\",\n \"𝔳\": \"𝔳\",\n \"⊲\": \"⊲\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊃⃒\": \"⊃⃒\",\n \"𝕧\": \"𝕧\",\n \"∝\": \"∝\",\n \"⊳\": \"⊳\",\n \"𝓋\": \"𝓋\",\n \"⫋︀\": \"⫋︀\",\n \"⊊︀\": \"⊊︀\",\n \"⫌︀\": \"⫌︀\",\n \"⊋︀\": \"⊋︀\",\n \"⦚\": \"⦚\",\n \"ŵ\": \"ŵ\",\n \"⩟\": \"⩟\",\n \"∧\": \"∧\",\n \"≙\": \"≙\",\n \"℘\": \"℘\",\n \"𝔴\": \"𝔴\",\n \"𝕨\": \"𝕨\",\n \"℘\": \"℘\",\n \"≀\": \"≀\",\n \"≀\": \"≀\",\n \"𝓌\": \"𝓌\",\n \"⋂\": \"⋂\",\n \"◯\": \"◯\",\n \"⋃\": \"⋃\",\n \"▽\": \"▽\",\n \"𝔵\": \"𝔵\",\n \"⟺\": \"⟺\",\n \"⟷\": \"⟷\",\n \"ξ\": \"ξ\",\n \"⟸\": \"⟸\",\n \"⟵\": \"⟵\",\n \"⟼\": \"⟼\",\n \"⋻\": \"⋻\",\n \"⨀\": \"⨀\",\n \"𝕩\": \"𝕩\",\n \"⨁\": \"⨁\",\n \"⨂\": \"⨂\",\n \"⟹\": \"⟹\",\n \"⟶\": \"⟶\",\n \"𝓍\": \"𝓍\",\n \"⨆\": \"⨆\",\n \"⨄\": \"⨄\",\n \"△\": \"△\",\n \"⋁\": \"⋁\",\n \"⋀\": \"⋀\",\n \"ý\": \"ý\",\n \"ý\": \"ý\",\n \"я\": \"я\",\n \"ŷ\": \"ŷ\",\n \"ы\": \"ы\",\n \"¥\": \"¥\",\n \"¥\": \"¥\",\n \"𝔶\": \"𝔶\",\n \"ї\": \"ї\",\n \"𝕪\": \"𝕪\",\n \"𝓎\": \"𝓎\",\n \"ю\": \"ю\",\n \"ÿ\": \"ÿ\",\n \"ÿ\": \"ÿ\",\n \"ź\": \"ź\",\n \"ž\": \"ž\",\n \"з\": \"з\",\n \"ż\": \"ż\",\n \"ℨ\": \"ℨ\",\n \"ζ\": \"ζ\",\n \"𝔷\": \"𝔷\",\n \"ж\": \"ж\",\n \"⇝\": \"⇝\",\n \"𝕫\": \"𝕫\",\n \"𝓏\": \"𝓏\",\n \"‍\": \"‍\",\n \"‌\": \"‌\"\n },\n \"characters\": {\n \"Æ\": \"Æ\",\n \"&\": \"&\",\n \"Á\": \"Á\",\n \"Ă\": \"Ă\",\n \"Â\": \"Â\",\n \"А\": \"А\",\n \"𝔄\": \"𝔄\",\n \"À\": \"À\",\n \"Α\": \"Α\",\n \"Ā\": \"Ā\",\n \"⩓\": \"⩓\",\n \"Ą\": \"Ą\",\n \"𝔸\": \"𝔸\",\n \"⁡\": \"⁡\",\n \"Å\": \"Å\",\n \"𝒜\": \"𝒜\",\n \"≔\": \"≔\",\n \"Ã\": \"Ã\",\n \"Ä\": \"Ä\",\n \"∖\": \"∖\",\n \"⫧\": \"⫧\",\n \"⌆\": \"⌆\",\n \"Б\": \"Б\",\n \"∵\": \"∵\",\n \"ℬ\": \"ℬ\",\n \"Β\": \"Β\",\n \"𝔅\": \"𝔅\",\n \"𝔹\": \"𝔹\",\n \"˘\": \"˘\",\n \"≎\": \"≎\",\n \"Ч\": \"Ч\",\n \"©\": \"©\",\n \"Ć\": \"Ć\",\n \"⋒\": \"⋒\",\n \"ⅅ\": \"ⅅ\",\n \"ℭ\": \"ℭ\",\n \"Č\": \"Č\",\n \"Ç\": \"Ç\",\n \"Ĉ\": \"Ĉ\",\n \"∰\": \"∰\",\n \"Ċ\": \"Ċ\",\n \"¸\": \"¸\",\n \"·\": \"·\",\n \"Χ\": \"Χ\",\n \"⊙\": \"⊙\",\n \"⊖\": \"⊖\",\n \"⊕\": \"⊕\",\n \"⊗\": \"⊗\",\n \"∲\": \"∲\",\n \"”\": \"”\",\n \"’\": \"’\",\n \"∷\": \"∷\",\n \"⩴\": \"⩴\",\n \"≡\": \"≡\",\n \"∯\": \"∯\",\n \"∮\": \"∮\",\n \"ℂ\": \"ℂ\",\n \"∐\": \"∐\",\n \"∳\": \"∳\",\n \"⨯\": \"⨯\",\n \"𝒞\": \"𝒞\",\n \"⋓\": \"⋓\",\n \"≍\": \"≍\",\n \"⤑\": \"⤑\",\n \"Ђ\": \"Ђ\",\n \"Ѕ\": \"Ѕ\",\n \"Џ\": \"Џ\",\n \"‡\": \"‡\",\n \"↡\": \"↡\",\n \"⫤\": \"⫤\",\n \"Ď\": \"Ď\",\n \"Д\": \"Д\",\n \"∇\": \"∇\",\n \"Δ\": \"Δ\",\n \"𝔇\": \"𝔇\",\n \"´\": \"´\",\n \"˙\": \"˙\",\n \"˝\": \"˝\",\n \"`\": \"`\",\n \"˜\": \"˜\",\n \"⋄\": \"⋄\",\n \"ⅆ\": \"ⅆ\",\n \"𝔻\": \"𝔻\",\n \"¨\": \"¨\",\n \"⃜\": \"⃜\",\n \"≐\": \"≐\",\n \"⇓\": \"⇓\",\n \"⇐\": \"⇐\",\n \"⇔\": \"⇔\",\n \"⟸\": \"⟸\",\n \"⟺\": \"⟺\",\n \"⟹\": \"⟹\",\n \"⇒\": \"⇒\",\n \"⊨\": \"⊨\",\n \"⇑\": \"⇑\",\n \"⇕\": \"⇕\",\n \"∥\": \"∥\",\n \"↓\": \"↓\",\n \"⤓\": \"⤓\",\n \"⇵\": \"⇵\",\n \"̑\": \"̑\",\n \"⥐\": \"⥐\",\n \"⥞\": \"⥞\",\n \"↽\": \"↽\",\n \"⥖\": \"⥖\",\n \"⥟\": \"⥟\",\n \"⇁\": \"⇁\",\n \"⥗\": \"⥗\",\n \"⊤\": \"⊤\",\n \"↧\": \"↧\",\n \"𝒟\": \"𝒟\",\n \"Đ\": \"Đ\",\n \"Ŋ\": \"Ŋ\",\n \"Ð\": \"Ð\",\n \"É\": \"É\",\n \"Ě\": \"Ě\",\n \"Ê\": \"Ê\",\n \"Э\": \"Э\",\n \"Ė\": \"Ė\",\n \"𝔈\": \"𝔈\",\n \"È\": \"È\",\n \"∈\": \"∈\",\n \"Ē\": \"Ē\",\n \"◻\": \"◻\",\n \"▫\": \"▫\",\n \"Ę\": \"Ę\",\n \"𝔼\": \"𝔼\",\n \"Ε\": \"Ε\",\n \"⩵\": \"⩵\",\n \"≂\": \"≂\",\n \"⇌\": \"⇌\",\n \"ℰ\": \"ℰ\",\n \"⩳\": \"⩳\",\n \"Η\": \"Η\",\n \"Ë\": \"Ë\",\n \"∃\": \"∃\",\n \"ⅇ\": \"ⅇ\",\n \"Ф\": \"Ф\",\n \"𝔉\": \"𝔉\",\n \"◼\": \"◼\",\n \"▪\": \"▪\",\n \"𝔽\": \"𝔽\",\n \"∀\": \"∀\",\n \"ℱ\": \"ℱ\",\n \"Ѓ\": \"Ѓ\",\n \">\": \">\",\n \"Γ\": \"Γ\",\n \"Ϝ\": \"Ϝ\",\n \"Ğ\": \"Ğ\",\n \"Ģ\": \"Ģ\",\n \"Ĝ\": \"Ĝ\",\n \"Г\": \"Г\",\n \"Ġ\": \"Ġ\",\n \"𝔊\": \"𝔊\",\n \"⋙\": \"⋙\",\n \"𝔾\": \"𝔾\",\n \"≥\": \"≥\",\n \"⋛\": \"⋛\",\n \"≧\": \"≧\",\n \"⪢\": \"⪢\",\n \"≷\": \"≷\",\n \"⩾\": \"⩾\",\n \"≳\": \"≳\",\n \"𝒢\": \"𝒢\",\n \"≫\": \"≫\",\n \"Ъ\": \"Ъ\",\n \"ˇ\": \"ˇ\",\n \"^\": \"^\",\n \"Ĥ\": \"Ĥ\",\n \"ℌ\": \"ℌ\",\n \"ℋ\": \"ℋ\",\n \"ℍ\": \"ℍ\",\n \"─\": \"─\",\n \"Ħ\": \"Ħ\",\n \"≏\": \"≏\",\n \"Е\": \"Е\",\n \"IJ\": \"IJ\",\n \"Ё\": \"Ё\",\n \"Í\": \"Í\",\n \"Î\": \"Î\",\n \"И\": \"И\",\n \"İ\": \"İ\",\n \"ℑ\": \"ℑ\",\n \"Ì\": \"Ì\",\n \"Ī\": \"Ī\",\n \"ⅈ\": \"ⅈ\",\n \"∬\": \"∬\",\n \"∫\": \"∫\",\n \"⋂\": \"⋂\",\n \"⁣\": \"⁣\",\n \"⁢\": \"⁢\",\n \"Į\": \"Į\",\n \"𝕀\": \"𝕀\",\n \"Ι\": \"Ι\",\n \"ℐ\": \"ℐ\",\n \"Ĩ\": \"Ĩ\",\n \"І\": \"І\",\n \"Ï\": \"Ï\",\n \"Ĵ\": \"Ĵ\",\n \"Й\": \"Й\",\n \"𝔍\": \"𝔍\",\n \"𝕁\": \"𝕁\",\n \"𝒥\": \"𝒥\",\n \"Ј\": \"Ј\",\n \"Є\": \"Є\",\n \"Х\": \"Х\",\n \"Ќ\": \"Ќ\",\n \"Κ\": \"Κ\",\n \"Ķ\": \"Ķ\",\n \"К\": \"К\",\n \"𝔎\": \"𝔎\",\n \"𝕂\": \"𝕂\",\n \"𝒦\": \"𝒦\",\n \"Љ\": \"Љ\",\n \"<\": \"<\",\n \"Ĺ\": \"Ĺ\",\n \"Λ\": \"Λ\",\n \"⟪\": \"⟪\",\n \"ℒ\": \"ℒ\",\n \"↞\": \"↞\",\n \"Ľ\": \"Ľ\",\n \"Ļ\": \"Ļ\",\n \"Л\": \"Л\",\n \"⟨\": \"⟨\",\n \"←\": \"←\",\n \"⇤\": \"⇤\",\n \"⇆\": \"⇆\",\n \"⌈\": \"⌈\",\n \"⟦\": \"⟦\",\n \"⥡\": \"⥡\",\n \"⇃\": \"⇃\",\n \"⥙\": \"⥙\",\n \"⌊\": \"⌊\",\n \"↔\": \"↔\",\n \"⥎\": \"⥎\",\n \"⊣\": \"⊣\",\n \"↤\": \"↤\",\n \"⥚\": \"⥚\",\n \"⊲\": \"⊲\",\n \"⧏\": \"⧏\",\n \"⊴\": \"⊴\",\n \"⥑\": \"⥑\",\n \"⥠\": \"⥠\",\n \"↿\": \"↿\",\n \"⥘\": \"⥘\",\n \"↼\": \"↼\",\n \"⥒\": \"⥒\",\n \"⋚\": \"⋚\",\n \"≦\": \"≦\",\n \"≶\": \"≶\",\n \"⪡\": \"⪡\",\n \"⩽\": \"⩽\",\n \"≲\": \"≲\",\n \"𝔏\": \"𝔏\",\n \"⋘\": \"⋘\",\n \"⇚\": \"⇚\",\n \"Ŀ\": \"Ŀ\",\n \"⟵\": \"⟵\",\n \"⟷\": \"⟷\",\n \"⟶\": \"⟶\",\n \"𝕃\": \"𝕃\",\n \"↙\": \"↙\",\n \"↘\": \"↘\",\n \"↰\": \"↰\",\n \"Ł\": \"Ł\",\n \"≪\": \"≪\",\n \"⤅\": \"⤅\",\n \"М\": \"М\",\n \" \": \" \",\n \"ℳ\": \"ℳ\",\n \"𝔐\": \"𝔐\",\n \"∓\": \"∓\",\n \"𝕄\": \"𝕄\",\n \"Μ\": \"Μ\",\n \"Њ\": \"Њ\",\n \"Ń\": \"Ń\",\n \"Ň\": \"Ň\",\n \"Ņ\": \"Ņ\",\n \"Н\": \"Н\",\n \"​\": \"​\",\n \"\\n\": \" \",\n \"𝔑\": \"𝔑\",\n \"⁠\": \"⁠\",\n \" \": \" \",\n \"ℕ\": \"ℕ\",\n \"⫬\": \"⫬\",\n \"≢\": \"≢\",\n \"≭\": \"≭\",\n \"∦\": \"∦\",\n \"∉\": \"∉\",\n \"≠\": \"≠\",\n \"≂̸\": \"≂̸\",\n \"∄\": \"∄\",\n \"≯\": \"≯\",\n \"≱\": \"≱\",\n \"≧̸\": \"≧̸\",\n \"≫̸\": \"≫̸\",\n \"≹\": \"≹\",\n \"⩾̸\": \"⩾̸\",\n \"≵\": \"≵\",\n \"≎̸\": \"≎̸\",\n \"≏̸\": \"≏̸\",\n \"⋪\": \"⋪\",\n \"⧏̸\": \"⧏̸\",\n \"⋬\": \"⋬\",\n \"≮\": \"≮\",\n \"≰\": \"≰\",\n \"≸\": \"≸\",\n \"≪̸\": \"≪̸\",\n \"⩽̸\": \"⩽̸\",\n \"≴\": \"≴\",\n \"⪢̸\": \"⪢̸\",\n \"⪡̸\": \"⪡̸\",\n \"⊀\": \"⊀\",\n \"⪯̸\": \"⪯̸\",\n \"⋠\": \"⋠\",\n \"∌\": \"∌\",\n \"⋫\": \"⋫\",\n \"⧐̸\": \"⧐̸\",\n \"⋭\": \"⋭\",\n \"⊏̸\": \"⊏̸\",\n \"⋢\": \"⋢\",\n \"⊐̸\": \"⊐̸\",\n \"⋣\": \"⋣\",\n \"⊂⃒\": \"⊂⃒\",\n \"⊈\": \"⊈\",\n \"⊁\": \"⊁\",\n \"⪰̸\": \"⪰̸\",\n \"⋡\": \"⋡\",\n \"≿̸\": \"≿̸\",\n \"⊃⃒\": \"⊃⃒\",\n \"⊉\": \"⊉\",\n \"≁\": \"≁\",\n \"≄\": \"≄\",\n \"≇\": \"≇\",\n \"≉\": \"≉\",\n \"∤\": \"∤\",\n \"𝒩\": \"𝒩\",\n \"Ñ\": \"Ñ\",\n \"Ν\": \"Ν\",\n \"Œ\": \"Œ\",\n \"Ó\": \"Ó\",\n \"Ô\": \"Ô\",\n \"О\": \"О\",\n \"Ő\": \"Ő\",\n \"𝔒\": \"𝔒\",\n \"Ò\": \"Ò\",\n \"Ō\": \"Ō\",\n \"Ω\": \"Ω\",\n \"Ο\": \"Ο\",\n \"𝕆\": \"𝕆\",\n \"“\": \"“\",\n \"‘\": \"‘\",\n \"⩔\": \"⩔\",\n \"𝒪\": \"𝒪\",\n \"Ø\": \"Ø\",\n \"Õ\": \"Õ\",\n \"⨷\": \"⨷\",\n \"Ö\": \"Ö\",\n \"‾\": \"‾\",\n \"⏞\": \"⏞\",\n \"⎴\": \"⎴\",\n \"⏜\": \"⏜\",\n \"∂\": \"∂\",\n \"П\": \"П\",\n \"𝔓\": \"𝔓\",\n \"Φ\": \"Φ\",\n \"Π\": \"Π\",\n \"±\": \"±\",\n \"ℙ\": \"ℙ\",\n \"⪻\": \"⪻\",\n \"≺\": \"≺\",\n \"⪯\": \"⪯\",\n \"≼\": \"≼\",\n \"≾\": \"≾\",\n \"″\": \"″\",\n \"∏\": \"∏\",\n \"∝\": \"∝\",\n \"𝒫\": \"𝒫\",\n \"Ψ\": \"Ψ\",\n \"\\\"\": \""\",\n \"𝔔\": \"𝔔\",\n \"ℚ\": \"ℚ\",\n \"𝒬\": \"𝒬\",\n \"⤐\": \"⤐\",\n \"®\": \"®\",\n \"Ŕ\": \"Ŕ\",\n \"⟫\": \"⟫\",\n \"↠\": \"↠\",\n \"⤖\": \"⤖\",\n \"Ř\": \"Ř\",\n \"Ŗ\": \"Ŗ\",\n \"Р\": \"Р\",\n \"ℜ\": \"ℜ\",\n \"∋\": \"∋\",\n \"⇋\": \"⇋\",\n \"⥯\": \"⥯\",\n \"Ρ\": \"Ρ\",\n \"⟩\": \"⟩\",\n \"→\": \"→\",\n \"⇥\": \"⇥\",\n \"⇄\": \"⇄\",\n \"⌉\": \"⌉\",\n \"⟧\": \"⟧\",\n \"⥝\": \"⥝\",\n \"⇂\": \"⇂\",\n \"⥕\": \"⥕\",\n \"⌋\": \"⌋\",\n \"⊢\": \"⊢\",\n \"↦\": \"↦\",\n \"⥛\": \"⥛\",\n \"⊳\": \"⊳\",\n \"⧐\": \"⧐\",\n \"⊵\": \"⊵\",\n \"⥏\": \"⥏\",\n \"⥜\": \"⥜\",\n \"↾\": \"↾\",\n \"⥔\": \"⥔\",\n \"⇀\": \"⇀\",\n \"⥓\": \"⥓\",\n \"ℝ\": \"ℝ\",\n \"⥰\": \"⥰\",\n \"⇛\": \"⇛\",\n \"ℛ\": \"ℛ\",\n \"↱\": \"↱\",\n \"⧴\": \"⧴\",\n \"Щ\": \"Щ\",\n \"Ш\": \"Ш\",\n \"Ь\": \"Ь\",\n \"Ś\": \"Ś\",\n \"⪼\": \"⪼\",\n \"Š\": \"Š\",\n \"Ş\": \"Ş\",\n \"Ŝ\": \"Ŝ\",\n \"С\": \"С\",\n \"𝔖\": \"𝔖\",\n \"↑\": \"↑\",\n \"Σ\": \"Σ\",\n \"∘\": \"∘\",\n \"𝕊\": \"𝕊\",\n \"√\": \"√\",\n \"□\": \"□\",\n \"⊓\": \"⊓\",\n \"⊏\": \"⊏\",\n \"⊑\": \"⊑\",\n \"⊐\": \"⊐\",\n \"⊒\": \"⊒\",\n \"⊔\": \"⊔\",\n \"𝒮\": \"𝒮\",\n \"⋆\": \"⋆\",\n \"⋐\": \"⋐\",\n \"⊆\": \"⊆\",\n \"≻\": \"≻\",\n \"⪰\": \"⪰\",\n \"≽\": \"≽\",\n \"≿\": \"≿\",\n \"∑\": \"∑\",\n \"⋑\": \"⋑\",\n \"⊃\": \"⊃\",\n \"⊇\": \"⊇\",\n \"Þ\": \"Þ\",\n \"™\": \"™\",\n \"Ћ\": \"Ћ\",\n \"Ц\": \"Ц\",\n \"\\t\": \" \",\n \"Τ\": \"Τ\",\n \"Ť\": \"Ť\",\n \"Ţ\": \"Ţ\",\n \"Т\": \"Т\",\n \"𝔗\": \"𝔗\",\n \"∴\": \"∴\",\n \"Θ\": \"Θ\",\n \"  \": \"  \",\n \" \": \" \",\n \"∼\": \"∼\",\n \"≃\": \"≃\",\n \"≅\": \"≅\",\n \"≈\": \"≈\",\n \"𝕋\": \"𝕋\",\n \"⃛\": \"⃛\",\n \"𝒯\": \"𝒯\",\n \"Ŧ\": \"Ŧ\",\n \"Ú\": \"Ú\",\n \"↟\": \"↟\",\n \"⥉\": \"⥉\",\n \"Ў\": \"Ў\",\n \"Ŭ\": \"Ŭ\",\n \"Û\": \"Û\",\n \"У\": \"У\",\n \"Ű\": \"Ű\",\n \"𝔘\": \"𝔘\",\n \"Ù\": \"Ù\",\n \"Ū\": \"Ū\",\n \"_\": \"_\",\n \"⏟\": \"⏟\",\n \"⎵\": \"⎵\",\n \"⏝\": \"⏝\",\n \"⋃\": \"⋃\",\n \"⊎\": \"⊎\",\n \"Ų\": \"Ų\",\n \"𝕌\": \"𝕌\",\n \"⤒\": \"⤒\",\n \"⇅\": \"⇅\",\n \"↕\": \"↕\",\n \"⥮\": \"⥮\",\n \"⊥\": \"⊥\",\n \"↥\": \"↥\",\n \"↖\": \"↖\",\n \"↗\": \"↗\",\n \"ϒ\": \"ϒ\",\n \"Υ\": \"Υ\",\n \"Ů\": \"Ů\",\n \"𝒰\": \"𝒰\",\n \"Ũ\": \"Ũ\",\n \"Ü\": \"Ü\",\n \"⊫\": \"⊫\",\n \"⫫\": \"⫫\",\n \"В\": \"В\",\n \"⊩\": \"⊩\",\n \"⫦\": \"⫦\",\n \"⋁\": \"⋁\",\n \"‖\": \"‖\",\n \"∣\": \"∣\",\n \"|\": \"|\",\n \"❘\": \"❘\",\n \"≀\": \"≀\",\n \" \": \" \",\n \"𝔙\": \"𝔙\",\n \"𝕍\": \"𝕍\",\n \"𝒱\": \"𝒱\",\n \"⊪\": \"⊪\",\n \"Ŵ\": \"Ŵ\",\n \"⋀\": \"⋀\",\n \"𝔚\": \"𝔚\",\n \"𝕎\": \"𝕎\",\n \"𝒲\": \"𝒲\",\n \"𝔛\": \"𝔛\",\n \"Ξ\": \"Ξ\",\n \"𝕏\": \"𝕏\",\n \"𝒳\": \"𝒳\",\n \"Я\": \"Я\",\n \"Ї\": \"Ї\",\n \"Ю\": \"Ю\",\n \"Ý\": \"Ý\",\n \"Ŷ\": \"Ŷ\",\n \"Ы\": \"Ы\",\n \"𝔜\": \"𝔜\",\n \"𝕐\": \"𝕐\",\n \"𝒴\": \"𝒴\",\n \"Ÿ\": \"Ÿ\",\n \"Ж\": \"Ж\",\n \"Ź\": \"Ź\",\n \"Ž\": \"Ž\",\n \"З\": \"З\",\n \"Ż\": \"Ż\",\n \"Ζ\": \"Ζ\",\n \"ℨ\": \"ℨ\",\n \"ℤ\": \"ℤ\",\n \"𝒵\": \"𝒵\",\n \"á\": \"á\",\n \"ă\": \"ă\",\n \"∾\": \"∾\",\n \"∾̳\": \"∾̳\",\n \"∿\": \"∿\",\n \"â\": \"â\",\n \"а\": \"а\",\n \"æ\": \"æ\",\n \"𝔞\": \"𝔞\",\n \"à\": \"à\",\n \"ℵ\": \"ℵ\",\n \"α\": \"α\",\n \"ā\": \"ā\",\n \"⨿\": \"⨿\",\n \"∧\": \"∧\",\n \"⩕\": \"⩕\",\n \"⩜\": \"⩜\",\n \"⩘\": \"⩘\",\n \"⩚\": \"⩚\",\n \"∠\": \"∠\",\n \"⦤\": \"⦤\",\n \"∡\": \"∡\",\n \"⦨\": \"⦨\",\n \"⦩\": \"⦩\",\n \"⦪\": \"⦪\",\n \"⦫\": \"⦫\",\n \"⦬\": \"⦬\",\n \"⦭\": \"⦭\",\n \"⦮\": \"⦮\",\n \"⦯\": \"⦯\",\n \"∟\": \"∟\",\n \"⊾\": \"⊾\",\n \"⦝\": \"⦝\",\n \"∢\": \"∢\",\n \"⍼\": \"⍼\",\n \"ą\": \"ą\",\n \"𝕒\": \"𝕒\",\n \"⩰\": \"⩰\",\n \"⩯\": \"⩯\",\n \"≊\": \"≊\",\n \"≋\": \"≋\",\n \"'\": \"'\",\n \"å\": \"å\",\n \"𝒶\": \"𝒶\",\n \"*\": \"*\",\n \"ã\": \"ã\",\n \"ä\": \"ä\",\n \"⨑\": \"⨑\",\n \"⫭\": \"⫭\",\n \"≌\": \"≌\",\n \"϶\": \"϶\",\n \"‵\": \"‵\",\n \"∽\": \"∽\",\n \"⋍\": \"⋍\",\n \"⊽\": \"⊽\",\n \"⌅\": \"⌅\",\n \"⎶\": \"⎶\",\n \"б\": \"б\",\n \"„\": \"„\",\n \"⦰\": \"⦰\",\n \"β\": \"β\",\n \"ℶ\": \"ℶ\",\n \"≬\": \"≬\",\n \"𝔟\": \"𝔟\",\n \"◯\": \"◯\",\n \"⨀\": \"⨀\",\n \"⨁\": \"⨁\",\n \"⨂\": \"⨂\",\n \"⨆\": \"⨆\",\n \"★\": \"★\",\n \"▽\": \"▽\",\n \"△\": \"△\",\n \"⨄\": \"⨄\",\n \"⤍\": \"⤍\",\n \"⧫\": \"⧫\",\n \"▴\": \"▴\",\n \"▾\": \"▾\",\n \"◂\": \"◂\",\n \"▸\": \"▸\",\n \"␣\": \"␣\",\n \"▒\": \"▒\",\n \"░\": \"░\",\n \"▓\": \"▓\",\n \"█\": \"█\",\n \"=⃥\": \"=⃥\",\n \"≡⃥\": \"≡⃥\",\n \"⌐\": \"⌐\",\n \"𝕓\": \"𝕓\",\n \"⋈\": \"⋈\",\n \"╗\": \"╗\",\n \"╔\": \"╔\",\n \"╖\": \"╖\",\n \"╓\": \"╓\",\n \"═\": \"═\",\n \"╦\": \"╦\",\n \"╩\": \"╩\",\n \"╤\": \"╤\",\n \"╧\": \"╧\",\n \"╝\": \"╝\",\n \"╚\": \"╚\",\n \"╜\": \"╜\",\n \"╙\": \"╙\",\n \"║\": \"║\",\n \"╬\": \"╬\",\n \"╣\": \"╣\",\n \"╠\": \"╠\",\n \"╫\": \"╫\",\n \"╢\": \"╢\",\n \"╟\": \"╟\",\n \"⧉\": \"⧉\",\n \"╕\": \"╕\",\n \"╒\": \"╒\",\n \"┐\": \"┐\",\n \"┌\": \"┌\",\n \"╥\": \"╥\",\n \"╨\": \"╨\",\n \"┬\": \"┬\",\n \"┴\": \"┴\",\n \"⊟\": \"⊟\",\n \"⊞\": \"⊞\",\n \"⊠\": \"⊠\",\n \"╛\": \"╛\",\n \"╘\": \"╘\",\n \"┘\": \"┘\",\n \"└\": \"└\",\n \"│\": \"│\",\n \"╪\": \"╪\",\n \"╡\": \"╡\",\n \"╞\": \"╞\",\n \"┼\": \"┼\",\n \"┤\": \"┤\",\n \"├\": \"├\",\n \"¦\": \"¦\",\n \"𝒷\": \"𝒷\",\n \"⁏\": \"⁏\",\n \"\\\\\": \"\\",\n \"⧅\": \"⧅\",\n \"⟈\": \"⟈\",\n \"•\": \"•\",\n \"⪮\": \"⪮\",\n \"ć\": \"ć\",\n \"∩\": \"∩\",\n \"⩄\": \"⩄\",\n \"⩉\": \"⩉\",\n \"⩋\": \"⩋\",\n \"⩇\": \"⩇\",\n \"⩀\": \"⩀\",\n \"∩︀\": \"∩︀\",\n \"⁁\": \"⁁\",\n \"⩍\": \"⩍\",\n \"č\": \"č\",\n \"ç\": \"ç\",\n \"ĉ\": \"ĉ\",\n \"⩌\": \"⩌\",\n \"⩐\": \"⩐\",\n \"ċ\": \"ċ\",\n \"⦲\": \"⦲\",\n \"¢\": \"¢\",\n \"𝔠\": \"𝔠\",\n \"ч\": \"ч\",\n \"✓\": \"✓\",\n \"χ\": \"χ\",\n \"○\": \"○\",\n \"⧃\": \"⧃\",\n \"ˆ\": \"ˆ\",\n \"≗\": \"≗\",\n \"↺\": \"↺\",\n \"↻\": \"↻\",\n \"Ⓢ\": \"Ⓢ\",\n \"⊛\": \"⊛\",\n \"⊚\": \"⊚\",\n \"⊝\": \"⊝\",\n \"⨐\": \"⨐\",\n \"⫯\": \"⫯\",\n \"⧂\": \"⧂\",\n \"♣\": \"♣\",\n \":\": \":\",\n \",\": \",\",\n \"@\": \"@\",\n \"∁\": \"∁\",\n \"⩭\": \"⩭\",\n \"𝕔\": \"𝕔\",\n \"℗\": \"℗\",\n \"↵\": \"↵\",\n \"✗\": \"✗\",\n \"𝒸\": \"𝒸\",\n \"⫏\": \"⫏\",\n \"⫑\": \"⫑\",\n \"⫐\": \"⫐\",\n \"⫒\": \"⫒\",\n \"⋯\": \"⋯\",\n \"⤸\": \"⤸\",\n \"⤵\": \"⤵\",\n \"⋞\": \"⋞\",\n \"⋟\": \"⋟\",\n \"↶\": \"↶\",\n \"⤽\": \"⤽\",\n \"∪\": \"∪\",\n \"⩈\": \"⩈\",\n \"⩆\": \"⩆\",\n \"⩊\": \"⩊\",\n \"⊍\": \"⊍\",\n \"⩅\": \"⩅\",\n \"∪︀\": \"∪︀\",\n \"↷\": \"↷\",\n \"⤼\": \"⤼\",\n \"⋎\": \"⋎\",\n \"⋏\": \"⋏\",\n \"¤\": \"¤\",\n \"∱\": \"∱\",\n \"⌭\": \"⌭\",\n \"⥥\": \"⥥\",\n \"†\": \"†\",\n \"ℸ\": \"ℸ\",\n \"‐\": \"‐\",\n \"⤏\": \"⤏\",\n \"ď\": \"ď\",\n \"д\": \"д\",\n \"⇊\": \"⇊\",\n \"⩷\": \"⩷\",\n \"°\": \"°\",\n \"δ\": \"δ\",\n \"⦱\": \"⦱\",\n \"⥿\": \"⥿\",\n \"𝔡\": \"𝔡\",\n \"♦\": \"♦\",\n \"ϝ\": \"ϝ\",\n \"⋲\": \"⋲\",\n \"÷\": \"÷\",\n \"⋇\": \"⋇\",\n \"ђ\": \"ђ\",\n \"⌞\": \"⌞\",\n \"⌍\": \"⌍\",\n \"$\": \"$\",\n \"𝕕\": \"𝕕\",\n \"≑\": \"≑\",\n \"∸\": \"∸\",\n \"∔\": \"∔\",\n \"⊡\": \"⊡\",\n \"⌟\": \"⌟\",\n \"⌌\": \"⌌\",\n \"𝒹\": \"𝒹\",\n \"ѕ\": \"ѕ\",\n \"⧶\": \"⧶\",\n \"đ\": \"đ\",\n \"⋱\": \"⋱\",\n \"▿\": \"▿\",\n \"⦦\": \"⦦\",\n \"џ\": \"џ\",\n \"⟿\": \"⟿\",\n \"é\": \"é\",\n \"⩮\": \"⩮\",\n \"ě\": \"ě\",\n \"≖\": \"≖\",\n \"ê\": \"ê\",\n \"≕\": \"≕\",\n \"э\": \"э\",\n \"ė\": \"ė\",\n \"≒\": \"≒\",\n \"𝔢\": \"𝔢\",\n \"⪚\": \"⪚\",\n \"è\": \"è\",\n \"⪖\": \"⪖\",\n \"⪘\": \"⪘\",\n \"⪙\": \"⪙\",\n \"⏧\": \"⏧\",\n \"ℓ\": \"ℓ\",\n \"⪕\": \"⪕\",\n \"⪗\": \"⪗\",\n \"ē\": \"ē\",\n \"∅\": \"∅\",\n \" \": \" \",\n \" \": \" \",\n \" \": \" \",\n \"ŋ\": \"ŋ\",\n \" \": \" \",\n \"ę\": \"ę\",\n \"𝕖\": \"𝕖\",\n \"⋕\": \"⋕\",\n \"⧣\": \"⧣\",\n \"⩱\": \"⩱\",\n \"ε\": \"ε\",\n \"ϵ\": \"ϵ\",\n \"=\": \"=\",\n \"≟\": \"≟\",\n \"⩸\": \"⩸\",\n \"⧥\": \"⧥\",\n \"≓\": \"≓\",\n \"⥱\": \"⥱\",\n \"ℯ\": \"ℯ\",\n \"η\": \"η\",\n \"ð\": \"ð\",\n \"ë\": \"ë\",\n \"€\": \"€\",\n \"!\": \"!\",\n \"ф\": \"ф\",\n \"♀\": \"♀\",\n \"ffi\": \"ffi\",\n \"ff\": \"ff\",\n \"ffl\": \"ffl\",\n \"𝔣\": \"𝔣\",\n \"fi\": \"fi\",\n \"fj\": \"fj\",\n \"♭\": \"♭\",\n \"fl\": \"fl\",\n \"▱\": \"▱\",\n \"ƒ\": \"ƒ\",\n \"𝕗\": \"𝕗\",\n \"⋔\": \"⋔\",\n \"⫙\": \"⫙\",\n \"⨍\": \"⨍\",\n \"½\": \"½\",\n \"⅓\": \"⅓\",\n \"¼\": \"¼\",\n \"⅕\": \"⅕\",\n \"⅙\": \"⅙\",\n \"⅛\": \"⅛\",\n \"⅔\": \"⅔\",\n \"⅖\": \"⅖\",\n \"¾\": \"¾\",\n \"⅗\": \"⅗\",\n \"⅜\": \"⅜\",\n \"⅘\": \"⅘\",\n \"⅚\": \"⅚\",\n \"⅝\": \"⅝\",\n \"⅞\": \"⅞\",\n \"⁄\": \"⁄\",\n \"⌢\": \"⌢\",\n \"𝒻\": \"𝒻\",\n \"⪌\": \"⪌\",\n \"ǵ\": \"ǵ\",\n \"γ\": \"γ\",\n \"⪆\": \"⪆\",\n \"ğ\": \"ğ\",\n \"ĝ\": \"ĝ\",\n \"г\": \"г\",\n \"ġ\": \"ġ\",\n \"⪩\": \"⪩\",\n \"⪀\": \"⪀\",\n \"⪂\": \"⪂\",\n \"⪄\": \"⪄\",\n \"⋛︀\": \"⋛︀\",\n \"⪔\": \"⪔\",\n \"𝔤\": \"𝔤\",\n \"ℷ\": \"ℷ\",\n \"ѓ\": \"ѓ\",\n \"⪒\": \"⪒\",\n \"⪥\": \"⪥\",\n \"⪤\": \"⪤\",\n \"≩\": \"≩\",\n \"⪊\": \"⪊\",\n \"⪈\": \"⪈\",\n \"⋧\": \"⋧\",\n \"𝕘\": \"𝕘\",\n \"ℊ\": \"ℊ\",\n \"⪎\": \"⪎\",\n \"⪐\": \"⪐\",\n \"⪧\": \"⪧\",\n \"⩺\": \"⩺\",\n \"⋗\": \"⋗\",\n \"⦕\": \"⦕\",\n \"⩼\": \"⩼\",\n \"⥸\": \"⥸\",\n \"≩︀\": \"≩︀\",\n \"ъ\": \"ъ\",\n \"⥈\": \"⥈\",\n \"↭\": \"↭\",\n \"ℏ\": \"ℏ\",\n \"ĥ\": \"ĥ\",\n \"♥\": \"♥\",\n \"…\": \"…\",\n \"⊹\": \"⊹\",\n \"𝔥\": \"𝔥\",\n \"⤥\": \"⤥\",\n \"⤦\": \"⤦\",\n \"⇿\": \"⇿\",\n \"∻\": \"∻\",\n \"↩\": \"↩\",\n \"↪\": \"↪\",\n \"𝕙\": \"𝕙\",\n \"―\": \"―\",\n \"𝒽\": \"𝒽\",\n \"ħ\": \"ħ\",\n \"⁃\": \"⁃\",\n \"í\": \"í\",\n \"î\": \"î\",\n \"и\": \"и\",\n \"е\": \"е\",\n \"¡\": \"¡\",\n \"𝔦\": \"𝔦\",\n \"ì\": \"ì\",\n \"⨌\": \"⨌\",\n \"∭\": \"∭\",\n \"⧜\": \"⧜\",\n \"℩\": \"℩\",\n \"ij\": \"ij\",\n \"ī\": \"ī\",\n \"ı\": \"ı\",\n \"⊷\": \"⊷\",\n \"Ƶ\": \"Ƶ\",\n \"℅\": \"℅\",\n \"∞\": \"∞\",\n \"⧝\": \"⧝\",\n \"⊺\": \"⊺\",\n \"⨗\": \"⨗\",\n \"⨼\": \"⨼\",\n \"ё\": \"ё\",\n \"į\": \"į\",\n \"𝕚\": \"𝕚\",\n \"ι\": \"ι\",\n \"¿\": \"¿\",\n \"𝒾\": \"𝒾\",\n \"⋹\": \"⋹\",\n \"⋵\": \"⋵\",\n \"⋴\": \"⋴\",\n \"⋳\": \"⋳\",\n \"ĩ\": \"ĩ\",\n \"і\": \"і\",\n \"ï\": \"ï\",\n \"ĵ\": \"ĵ\",\n \"й\": \"й\",\n \"𝔧\": \"𝔧\",\n \"ȷ\": \"ȷ\",\n \"𝕛\": \"𝕛\",\n \"𝒿\": \"𝒿\",\n \"ј\": \"ј\",\n \"є\": \"є\",\n \"κ\": \"κ\",\n \"ϰ\": \"ϰ\",\n \"ķ\": \"ķ\",\n \"к\": \"к\",\n \"𝔨\": \"𝔨\",\n \"ĸ\": \"ĸ\",\n \"х\": \"х\",\n \"ќ\": \"ќ\",\n \"𝕜\": \"𝕜\",\n \"𝓀\": \"𝓀\",\n \"⤛\": \"⤛\",\n \"⤎\": \"⤎\",\n \"⪋\": \"⪋\",\n \"⥢\": \"⥢\",\n \"ĺ\": \"ĺ\",\n \"⦴\": \"⦴\",\n \"λ\": \"λ\",\n \"⦑\": \"⦑\",\n \"⪅\": \"⪅\",\n \"«\": \"«\",\n \"⤟\": \"⤟\",\n \"⤝\": \"⤝\",\n \"↫\": \"↫\",\n \"⤹\": \"⤹\",\n \"⥳\": \"⥳\",\n \"↢\": \"↢\",\n \"⪫\": \"⪫\",\n \"⤙\": \"⤙\",\n \"⪭\": \"⪭\",\n \"⪭︀\": \"⪭︀\",\n \"⤌\": \"⤌\",\n \"❲\": \"❲\",\n \"{\": \"{\",\n \"[\": \"[\",\n \"⦋\": \"⦋\",\n \"⦏\": \"⦏\",\n \"⦍\": \"⦍\",\n \"ľ\": \"ľ\",\n \"ļ\": \"ļ\",\n \"л\": \"л\",\n \"⤶\": \"⤶\",\n \"⥧\": \"⥧\",\n \"⥋\": \"⥋\",\n \"↲\": \"↲\",\n \"≤\": \"≤\",\n \"⇇\": \"⇇\",\n \"⋋\": \"⋋\",\n \"⪨\": \"⪨\",\n \"⩿\": \"⩿\",\n \"⪁\": \"⪁\",\n \"⪃\": \"⪃\",\n \"⋚︀\": \"⋚︀\",\n \"⪓\": \"⪓\",\n \"⋖\": \"⋖\",\n \"⥼\": \"⥼\",\n \"𝔩\": \"𝔩\",\n \"⪑\": \"⪑\",\n \"⥪\": \"⥪\",\n \"▄\": \"▄\",\n \"љ\": \"љ\",\n \"⥫\": \"⥫\",\n \"◺\": \"◺\",\n \"ŀ\": \"ŀ\",\n \"⎰\": \"⎰\",\n \"≨\": \"≨\",\n \"⪉\": \"⪉\",\n \"⪇\": \"⪇\",\n \"⋦\": \"⋦\",\n \"⟬\": \"⟬\",\n \"⇽\": \"⇽\",\n \"⟼\": \"⟼\",\n \"↬\": \"↬\",\n \"⦅\": \"⦅\",\n \"𝕝\": \"𝕝\",\n \"⨭\": \"⨭\",\n \"⨴\": \"⨴\",\n \"∗\": \"∗\",\n \"◊\": \"◊\",\n \"(\": \"(\",\n \"⦓\": \"⦓\",\n \"⥭\": \"⥭\",\n \"‎\": \"‎\",\n \"⊿\": \"⊿\",\n \"‹\": \"‹\",\n \"𝓁\": \"𝓁\",\n \"⪍\": \"⪍\",\n \"⪏\": \"⪏\",\n \"‚\": \"‚\",\n \"ł\": \"ł\",\n \"⪦\": \"⪦\",\n \"⩹\": \"⩹\",\n \"⋉\": \"⋉\",\n \"⥶\": \"⥶\",\n \"⩻\": \"⩻\",\n \"⦖\": \"⦖\",\n \"◃\": \"◃\",\n \"⥊\": \"⥊\",\n \"⥦\": \"⥦\",\n \"≨︀\": \"≨︀\",\n \"∺\": \"∺\",\n \"¯\": \"¯\",\n \"♂\": \"♂\",\n \"✠\": \"✠\",\n \"▮\": \"▮\",\n \"⨩\": \"⨩\",\n \"м\": \"м\",\n \"—\": \"—\",\n \"𝔪\": \"𝔪\",\n \"℧\": \"℧\",\n \"µ\": \"µ\",\n \"⫰\": \"⫰\",\n \"−\": \"−\",\n \"⨪\": \"⨪\",\n \"⫛\": \"⫛\",\n \"⊧\": \"⊧\",\n \"𝕞\": \"𝕞\",\n \"𝓂\": \"𝓂\",\n \"μ\": \"μ\",\n \"⊸\": \"⊸\",\n \"⋙̸\": \"⋙̸\",\n \"≫⃒\": \"≫⃒\",\n \"⇍\": \"⇍\",\n \"⇎\": \"⇎\",\n \"⋘̸\": \"⋘̸\",\n \"≪⃒\": \"≪⃒\",\n \"⇏\": \"⇏\",\n \"⊯\": \"⊯\",\n \"⊮\": \"⊮\",\n \"ń\": \"ń\",\n \"∠⃒\": \"∠⃒\",\n \"⩰̸\": \"⩰̸\",\n \"≋̸\": \"≋̸\",\n \"ʼn\": \"ʼn\",\n \"♮\": \"♮\",\n \"⩃\": \"⩃\",\n \"ň\": \"ň\",\n \"ņ\": \"ņ\",\n \"⩭̸\": \"⩭̸\",\n \"⩂\": \"⩂\",\n \"н\": \"н\",\n \"–\": \"–\",\n \"⇗\": \"⇗\",\n \"⤤\": \"⤤\",\n \"≐̸\": \"≐̸\",\n \"⤨\": \"⤨\",\n \"𝔫\": \"𝔫\",\n \"↮\": \"↮\",\n \"⫲\": \"⫲\",\n \"⋼\": \"⋼\",\n \"⋺\": \"⋺\",\n \"њ\": \"њ\",\n \"≦̸\": \"≦̸\",\n \"↚\": \"↚\",\n \"‥\": \"‥\",\n \"𝕟\": \"𝕟\",\n \"¬\": \"¬\",\n \"⋹̸\": \"⋹̸\",\n \"⋵̸\": \"⋵̸\",\n \"⋷\": \"⋷\",\n \"⋶\": \"⋶\",\n \"⋾\": \"⋾\",\n \"⋽\": \"⋽\",\n \"⫽⃥\": \"⫽⃥\",\n \"∂̸\": \"∂̸\",\n \"⨔\": \"⨔\",\n \"↛\": \"↛\",\n \"⤳̸\": \"⤳̸\",\n \"↝̸\": \"↝̸\",\n \"𝓃\": \"𝓃\",\n \"⊄\": \"⊄\",\n \"⫅̸\": \"⫅̸\",\n \"⊅\": \"⊅\",\n \"⫆̸\": \"⫆̸\",\n \"ñ\": \"ñ\",\n \"ν\": \"ν\",\n \"#\": \"#\",\n \"№\": \"№\",\n \" \": \" \",\n \"⊭\": \"⊭\",\n \"⤄\": \"⤄\",\n \"≍⃒\": \"≍⃒\",\n \"⊬\": \"⊬\",\n \"≥⃒\": \"≥⃒\",\n \">⃒\": \">⃒\",\n \"⧞\": \"⧞\",\n \"⤂\": \"⤂\",\n \"≤⃒\": \"≤⃒\",\n \"<⃒\": \"<⃒\",\n \"⊴⃒\": \"⊴⃒\",\n \"⤃\": \"⤃\",\n \"⊵⃒\": \"⊵⃒\",\n \"∼⃒\": \"∼⃒\",\n \"⇖\": \"⇖\",\n \"⤣\": \"⤣\",\n \"⤧\": \"⤧\",\n \"ó\": \"ó\",\n \"ô\": \"ô\",\n \"о\": \"о\",\n \"ő\": \"ő\",\n \"⨸\": \"⨸\",\n \"⦼\": \"⦼\",\n \"œ\": \"œ\",\n \"⦿\": \"⦿\",\n \"𝔬\": \"𝔬\",\n \"˛\": \"˛\",\n \"ò\": \"ò\",\n \"⧁\": \"⧁\",\n \"⦵\": \"⦵\",\n \"⦾\": \"⦾\",\n \"⦻\": \"⦻\",\n \"⧀\": \"⧀\",\n \"ō\": \"ō\",\n \"ω\": \"ω\",\n \"ο\": \"ο\",\n \"⦶\": \"⦶\",\n \"𝕠\": \"𝕠\",\n \"⦷\": \"⦷\",\n \"⦹\": \"⦹\",\n \"∨\": \"∨\",\n \"⩝\": \"⩝\",\n \"ℴ\": \"ℴ\",\n \"ª\": \"ª\",\n \"º\": \"º\",\n \"⊶\": \"⊶\",\n \"⩖\": \"⩖\",\n \"⩗\": \"⩗\",\n \"⩛\": \"⩛\",\n \"ø\": \"ø\",\n \"⊘\": \"⊘\",\n \"õ\": \"õ\",\n \"⨶\": \"⨶\",\n \"ö\": \"ö\",\n \"⌽\": \"⌽\",\n \"¶\": \"¶\",\n \"⫳\": \"⫳\",\n \"⫽\": \"⫽\",\n \"п\": \"п\",\n \"%\": \"%\",\n \".\": \".\",\n \"‰\": \"‰\",\n \"‱\": \"‱\",\n \"𝔭\": \"𝔭\",\n \"φ\": \"φ\",\n \"ϕ\": \"ϕ\",\n \"☎\": \"☎\",\n \"π\": \"π\",\n \"ϖ\": \"ϖ\",\n \"ℎ\": \"ℎ\",\n \"+\": \"+\",\n \"⨣\": \"⨣\",\n \"⨢\": \"⨢\",\n \"⨥\": \"⨥\",\n \"⩲\": \"⩲\",\n \"⨦\": \"⨦\",\n \"⨧\": \"⨧\",\n \"⨕\": \"⨕\",\n \"𝕡\": \"𝕡\",\n \"£\": \"£\",\n \"⪳\": \"⪳\",\n \"⪷\": \"⪷\",\n \"⪹\": \"⪹\",\n \"⪵\": \"⪵\",\n \"⋨\": \"⋨\",\n \"′\": \"′\",\n \"⌮\": \"⌮\",\n \"⌒\": \"⌒\",\n \"⌓\": \"⌓\",\n \"⊰\": \"⊰\",\n \"𝓅\": \"𝓅\",\n \"ψ\": \"ψ\",\n \" \": \" \",\n \"𝔮\": \"𝔮\",\n \"𝕢\": \"𝕢\",\n \"⁗\": \"⁗\",\n \"𝓆\": \"𝓆\",\n \"⨖\": \"⨖\",\n \"?\": \"?\",\n \"⤜\": \"⤜\",\n \"⥤\": \"⥤\",\n \"∽̱\": \"∽̱\",\n \"ŕ\": \"ŕ\",\n \"⦳\": \"⦳\",\n \"⦒\": \"⦒\",\n \"⦥\": \"⦥\",\n \"»\": \"»\",\n \"⥵\": \"⥵\",\n \"⤠\": \"⤠\",\n \"⤳\": \"⤳\",\n \"⤞\": \"⤞\",\n \"⥅\": \"⥅\",\n \"⥴\": \"⥴\",\n \"↣\": \"↣\",\n \"↝\": \"↝\",\n \"⤚\": \"⤚\",\n \"∶\": \"∶\",\n \"❳\": \"❳\",\n \"}\": \"}\",\n \"]\": \"]\",\n \"⦌\": \"⦌\",\n \"⦎\": \"⦎\",\n \"⦐\": \"⦐\",\n \"ř\": \"ř\",\n \"ŗ\": \"ŗ\",\n \"р\": \"р\",\n \"⤷\": \"⤷\",\n \"⥩\": \"⥩\",\n \"↳\": \"↳\",\n \"▭\": \"▭\",\n \"⥽\": \"⥽\",\n \"𝔯\": \"𝔯\",\n \"⥬\": \"⥬\",\n \"ρ\": \"ρ\",\n \"ϱ\": \"ϱ\",\n \"⇉\": \"⇉\",\n \"⋌\": \"⋌\",\n \"˚\": \"˚\",\n \"‏\": \"‏\",\n \"⎱\": \"⎱\",\n \"⫮\": \"⫮\",\n \"⟭\": \"⟭\",\n \"⇾\": \"⇾\",\n \"⦆\": \"⦆\",\n \"𝕣\": \"𝕣\",\n \"⨮\": \"⨮\",\n \"⨵\": \"⨵\",\n \")\": \")\",\n \"⦔\": \"⦔\",\n \"⨒\": \"⨒\",\n \"›\": \"›\",\n \"𝓇\": \"𝓇\",\n \"⋊\": \"⋊\",\n \"▹\": \"▹\",\n \"⧎\": \"⧎\",\n \"⥨\": \"⥨\",\n \"℞\": \"℞\",\n \"ś\": \"ś\",\n \"⪴\": \"⪴\",\n \"⪸\": \"⪸\",\n \"š\": \"š\",\n \"ş\": \"ş\",\n \"ŝ\": \"ŝ\",\n \"⪶\": \"⪶\",\n \"⪺\": \"⪺\",\n \"⋩\": \"⋩\",\n \"⨓\": \"⨓\",\n \"с\": \"с\",\n \"⋅\": \"⋅\",\n \"⩦\": \"⩦\",\n \"⇘\": \"⇘\",\n \"§\": \"§\",\n \";\": \";\",\n \"⤩\": \"⤩\",\n \"✶\": \"✶\",\n \"𝔰\": \"𝔰\",\n \"♯\": \"♯\",\n \"щ\": \"щ\",\n \"ш\": \"ш\",\n \"­\": \"­\",\n \"σ\": \"σ\",\n \"ς\": \"ς\",\n \"⩪\": \"⩪\",\n \"⪞\": \"⪞\",\n \"⪠\": \"⪠\",\n \"⪝\": \"⪝\",\n \"⪟\": \"⪟\",\n \"≆\": \"≆\",\n \"⨤\": \"⨤\",\n \"⥲\": \"⥲\",\n \"⨳\": \"⨳\",\n \"⧤\": \"⧤\",\n \"⌣\": \"⌣\",\n \"⪪\": \"⪪\",\n \"⪬\": \"⪬\",\n \"⪬︀\": \"⪬︀\",\n \"ь\": \"ь\",\n \"/\": \"/\",\n \"⧄\": \"⧄\",\n \"⌿\": \"⌿\",\n \"𝕤\": \"𝕤\",\n \"♠\": \"♠\",\n \"⊓︀\": \"⊓︀\",\n \"⊔︀\": \"⊔︀\",\n \"𝓈\": \"𝓈\",\n \"☆\": \"☆\",\n \"⊂\": \"⊂\",\n \"⫅\": \"⫅\",\n \"⪽\": \"⪽\",\n \"⫃\": \"⫃\",\n \"⫁\": \"⫁\",\n \"⫋\": \"⫋\",\n \"⊊\": \"⊊\",\n \"⪿\": \"⪿\",\n \"⥹\": \"⥹\",\n \"⫇\": \"⫇\",\n \"⫕\": \"⫕\",\n \"⫓\": \"⫓\",\n \"♪\": \"♪\",\n \"¹\": \"¹\",\n \"²\": \"²\",\n \"³\": \"³\",\n \"⫆\": \"⫆\",\n \"⪾\": \"⪾\",\n \"⫘\": \"⫘\",\n \"⫄\": \"⫄\",\n \"⟉\": \"⟉\",\n \"⫗\": \"⫗\",\n \"⥻\": \"⥻\",\n \"⫂\": \"⫂\",\n \"⫌\": \"⫌\",\n \"⊋\": \"⊋\",\n \"⫀\": \"⫀\",\n \"⫈\": \"⫈\",\n \"⫔\": \"⫔\",\n \"⫖\": \"⫖\",\n \"⇙\": \"⇙\",\n \"⤪\": \"⤪\",\n \"ß\": \"ß\",\n \"⌖\": \"⌖\",\n \"τ\": \"τ\",\n \"ť\": \"ť\",\n \"ţ\": \"ţ\",\n \"т\": \"т\",\n \"⌕\": \"⌕\",\n \"𝔱\": \"𝔱\",\n \"θ\": \"θ\",\n \"ϑ\": \"ϑ\",\n \"þ\": \"þ\",\n \"×\": \"×\",\n \"⨱\": \"⨱\",\n \"⨰\": \"⨰\",\n \"⌶\": \"⌶\",\n \"⫱\": \"⫱\",\n \"𝕥\": \"𝕥\",\n \"⫚\": \"⫚\",\n \"‴\": \"‴\",\n \"▵\": \"▵\",\n \"≜\": \"≜\",\n \"◬\": \"◬\",\n \"⨺\": \"⨺\",\n \"⨹\": \"⨹\",\n \"⧍\": \"⧍\",\n \"⨻\": \"⨻\",\n \"⏢\": \"⏢\",\n \"𝓉\": \"𝓉\",\n \"ц\": \"ц\",\n \"ћ\": \"ћ\",\n \"ŧ\": \"ŧ\",\n \"⥣\": \"⥣\",\n \"ú\": \"ú\",\n \"ў\": \"ў\",\n \"ŭ\": \"ŭ\",\n \"û\": \"û\",\n \"у\": \"у\",\n \"ű\": \"ű\",\n \"⥾\": \"⥾\",\n \"𝔲\": \"𝔲\",\n \"ù\": \"ù\",\n \"▀\": \"▀\",\n \"⌜\": \"⌜\",\n \"⌏\": \"⌏\",\n \"◸\": \"◸\",\n \"ū\": \"ū\",\n \"ų\": \"ų\",\n \"𝕦\": \"𝕦\",\n \"υ\": \"υ\",\n \"⇈\": \"⇈\",\n \"⌝\": \"⌝\",\n \"⌎\": \"⌎\",\n \"ů\": \"ů\",\n \"◹\": \"◹\",\n \"𝓊\": \"𝓊\",\n \"⋰\": \"⋰\",\n \"ũ\": \"ũ\",\n \"ü\": \"ü\",\n \"⦧\": \"⦧\",\n \"⫨\": \"⫨\",\n \"⫩\": \"⫩\",\n \"⦜\": \"⦜\",\n \"⊊︀\": \"⊊︀\",\n \"⫋︀\": \"⫋︀\",\n \"⊋︀\": \"⊋︀\",\n \"⫌︀\": \"⫌︀\",\n \"в\": \"в\",\n \"⊻\": \"⊻\",\n \"≚\": \"≚\",\n \"⋮\": \"⋮\",\n \"𝔳\": \"𝔳\",\n \"𝕧\": \"𝕧\",\n \"𝓋\": \"𝓋\",\n \"⦚\": \"⦚\",\n \"ŵ\": \"ŵ\",\n \"⩟\": \"⩟\",\n \"≙\": \"≙\",\n \"℘\": \"℘\",\n \"𝔴\": \"𝔴\",\n \"𝕨\": \"𝕨\",\n \"𝓌\": \"𝓌\",\n \"𝔵\": \"𝔵\",\n \"ξ\": \"ξ\",\n \"⋻\": \"⋻\",\n \"𝕩\": \"𝕩\",\n \"𝓍\": \"𝓍\",\n \"ý\": \"ý\",\n \"я\": \"я\",\n \"ŷ\": \"ŷ\",\n \"ы\": \"ы\",\n \"¥\": \"¥\",\n \"𝔶\": \"𝔶\",\n \"ї\": \"ї\",\n \"𝕪\": \"𝕪\",\n \"𝓎\": \"𝓎\",\n \"ю\": \"ю\",\n \"ÿ\": \"ÿ\",\n \"ź\": \"ź\",\n \"ž\": \"ž\",\n \"з\": \"з\",\n \"ż\": \"ż\",\n \"ζ\": \"ζ\",\n \"𝔷\": \"𝔷\",\n \"ж\": \"ж\",\n \"⇝\": \"⇝\",\n \"𝕫\": \"𝕫\",\n \"𝓏\": \"𝓏\",\n \"‍\": \"‍\",\n \"‌\": \"‌\"\n }\n }\n};\n"],"mappings":";;;;;AASaA,OAAA,CAAAC,WAAA,GAAc;EACvBC,GAAA,EAAK;EACLC,KAAA,EAAO;EACPC,KAAA,EAAO;AAAA;AAEEJ,OAAA,CAAAK,eAAA,GAAmC;EAC5CH,GAAA,EAAO;IACHI,QAAA,EAAY;MACR,QAAQ;MACR,QAAQ;MACR,UAAU;MACV,UAAU;MACV,SAAS;IAAA;IAEbC,UAAA,EAAc;MACV,KAAK;MACL,KAAK;MACL,KAAM;MACN,KAAK;MACL,KAAK;IAAA;EAAA;EAGbJ,KAAA,EAAS;IACLG,QAAA,EAAY;MACR,UAAU;MACV,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,QAAQ;MACR,SAAS;MACT,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,QAAQ;MACR,SAAS;MACT,QAAQ;MACR,SAAS;MACT,QAAQ;MACR,SAAS;MACT,SAAS;MACT,UAAU;MACV,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,QAAQ;MACR,SAAS;MACT,OAAO;MACP,QAAQ;MACR,OAAO;MACP,QAAQ;MACR,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,UAAU;MACV,YAAY;MACZ,UAAU;MACV,SAAS;MACT,SAAS;MACT,SAAS;MACT,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,UAAU;MACV,SAAS;MACT,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,QAAQ;MACR,QAAQ;MACR,QAAQ;MACR,aAAa;MACb,QAAQ;MACR,SAAS;MACT,WAAW;MACX,SAAS;MACT,aAAa;MACb,SAAS;MACT,SAAS;MACT,SAAS;MACT,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,UAAU;MACV,SAAS;MACT,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,QAAQ;MACR,QAAQ;MACR,QAAQ;MACR,aAAa;MACb,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,WAAW;MACX,SAAS;MACT,aAAa;MACb,SAAS;MACT,SAAS;MACT,SAAS;MACT,WAAW;MACX,cAAc;MACd,WAAW;MACX,SAAS;MACT,UAAU;MACV,YAAY;MACZ,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,UAAU;MACV,WAAW;MACX,aAAa;MACb,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,QAAQ;MACR,UAAU;MACV,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,UAAU;MACV,WAAW;MACX,SAAS;MACT,SAAS;MACT,QAAQ;MACR,SAAS;MACT,SAAS;MACT,SAAS;MACT,YAAY;MACZ,SAAS;MACT,UAAU;MACV,WAAW;MACX,QAAQ;MACR,WAAW;MACX,QAAQ;MACR,QAAQ;MACR,SAAS;MACT,SAAS;MACT,UAAU;MACV,UAAU;MACV,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,UAAU;MACV,SAAS;MACT,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;IAAA;IAEfC,UAAA,EAAc;MACV,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;IAAA;EAAA;EAGbH,KAAA,EAAS;IACLE,QAAA,EAAY;MACR,UAAU;MACV,WAAW;MACX,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,SAAS;MACT,WAAW;MACX,UAAU;MACV,mBAAmB;MACnB,UAAU;MACV,WAAW;MACX,UAAU;MACV,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,eAAe;MACf,UAAU;MACV,YAAY;MACZ,SAAS;MACT,aAAa;MACb,gBAAgB;MAChB,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,UAAU;MACV,YAAY;MACZ,UAAU;MACV,SAAS;MACT,UAAU;MACV,YAAY;MACZ,SAAS;MACT,0BAA0B;MAC1B,aAAa;MACb,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,aAAa;MACb,UAAU;MACV,aAAa;MACb,eAAe;MACf,SAAS;MACT,SAAS;MACT,eAAe;MACf,iBAAiB;MACjB,gBAAgB;MAChB,iBAAiB;MACjB,8BAA8B;MAC9B,2BAA2B;MAC3B,qBAAqB;MACrB,WAAW;MACX,YAAY;MACZ,eAAe;MACf,YAAY;MACZ,qBAAqB;MACrB,UAAU;MACV,eAAe;MACf,qCAAqC;MACrC,WAAW;MACX,UAAU;MACV,SAAS;MACT,YAAY;MACZ,QAAQ;MACR,cAAc;MACd,UAAU;MACV,UAAU;MACV,UAAU;MACV,YAAY;MACZ,UAAU;MACV,WAAW;MACX,YAAY;MACZ,SAAS;MACT,SAAS;MACT,WAAW;MACX,SAAS;MACT,sBAAsB;MACtB,oBAAoB;MACpB,4BAA4B;MAC5B,sBAAsB;MACtB,sBAAsB;MACtB,aAAa;MACb,mBAAmB;MACnB,UAAU;MACV,SAAS;MACT,YAAY;MACZ,cAAc;MACd,2BAA2B;MAC3B,eAAe;MACf,qBAAqB;MACrB,qBAAqB;MACrB,0BAA0B;MAC1B,mBAAmB;MACnB,yBAAyB;MACzB,8BAA8B;MAC9B,0BAA0B;MAC1B,sBAAsB;MACtB,oBAAoB;MACpB,mBAAmB;MACnB,uBAAuB;MACvB,uBAAuB;MACvB,eAAe;MACf,kBAAkB;MAClB,sBAAsB;MACtB,eAAe;MACf,yBAAyB;MACzB,uBAAuB;MACvB,oBAAoB;MACpB,uBAAuB;MACvB,wBAAwB;MACxB,qBAAqB;MACrB,wBAAwB;MACxB,aAAa;MACb,kBAAkB;MAClB,eAAe;MACf,UAAU;MACV,YAAY;MACZ,SAAS;MACT,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,SAAS;MACT,WAAW;MACX,YAAY;MACZ,aAAa;MACb,WAAW;MACX,sBAAsB;MACtB,0BAA0B;MAC1B,WAAW;MACX,UAAU;MACV,aAAa;MACb,WAAW;MACX,gBAAgB;MAChB,iBAAiB;MACjB,UAAU;MACV,UAAU;MACV,SAAS;MACT,SAAS;MACT,UAAU;MACV,YAAY;MACZ,kBAAkB;MAClB,SAAS;MACT,SAAS;MACT,uBAAuB;MACvB,2BAA2B;MAC3B,UAAU;MACV,YAAY;MACZ,gBAAgB;MAChB,UAAU;MACV,UAAU;MACV,OAAO;MACP,QAAQ;MACR,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,SAAS;MACT,UAAU;MACV,SAAS;MACT,QAAQ;MACR,UAAU;MACV,kBAAkB;MAClB,sBAAsB;MACtB,sBAAsB;MACtB,oBAAoB;MACpB,iBAAiB;MACjB,uBAAuB;MACvB,kBAAkB;MAClB,UAAU;MACV,QAAQ;MACR,YAAY;MACZ,WAAW;MACX,SAAS;MACT,WAAW;MACX,SAAS;MACT,kBAAkB;MAClB,UAAU;MACV,oBAAoB;MACpB,UAAU;MACV,YAAY;MACZ,kBAAkB;MAClB,eAAe;MACf,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,SAAS;MACT,WAAW;MACX,YAAY;MACZ,QAAQ;MACR,WAAW;MACX,gBAAgB;MAChB,aAAa;MACb,SAAS;MACT,cAAc;MACd,kBAAkB;MAClB,oBAAoB;MACpB,oBAAoB;MACpB,WAAW;MACX,UAAU;MACV,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,SAAS;MACT,SAAS;MACT,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,UAAU;MACV,UAAU;MACV,WAAW;MACX,YAAY;MACZ,SAAS;MACT,SAAS;MACT,UAAU;MACV,UAAU;MACV,UAAU;MACV,OAAO;MACP,QAAQ;MACR,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,gBAAgB;MAChB,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,sBAAsB;MACtB,eAAe;MACf,kBAAkB;MAClB,yBAAyB;MACzB,iBAAiB;MACjB,uBAAuB;MACvB,uBAAuB;MACvB,oBAAoB;MACpB,uBAAuB;MACvB,eAAe;MACf,oBAAoB;MACpB,qBAAqB;MACrB,aAAa;MACb,kBAAkB;MAClB,mBAAmB;MACnB,kBAAkB;MAClB,qBAAqB;MACrB,uBAAuB;MACvB,sBAAsB;MACtB,qBAAqB;MACrB,kBAAkB;MAClB,qBAAqB;MACrB,gBAAgB;MAChB,mBAAmB;MACnB,eAAe;MACf,oBAAoB;MACpB,sBAAsB;MACtB,mBAAmB;MACnB,iBAAiB;MACjB,cAAc;MACd,oBAAoB;MACpB,eAAe;MACf,SAAS;MACT,QAAQ;MACR,gBAAgB;MAChB,YAAY;MACZ,mBAAmB;MACnB,wBAAwB;MACxB,oBAAoB;MACpB,mBAAmB;MACnB,wBAAwB;MACxB,oBAAoB;MACpB,UAAU;MACV,oBAAoB;MACpB,qBAAqB;MACrB,UAAU;MACV,SAAS;MACT,YAAY;MACZ,QAAQ;MACR,SAAS;MACT,SAAS;MACT,iBAAiB;MACjB,eAAe;MACf,SAAS;MACT,eAAe;MACf,UAAU;MACV,UAAU;MACV,QAAQ;MACR,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,yBAAyB;MACzB,wBAAwB;MACxB,uBAAuB;MACvB,2BAA2B;MAC3B,0BAA0B;MAC1B,oBAAoB;MACpB,aAAa;MACb,SAAS;MACT,aAAa;MACb,sBAAsB;MACtB,UAAU;MACV,SAAS;MACT,kBAAkB;MAClB,eAAe;MACf,0BAA0B;MAC1B,gBAAgB;MAChB,cAAc;MACd,mBAAmB;MACnB,eAAe;MACf,gBAAgB;MAChB,qBAAqB;MACrB,yBAAyB;MACzB,uBAAuB;MACvB,oBAAoB;MACpB,0BAA0B;MAC1B,qBAAqB;MACrB,qBAAqB;MACrB,kBAAkB;MAClB,qBAAqB;MACrB,wBAAwB;MACxB,0BAA0B;MAC1B,aAAa;MACb,kBAAkB;MAClB,oBAAoB;MACpB,iBAAiB;MACjB,uBAAuB;MACvB,kBAAkB;MAClB,6BAA6B;MAC7B,uBAAuB;MACvB,iBAAiB;MACjB,sBAAsB;MACtB,2BAA2B;MAC3B,uBAAuB;MACvB,sBAAsB;MACtB,yBAAyB;MACzB,2BAA2B;MAC3B,qBAAqB;MACrB,0BAA0B;MAC1B,uBAAuB;MACvB,4BAA4B;MAC5B,eAAe;MACf,oBAAoB;MACpB,iBAAiB;MACjB,sBAAsB;MACtB,2BAA2B;MAC3B,sBAAsB;MACtB,iBAAiB;MACjB,sBAAsB;MACtB,cAAc;MACd,mBAAmB;MACnB,uBAAuB;MACvB,mBAAmB;MACnB,oBAAoB;MACpB,UAAU;MACV,WAAW;MACX,YAAY;MACZ,QAAQ;MACR,WAAW;MACX,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,YAAY;MACZ,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,aAAa;MACb,UAAU;MACV,0BAA0B;MAC1B,oBAAoB;MACpB,QAAQ;MACR,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,UAAU;MACV,aAAa;MACb,eAAe;MACf,iBAAiB;MACjB,qBAAqB;MACrB,cAAc;MACd,SAAS;MACT,SAAS;MACT,SAAS;MACT,QAAQ;MACR,eAAe;MACf,mBAAmB;MACnB,UAAU;MACV,QAAQ;MACR,cAAc;MACd,mBAAmB;MACnB,wBAAwB;MACxB,mBAAmB;MACnB,WAAW;MACX,aAAa;MACb,gBAAgB;MAChB,kBAAkB;MAClB,UAAU;MACV,SAAS;MACT,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,UAAU;MACV,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,QAAQ;MACR,oBAAoB;MACpB,wBAAwB;MACxB,0BAA0B;MAC1B,SAAS;MACT,SAAS;MACT,uBAAuB;MACvB,gBAAgB;MAChB,mBAAmB;MACnB,yBAAyB;MACzB,kBAAkB;MAClB,wBAAwB;MACxB,wBAAwB;MACxB,qBAAqB;MACrB,wBAAwB;MACxB,gBAAgB;MAChB,cAAc;MACd,mBAAmB;MACnB,oBAAoB;MACpB,mBAAmB;MACnB,sBAAsB;MACtB,wBAAwB;MACxB,uBAAuB;MACvB,sBAAsB;MACtB,mBAAmB;MACnB,sBAAsB;MACtB,iBAAiB;MACjB,oBAAoB;MACpB,gBAAgB;MAChB,UAAU;MACV,kBAAkB;MAClB,iBAAiB;MACjB,UAAU;MACV,SAAS;MACT,iBAAiB;MACjB,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,QAAQ;MACR,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,SAAS;MACT,SAAS;MACT,oBAAoB;MACpB,oBAAoB;MACpB,qBAAqB;MACrB,kBAAkB;MAClB,WAAW;MACX,iBAAiB;MACjB,UAAU;MACV,UAAU;MACV,YAAY;MACZ,wBAAwB;MACxB,kBAAkB;MAClB,uBAAuB;MACvB,oBAAoB;MACpB,yBAAyB;MACzB,iBAAiB;MACjB,UAAU;MACV,UAAU;MACV,SAAS;MACT,YAAY;MACZ,iBAAiB;MACjB,cAAc;MACd,mBAAmB;MACnB,wBAAwB;MACxB,mBAAmB;MACnB,cAAc;MACd,SAAS;MACT,SAAS;MACT,cAAc;MACd,mBAAmB;MACnB,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,SAAS;MACT,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,SAAS;MACT,eAAe;MACf,WAAW;MACX,gBAAgB;MAChB,eAAe;MACf,WAAW;MACX,gBAAgB;MAChB,oBAAoB;MACpB,gBAAgB;MAChB,UAAU;MACV,eAAe;MACf,UAAU;MACV,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,cAAc;MACd,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,YAAY;MACZ,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,cAAc;MACd,gBAAgB;MAChB,kBAAkB;MAClB,sBAAsB;MACtB,WAAW;MACX,eAAe;MACf,WAAW;MACX,UAAU;MACV,aAAa;MACb,gBAAgB;MAChB,sBAAsB;MACtB,iBAAiB;MACjB,mBAAmB;MACnB,WAAW;MACX,gBAAgB;MAChB,aAAa;MACb,iBAAiB;MACjB,oBAAoB;MACpB,qBAAqB;MACrB,UAAU;MACV,aAAa;MACb,WAAW;MACX,UAAU;MACV,YAAY;MACZ,SAAS;MACT,UAAU;MACV,WAAW;MACX,UAAU;MACV,SAAS;MACT,WAAW;MACX,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,UAAU;MACV,iBAAiB;MACjB,kBAAkB;MAClB,uBAAuB;MACvB,mBAAmB;MACnB,mBAAmB;MACnB,SAAS;MACT,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,WAAW;MACX,SAAS;MACT,UAAU;MACV,UAAU;MACV,SAAS;MACT,QAAQ;MACR,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,SAAS;MACT,SAAS;MACT,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,UAAU;MACV,oBAAoB;MACpB,UAAU;MACV,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,QAAQ;MACR,SAAS;MACT,SAAS;MACT,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,aAAa;MACb,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,QAAQ;MACR,SAAS;MACT,SAAS;MACT,YAAY;MACZ,UAAU;MACV,cAAc;MACd,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,cAAc;MACd,cAAc;MACd,cAAc;MACd,cAAc;MACd,cAAc;MACd,cAAc;MACd,cAAc;MACd,cAAc;MACd,WAAW;MACX,aAAa;MACb,cAAc;MACd,YAAY;MACZ,WAAW;MACX,aAAa;MACb,WAAW;MACX,UAAU;MACV,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,SAAS;MACT,UAAU;MACV,UAAU;MACV,YAAY;MACZ,cAAc;MACd,UAAU;MACV,WAAW;MACX,UAAU;MACV,SAAS;MACT,WAAW;MACX,aAAa;MACb,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,cAAc;MACd,WAAW;MACX,UAAU;MACV,cAAc;MACd,iBAAiB;MACjB,eAAe;MACf,aAAa;MACb,eAAe;MACf,YAAY;MACZ,YAAY;MACZ,cAAc;MACd,UAAU;MACV,cAAc;MACd,WAAW;MACX,SAAS;MACT,WAAW;MACX,YAAY;MACZ,aAAa;MACb,aAAa;MACb,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,aAAa;MACb,SAAS;MACT,YAAY;MACZ,aAAa;MACb,YAAY;MACZ,aAAa;MACb,cAAc;MACd,eAAe;MACf,cAAc;MACd,aAAa;MACb,qBAAqB;MACrB,mBAAmB;MACnB,cAAc;MACd,YAAY;MACZ,cAAc;MACd,YAAY;MACZ,kBAAkB;MAClB,iBAAiB;MACjB,mBAAmB;MACnB,uBAAuB;MACvB,uBAAuB;MACvB,wBAAwB;MACxB,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,SAAS;MACT,aAAa;MACb,UAAU;MACV,UAAU;MACV,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,cAAc;MACd,aAAa;MACb,cAAc;MACd,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,cAAc;MACd,UAAU;MACV,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,cAAc;MACd,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,aAAa;MACb,UAAU;MACV,UAAU;MACV,WAAW;MACX,aAAa;MACb,SAAS;MACT,UAAU;MACV,eAAe;MACf,SAAS;MACT,UAAU;MACV,WAAW;MACX,eAAe;MACf,SAAS;MACT,SAAS;MACT,UAAU;MACV,UAAU;MACV,YAAY;MACZ,qBAAqB;MACrB,sBAAsB;MACtB,cAAc;MACd,cAAc;MACd,gBAAgB;MAChB,iBAAiB;MACjB,iBAAiB;MACjB,UAAU;MACV,cAAc;MACd,YAAY;MACZ,aAAa;MACb,WAAW;MACX,cAAc;MACd,WAAW;MACX,YAAY;MACZ,aAAa;MACb,WAAW;MACX,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,gBAAgB;MAChB,eAAe;MACf,UAAU;MACV,aAAa;MACb,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,SAAS;MACT,UAAU;MACV,YAAY;MACZ,WAAW;MACX,WAAW;MACX,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,aAAa;MACb,WAAW;MACX,WAAW;MACX,YAAY;MACZ,aAAa;MACb,SAAS;MACT,cAAc;MACd,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,UAAU;MACV,YAAY;MACZ,aAAa;MACb,iBAAiB;MACjB,iBAAiB;MACjB,cAAc;MACd,gBAAgB;MAChB,WAAW;MACX,YAAY;MACZ,oBAAoB;MACpB,qBAAqB;MACrB,WAAW;MACX,WAAW;MACX,cAAc;MACd,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,aAAa;MACb,WAAW;MACX,YAAY;MACZ,SAAS;MACT,QAAQ;MACR,aAAa;MACb,WAAW;MACX,aAAa;MACb,QAAQ;MACR,SAAS;MACT,WAAW;MACX,aAAa;MACb,YAAY;MACZ,SAAS;MACT,WAAW;MACX,WAAW;MACX,UAAU;MACV,aAAa;MACb,iBAAiB;MACjB,WAAW;MACX,SAAS;MACT,aAAa;MACb,WAAW;MACX,SAAS;MACT,WAAW;MACX,YAAY;MACZ,mBAAmB;MACnB,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,SAAS;MACT,WAAW;MACX,cAAc;MACd,cAAc;MACd,aAAa;MACb,eAAe;MACf,oBAAoB;MACpB,eAAe;MACf,oBAAoB;MACpB,qBAAqB;MACrB,sBAAsB;MACtB,cAAc;MACd,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,aAAa;MACb,UAAU;MACV,cAAc;MACd,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,QAAQ;MACR,WAAW;MACX,SAAS;MACT,QAAQ;MACR,WAAW;MACX,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,QAAQ;MACR,cAAc;MACd,SAAS;MACT,SAAS;MACT,YAAY;MACZ,WAAW;MACX,WAAW;MACX,cAAc;MACd,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,UAAU;MACV,aAAa;MACb,WAAW;MACX,YAAY;MACZ,aAAa;MACb,WAAW;MACX,gBAAgB;MAChB,iBAAiB;MACjB,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,aAAa;MACb,cAAc;MACd,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,UAAU;MACV,SAAS;MACT,QAAQ;MACR,SAAS;MACT,SAAS;MACT,UAAU;MACV,UAAU;MACV,UAAU;MACV,WAAW;MACX,iBAAiB;MACjB,kBAAkB;MAClB,mBAAmB;MACnB,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,SAAS;MACT,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,UAAU;MACV,UAAU;MACV,YAAY;MACZ,UAAU;MACV,WAAW;MACX,cAAc;MACd,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,WAAW;MACX,UAAU;MACV,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,WAAW;MACX,SAAS;MACT,UAAU;MACV,QAAQ;MACR,SAAS;MACT,SAAS;MACT,UAAU;MACV,cAAc;MACd,SAAS;MACT,WAAW;MACX,YAAY;MACZ,aAAa;MACb,cAAc;MACd,UAAU;MACV,YAAY;MACZ,SAAS;MACT,QAAQ;MACR,SAAS;MACT,WAAW;MACX,UAAU;MACV,QAAQ;MACR,SAAS;MACT,SAAS;MACT,SAAS;MACT,SAAS;MACT,UAAU;MACV,cAAc;MACd,SAAS;MACT,UAAU;MACV,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,OAAO;MACP,QAAQ;MACR,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,aAAa;MACb,eAAe;MACf,YAAY;MACZ,YAAY;MACZ,eAAe;MACf,gBAAgB;MAChB,aAAa;MACb,YAAY;MACZ,eAAe;MACf,UAAU;MACV,UAAU;MACV,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,aAAa;MACb,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,eAAe;MACf,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,cAAc;MACd,cAAc;MACd,WAAW;MACX,YAAY;MACZ,mBAAmB;MACnB,oBAAoB;MACpB,UAAU;MACV,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,QAAQ;MACR,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,UAAU;MACV,WAAW;MACX,SAAS;MACT,SAAS;MACT,WAAW;MACX,YAAY;MACZ,QAAQ;MACR,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,cAAc;MACd,cAAc;MACd,WAAW;MACX,UAAU;MACV,WAAW;MACX,QAAQ;MACR,YAAY;MACZ,WAAW;MACX,cAAc;MACd,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,cAAc;MACd,cAAc;MACd,cAAc;MACd,aAAa;MACb,UAAU;MACV,WAAW;MACX,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,aAAa;MACb,WAAW;MACX,YAAY;MACZ,WAAW;MACX,QAAQ;MACR,YAAY;MACZ,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,SAAS;MACT,SAAS;MACT,WAAW;MACX,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,SAAS;MACT,YAAY;MACZ,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,YAAY;MACZ,WAAW;MACX,QAAQ;MACR,SAAS;MACT,UAAU;MACV,YAAY;MACZ,cAAc;MACd,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,aAAa;MACb,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,aAAa;MACb,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,aAAa;MACb,aAAa;MACb,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,aAAa;MACb,cAAc;MACd,UAAU;MACV,QAAQ;MACR,eAAe;MACf,mBAAmB;MACnB,qBAAqB;MACrB,mBAAmB;MACnB,oBAAoB;MACpB,oBAAoB;MACpB,qBAAqB;MACrB,uBAAuB;MACvB,yBAAyB;MACzB,oBAAoB;MACpB,SAAS;MACT,SAAS;MACT,UAAU;MACV,cAAc;MACd,SAAS;MACT,WAAW;MACX,YAAY;MACZ,aAAa;MACb,cAAc;MACd,UAAU;MACV,YAAY;MACZ,gBAAgB;MAChB,aAAa;MACb,eAAe;MACf,gBAAgB;MAChB,aAAa;MACb,aAAa;MACb,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,QAAQ;MACR,SAAS;MACT,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,UAAU;MACV,QAAQ;MACR,WAAW;MACX,cAAc;MACd,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,gBAAgB;MAChB,SAAS;MACT,UAAU;MACV,cAAc;MACd,SAAS;MACT,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,mBAAmB;MACnB,wBAAwB;MACxB,gBAAgB;MAChB,oBAAoB;MACpB,mBAAmB;MACnB,oBAAoB;MACpB,WAAW;MACX,UAAU;MACV,YAAY;MACZ,aAAa;MACb,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,aAAa;MACb,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,cAAc;MACd,WAAW;MACX,YAAY;MACZ,SAAS;MACT,WAAW;MACX,YAAY;MACZ,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,OAAO;MACP,QAAQ;MACR,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,aAAa;MACb,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,cAAc;MACd,aAAa;MACb,eAAe;MACf,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,UAAU;MACV,UAAU;MACV,aAAa;MACb,SAAS;MACT,YAAY;MACZ,gBAAgB;MAChB,gBAAgB;MAChB,cAAc;MACd,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,WAAW;MACX,mBAAmB;MACnB,SAAS;MACT,SAAS;MACT,UAAU;MACV,WAAW;MACX,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,aAAa;MACb,UAAU;MACV,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,QAAQ;MACR,UAAU;MACV,YAAY;MACZ,QAAQ;MACR,cAAc;MACd,WAAW;MACX,SAAS;MACT,SAAS;MACT,UAAU;MACV,gBAAgB;MAChB,qBAAqB;MACrB,SAAS;MACT,SAAS;MACT,UAAU;MACV,iBAAiB;MACjB,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,WAAW;MACX,aAAa;MACb,cAAc;MACd,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,cAAc;MACd,UAAU;MACV,SAAS;MACT,WAAW;MACX,QAAQ;MACR,WAAW;MACX,YAAY;MACZ,WAAW;MACX,aAAa;MACb,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,aAAa;MACb,SAAS;MACT,SAAS;MACT,SAAS;MACT,UAAU;MACV,WAAW;MACX,eAAe;MACf,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,QAAQ;MACR,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,SAAS;MACT,WAAW;MACX,UAAU;MACV,SAAS;MACT,gBAAgB;MAChB,qBAAqB;MACrB,UAAU;MACV,WAAW;MACX,eAAe;MACf,UAAU;MACV,WAAW;MACX,WAAW;MACX,SAAS;MACT,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,cAAc;MACd,aAAa;MACb,aAAa;MACb,aAAa;MACb,WAAW;MACX,aAAa;MACb,aAAa;MACb,aAAa;MACb,UAAU;MACV,eAAe;MACf,YAAY;MACZ,WAAW;MACX,aAAa;MACb,SAAS;MACT,YAAY;MACZ,UAAU;MACV,WAAW;MACX,aAAa;MACb,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,iBAAiB;MACjB,WAAW;MACX,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,UAAU;MACV,UAAU;MACV,eAAe;MACf,oBAAoB;MACpB,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,aAAa;MACb,aAAa;MACb,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,eAAe;MACf,gBAAgB;MAChB,WAAW;MACX,aAAa;MACb,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,eAAe;MACf,gBAAgB;MAChB,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,mBAAmB;MACnB,qBAAqB;MACrB,oBAAoB;MACpB,sBAAsB;MACtB,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,UAAU;MACV,UAAU;MACV,aAAa;MACb,YAAY;MACZ,UAAU;MACV,UAAU;MACV,aAAa;MACb,YAAY;MACZ,aAAa;MACb,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,aAAa;MACb,YAAY;MACZ,QAAQ;MACR,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,UAAU;MACV,WAAW;MACX,SAAS;MACT,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,SAAS;MACT,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,WAAW;MACX,SAAS;MACT,WAAW;MACX,WAAW;MACX,aAAa;MACb,UAAU;MACV,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,QAAQ;MACR,WAAW;MACX,SAAS;MACT,WAAW;MACX,aAAa;MACb,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,YAAY;MACZ,UAAU;MACV,aAAa;MACb,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,cAAc;MACd,SAAS;MACT,UAAU;MACV,WAAW;MACX,SAAS;MACT,SAAS;MACT,UAAU;MACV,cAAc;MACd,YAAY;MACZ,WAAW;MACX,UAAU;MACV,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,aAAa;MACb,SAAS;MACT,SAAS;MACT,UAAU;MACV,YAAY;MACZ,WAAW;MACX,QAAQ;MACR,eAAe;MACf,SAAS;MACT,YAAY;MACZ,aAAa;MACb,YAAY;MACZ,UAAU;MACV,cAAc;MACd,WAAW;MACX,aAAa;MACb,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,WAAW;MACX,YAAY;MACZ,aAAa;MACb,aAAa;MACb,QAAQ;MACR,cAAc;MACd,UAAU;MACV,UAAU;MACV,WAAW;MACX,QAAQ;MACR,SAAS;MACT,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,gBAAgB;MAChB,iBAAiB;MACjB,YAAY;MACZ,iBAAiB;MACjB,cAAc;MACd,cAAc;MACd,aAAa;MACb,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,cAAc;MACd,cAAc;MACd,cAAc;MACd,UAAU;MACV,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,SAAS;MACT,YAAY;MACZ,SAAS;MACT,UAAU;MACV,UAAU;MACV,YAAY;MACZ,UAAU;MACV,iBAAiB;MACjB,aAAa;MACb,WAAW;MACX,aAAa;MACb,SAAS;MACT,UAAU;MACV,WAAW;MACX,UAAU;MACV,YAAY;MACZ,WAAW;MACX,UAAU;MACV,UAAU;MACV,YAAY;MACZ,WAAW;MACX,cAAc;MACd,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,UAAU;MACV,YAAY;MACZ,WAAW;MACX,aAAa;MACb,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,aAAa;MACb,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,eAAe;MACf,WAAW;MACX,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,aAAa;MACb,aAAa;MACb,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,UAAU;MACV,SAAS;MACT,UAAU;MACV,aAAa;MACb,WAAW;MACX,YAAY;MACZ,UAAU;MACV,UAAU;MACV,aAAa;MACb,cAAc;MACd,WAAW;MACX,UAAU;MACV,QAAQ;MACR,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,WAAW;MACX,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,gBAAgB;MAChB,oBAAoB;MACpB,sBAAsB;MACtB,oBAAoB;MACpB,qBAAqB;MACrB,uBAAuB;MACvB,sBAAsB;MACtB,qBAAqB;MACrB,qBAAqB;MACrB,UAAU;MACV,kBAAkB;MAClB,WAAW;MACX,WAAW;MACX,SAAS;MACT,YAAY;MACZ,gBAAgB;MAChB,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,YAAY;MACZ,aAAa;MACb,UAAU;MACV,YAAY;MACZ,cAAc;MACd,WAAW;MACX,YAAY;MACZ,UAAU;MACV,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,cAAc;MACd,aAAa;MACb,QAAQ;MACR,YAAY;MACZ,WAAW;MACX,QAAQ;MACR,SAAS;MACT,UAAU;MACV,YAAY;MACZ,WAAW;MACX,SAAS;MACT,YAAY;MACZ,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,cAAc;MACd,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,WAAW;MACX,aAAa;MACb,SAAS;MACT,UAAU;MACV,UAAU;MACV,YAAY;MACZ,cAAc;MACd,WAAW;MACX,UAAU;MACV,SAAS;MACT,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,cAAc;MACd,mBAAmB;MACnB,QAAQ;MACR,SAAS;MACT,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,aAAa;MACb,aAAa;MACb,WAAW;MACX,mBAAmB;MACnB,YAAY;MACZ,cAAc;MACd,UAAU;MACV,WAAW;MACX,SAAS;MACT,UAAU;MACV,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,YAAY;MACZ,UAAU;MACV,YAAY;MACZ,eAAe;MACf,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,cAAc;MACd,gBAAgB;MAChB,WAAW;MACX,YAAY;MACZ,cAAc;MACd,gBAAgB;MAChB,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,WAAW;MACX,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,WAAW;MACX,qBAAqB;MACrB,iBAAiB;MACjB,WAAW;MACX,SAAS;MACT,UAAU;MACV,YAAY;MACZ,UAAU;MACV,aAAa;MACb,aAAa;MACb,WAAW;MACX,WAAW;MACX,aAAa;MACb,aAAa;MACb,YAAY;MACZ,cAAc;MACd,eAAe;MACf,eAAe;MACf,gBAAgB;MAChB,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,gBAAgB;MAChB,iBAAiB;MACjB,YAAY;MACZ,iBAAiB;MACjB,cAAc;MACd,cAAc;MACd,aAAa;MACb,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,SAAS;MACT,UAAU;MACV,YAAY;MACZ,aAAa;MACb,UAAU;MACV,aAAa;MACb,aAAa;MACb,aAAa;MACb,aAAa;MACb,aAAa;MACb,WAAW;MACX,WAAW;MACX,aAAa;MACb,YAAY;MACZ,cAAc;MACd,eAAe;MACf,eAAe;MACf,gBAAgB;MAChB,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,WAAW;MACX,aAAa;MACb,YAAY;MACZ,UAAU;MACV,WAAW;MACX,YAAY;MACZ,SAAS;MACT,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,UAAU;MACV,YAAY;MACZ,SAAS;MACT,YAAY;MACZ,eAAe;MACf,WAAW;MACX,cAAc;MACd,YAAY;MACZ,iBAAiB;MACjB,cAAc;MACd,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,cAAc;MACd,YAAY;MACZ,UAAU;MACV,UAAU;MACV,SAAS;MACT,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,aAAa;MACb,UAAU;MACV,YAAY;MACZ,WAAW;MACX,cAAc;MACd,kBAAkB;MAClB,kBAAkB;MAClB,oBAAoB;MACpB,eAAe;MACf,mBAAmB;MACnB,qBAAqB;MACrB,YAAY;MACZ,UAAU;MACV,cAAc;MACd,aAAa;MACb,WAAW;MACX,aAAa;MACb,cAAc;MACd,UAAU;MACV,UAAU;MACV,WAAW;MACX,YAAY;MACZ,WAAW;MACX,sBAAsB;MACtB,uBAAuB;MACvB,UAAU;MACV,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,SAAS;MACT,WAAW;MACX,YAAY;MACZ,WAAW;MACX,WAAW;MACX,WAAW;MACX,YAAY;MACZ,cAAc;MACd,YAAY;MACZ,WAAW;MACX,WAAW;MACX,QAAQ;MACR,SAAS;MACT,WAAW;MACX,UAAU;MACV,aAAa;MACb,iBAAiB;MACjB,mBAAmB;MACnB,oBAAoB;MACpB,WAAW;MACX,UAAU;MACV,WAAW;MACX,aAAa;MACb,gBAAgB;MAChB,YAAY;MACZ,cAAc;MACd,YAAY;MACZ,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,WAAW;MACX,SAAS;MACT,UAAU;MACV,aAAa;MACb,UAAU;MACV,UAAU;MACV,WAAW;MACX,WAAW;MACX,YAAY;MACZ,gBAAgB;MAChB,cAAc;MACd,gBAAgB;MAChB,YAAY;MACZ,WAAW;MACX,eAAe;MACf,UAAU;MACV,YAAY;MACZ,cAAc;MACd,kBAAkB;MAClB,mBAAmB;MACnB,kBAAkB;MAClB,mBAAmB;MACnB,cAAc;MACd,qBAAqB;MACrB,sBAAsB;MACtB,SAAS;MACT,WAAW;MACX,SAAS;MACT,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,UAAU;MACV,SAAS;MACT,WAAW;MACX,WAAW;MACX,WAAW;MACX,UAAU;MACV,WAAW;MACX,WAAW;MACX,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,YAAY;MACZ,aAAa;MACb,WAAW;MACX,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,UAAU;MACV,QAAQ;MACR,QAAQ;MACR,YAAY;MACZ,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,WAAW;MACX,SAAS;MACT,WAAW;MACX,WAAW;MACX,QAAQ;MACR,WAAW;MACX,WAAW;MACX,UAAU;MACV,UAAU;MACV,WAAW;MACX,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,WAAW;MACX,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,WAAW;MACX,UAAU;MACV,YAAY;MACZ,WAAW;MACX,YAAY;MACZ,UAAU;MACV,WAAW;MACX,SAAS;MACT,QAAQ;MACR,SAAS;MACT,SAAS;MACT,UAAU;MACV,UAAU;MACV,UAAU;MACV,UAAU;MACV,SAAS;MACT,UAAU;MACV,YAAY;MACZ,YAAY;MACZ,SAAS;MACT,UAAU;MACV,YAAY;MACZ,UAAU;MACV,SAAS;MACT,UAAU;MACV,aAAa;MACb,UAAU;MACV,UAAU;MACV,SAAS;MACT,UAAU;IAAA;IAEdC,UAAA,EAAc;MACV,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACLC,CAAA,EAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACLC,CAAA,EAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACLC,EAAA,EAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK;MACL,MAAM;MACN,KAAK;MACL,KAAK;MACL,MAAM;MACN,MAAM;MACN,KAAK;MACL,KAAK;IAAA;EAAA;AAAA","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/668ceda86bc8f608bbe72746721ad6c96afb63b460ac946d23f30c075d9e62c5.json b/Data-Viz/node_modules/.cache/babel-loader/668ceda86bc8f608bbe72746721ad6c96afb63b460ac946d23f30c075d9e62c5.json new file mode 100644 index 000000000..823d1ca67 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/668ceda86bc8f608bbe72746721ad6c96afb63b460ac946d23f30c075d9e62c5.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nmodule.exports = NATIVE_SYMBOL && !Symbol.sham && typeof Symbol.iterator == 'symbol';","map":{"version":3,"names":["NATIVE_SYMBOL","require","module","exports","Symbol","sham","iterator"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/use-symbol-as-uid.js"],"sourcesContent":["'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL &&\n !Symbol.sham &&\n typeof Symbol.iterator == 'symbol';\n"],"mappings":"AAAA,YAAY;;AACZ;AACA,IAAIA,aAAa,GAAGC,OAAO,CAAC,2CAA2C,CAAC;AAExEC,MAAM,CAACC,OAAO,GAAGH,aAAa,IAC5B,CAACI,MAAM,CAACC,IAAI,IACZ,OAAOD,MAAM,CAACE,QAAQ,IAAI,QAAQ","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/6868e67daf904f6993718a10fdef25365b08f0a1c9aa1fa1d16f08295ebd793c.json b/Data-Viz/node_modules/.cache/babel-loader/6868e67daf904f6993718a10fdef25365b08f0a1c9aa1fa1d16f08295ebd793c.json new file mode 100644 index 000000000..f62086a33 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/6868e67daf904f6993718a10fdef25365b08f0a1c9aa1fa1d16f08295ebd793c.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.numericUnicodeMap = {\n 0: 65533,\n 128: 8364,\n 130: 8218,\n 131: 402,\n 132: 8222,\n 133: 8230,\n 134: 8224,\n 135: 8225,\n 136: 710,\n 137: 8240,\n 138: 352,\n 139: 8249,\n 140: 338,\n 142: 381,\n 145: 8216,\n 146: 8217,\n 147: 8220,\n 148: 8221,\n 149: 8226,\n 150: 8211,\n 151: 8212,\n 152: 732,\n 153: 8482,\n 154: 353,\n 155: 8250,\n 156: 339,\n 158: 382,\n 159: 376\n};","map":{"version":3,"names":["exports","numericUnicodeMap"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/html-entities/src/numeric-unicode-map.ts"],"sourcesContent":["export const numericUnicodeMap: Record = {\n 0: 65533,\n 128: 8364,\n 130: 8218,\n 131: 402,\n 132: 8222,\n 133: 8230,\n 134: 8224,\n 135: 8225,\n 136: 710,\n 137: 8240,\n 138: 352,\n 139: 8249,\n 140: 338,\n 142: 381,\n 145: 8216,\n 146: 8217,\n 147: 8220,\n 148: 8221,\n 149: 8226,\n 150: 8211,\n 151: 8212,\n 152: 732,\n 153: 8482,\n 154: 353,\n 155: 8250,\n 156: 339,\n 158: 382,\n 159: 376\n};\n"],"mappings":";;;;;AAAaA,OAAA,CAAAC,iBAAA,GAA4C;EACrD,GAAG;EACH,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;EACL,KAAK;AAAA","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/6ce3c259ceaff0046d5c1bbc3e69076ee245953302be8adf0030fe1119f74b25.json b/Data-Viz/node_modules/.cache/babel-loader/6ce3c259ceaff0046d5c1bbc3e69076ee245953302be8adf0030fe1119f74b25.json new file mode 100644 index 000000000..81b8712e2 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/6ce3c259ceaff0046d5c1bbc3e69076ee245953302be8adf0030fe1119f74b25.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar globalThis = require('../internals/global-this');\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\nmodule.exports = userAgent ? String(userAgent) : '';","map":{"version":3,"names":["globalThis","require","navigator","userAgent","module","exports","String"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/environment-user-agent.js"],"sourcesContent":["'use strict';\nvar globalThis = require('../internals/global-this');\n\nvar navigator = globalThis.navigator;\nvar userAgent = navigator && navigator.userAgent;\n\nmodule.exports = userAgent ? String(userAgent) : '';\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,UAAU,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AAEpD,IAAIC,SAAS,GAAGF,UAAU,CAACE,SAAS;AACpC,IAAIC,SAAS,GAAGD,SAAS,IAAIA,SAAS,CAACC,SAAS;AAEhDC,MAAM,CAACC,OAAO,GAAGF,SAAS,GAAGG,MAAM,CAACH,SAAS,CAAC,GAAG,EAAE","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/6d2332787c4e17df68af90b0f1f70694ab1612f2cf2d7ea3cc2004ed15c977e8.json b/Data-Viz/node_modules/.cache/babel-loader/6d2332787c4e17df68af90b0f1f70694ab1612f2cf2d7ea3cc2004ed15c977e8.json new file mode 100644 index 000000000..7c8de42b4 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/6d2332787c4e17df68af90b0f1f70694ab1612f2cf2d7ea3cc2004ed15c977e8.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport \"leaflet-routing-machine\";\nimport \"leaflet-routing-machine/dist/leaflet-routing-machine.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst PlanTripPage = () => {\n _s();\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState(null);\n const [toCoords, setToCoords] = useState(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n const GT_CENTER = [33.7756, -84.3963];\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const boardIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-violet.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n useEffect(() => {\n setRoutes(mockRoutes);\n const allStops = [];\n const stopKey = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopKey.has(stop.id)) {\n stopKey.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) initMap();\n }, [stops]);\n useEffect(() => {\n if (result && mapInstanceRef.current) updateMap();\n }, [result]);\n function getStopByName(name) {\n return stops.find(s => s.name === name);\n }\n function handleFromLocationSelect(e) {\n const stopName = e.target.value;\n setFromLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setFromCoords({\n lat: stop.latitude,\n lng: stop.longitude\n });\n }\n function handleToLocationSelect(e) {\n const stopName = e.target.value;\n setToLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setToCoords({\n lat: stop.latitude,\n lng: stop.longitude\n });\n }\n const calculateDistance = (lat1, lon1, lat2, lon2) => {\n const toRadian = angle => Math.PI / 180 * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) ** 2 + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n markersRef.current.forEach(marker => {\n if (marker) mapInstanceRef.current.removeLayer(marker);\n });\n markersRef.current = [];\n routeLineRef.current.forEach(line => {\n if (line) {\n try {\n if (line.remove) {\n line.remove();\n } else if (line._map) {\n mapInstanceRef.current.removeLayer(line);\n }\n } catch (e) {\n console.log('Error removing layer:', e);\n }\n }\n });\n routeLineRef.current = [];\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const allCoordinates = [];\n\n // Walking-only route\n if (result.transfers === -1) {\n if (fromCoords && toCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng], [toCoords.lat, toCoords.lng]);\n markersRef.current.push(L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 START
${fromLocation}`).addTo(mapInstanceRef.current));\n markersRef.current.push(L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}`).addTo(mapInstanceRef.current));\n\n // Walking route that follows roads\n const walkingRoute = L.Routing.control({\n waypoints: [L.latLng(fromCoords.lat, fromCoords.lng), L.latLng(toCoords.lat, toCoords.lng)],\n routeWhileDragging: false,\n addWaypoints: false,\n show: false,\n lineOptions: {\n styles: [{\n color: '#22c55e',\n weight: 5,\n opacity: 0.8,\n dashArray: '10, 10'\n }]\n },\n createMarker: () => null\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(walkingRoute);\n }\n } else {\n // Bus route with road-following\n\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n markersRef.current.push(L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 START
${fromLocation}`).addTo(mapInstanceRef.current));\n }\n\n // Draw road-following routes for each segment\n result.segments.forEach((segment, index) => {\n const waypoints = segment.stops.map(s => L.latLng(s.latitude, s.longitude));\n allCoordinates.push(...segment.stops.map(s => [s.latitude, s.longitude]));\n const segmentRoute = L.Routing.control({\n waypoints: waypoints,\n routeWhileDragging: false,\n addWaypoints: false,\n show: false,\n lineOptions: {\n styles: [{\n color: segment.route.color || '#3B82F6',\n weight: 5,\n opacity: 0.8\n }]\n },\n createMarker: () => null\n }).addTo(mapInstanceRef.current);\n routeLineRef.current.push(segmentRoute);\n if (index > 0) {\n const transferStop = segment.stops[0];\n markersRef.current.push(L.marker([transferStop.latitude, transferStop.longitude], {\n icon: transferIcon\n }).bindPopup(`🔄 TRANSFER ${index}
${transferStop.name}
Switch to ${segment.route.name}`).addTo(mapInstanceRef.current));\n } else {\n const boardStop = segment.stops[0];\n markersRef.current.push(L.marker([boardStop.latitude, boardStop.longitude], {\n icon: boardIcon\n }).bindPopup(`🚌 BOARD HERE
${boardStop.name}
${segment.route.name}`).addTo(mapInstanceRef.current));\n }\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n markersRef.current.push(L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}`).addTo(mapInstanceRef.current));\n }\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, {\n padding: [80, 80]\n });\n }\n };\n const findRouteWithBFS = (startStopId, endStopId) => {\n const queue = [];\n const visited = new Set();\n routes.forEach(route => {\n const startIdx = route.stops.findIndex(s => s.id === startStopId);\n if (startIdx !== -1) {\n const key = `${startStopId}:${route.id}`;\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n visitedKey: key\n });\n visited.add(key);\n }\n });\n let iterations = 0;\n while (queue.length > 0 && iterations < 10000) {\n iterations++;\n const current = queue.shift();\n const route = routes.find(r => r.id === current.routeId);\n if (!route) continue;\n const currentIdx = route.stops.findIndex(s => s.id === current.stopId);\n if (currentIdx === -1) continue;\n for (const direction of [1, -1]) {\n let i = currentIdx + direction;\n while (i >= 0 && i < route.stops.length) {\n const nextStop = route.stops[i];\n if (nextStop.id === endStopId) {\n const finalSegment = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0 ? route.stops.slice(currentIdx, i + 1) : route.stops.slice(i, currentIdx + 1).reverse()\n };\n return {\n segments: [...current.segments, finalSegment],\n totalStops: [...current.segments, finalSegment].reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: current.segments.length\n };\n }\n routes.forEach(transferRoute => {\n if (transferRoute.id === route.id) return;\n const transferIdx = transferRoute.stops.findIndex(s => s.id === nextStop.id);\n if (transferIdx !== -1) {\n const transferKey = `${nextStop.id}:${transferRoute.id}`;\n if (!visited.has(transferKey)) {\n visited.add(transferKey);\n const segmentToTransfer = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0 ? route.stops.slice(currentIdx, i + 1) : route.stops.slice(i, currentIdx + 1).reverse()\n };\n queue.push({\n stopId: nextStop.id,\n routeId: transferRoute.id,\n segments: [...current.segments, segmentToTransfer],\n visitedKey: transferKey\n });\n }\n }\n });\n i += direction;\n }\n }\n }\n return null;\n };\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n const fromStop = getStopByName(fromLocation);\n const toStop = getStopByName(toLocation);\n if (!fromStop || !toStop) {\n setError(\"Selected stop not found.\");\n return;\n }\n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n const directWalkDistance = calculateDistance(fromStop.latitude, fromStop.longitude, toStop.latitude, toStop.longitude);\n const WALKING_THRESHOLD_KM = 0.8;\n const AVERAGE_WALKING_SPEED_KMH = 5;\n const walkingTimeMinutes = directWalkDistance / AVERAGE_WALKING_SPEED_KMH * 60;\n setSearching(true);\n setError(\"\");\n setResult(null);\n setTimeout(() => {\n const routeResult = findRouteWithBFS(fromStop.id, toStop.id);\n let busTripTimeMinutes = 0;\n if (routeResult) {\n busTripTimeMinutes = 5 + routeResult.totalStops * 2 + routeResult.transfers * 5;\n }\n if (directWalkDistance < WALKING_THRESHOLD_KM && (!routeResult || walkingTimeMinutes < busTripTimeMinutes + 5)) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n setSearching(false);\n return;\n }\n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n if (directWalkDistance < 3) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n } else {\n setError(\"No routes found and distance is too far to walk.\");\n }\n }\n setSearching(false);\n }, 200);\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.center,\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDE8C Loading GT Bus Data...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 424,\n columnNumber: 43\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 424,\n columnNumber: 12\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"\\uD83D\\uDE8C Plan Your GT Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 429,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Select any two stops - we'll find the route or suggest walking!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 430,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.gridContainer,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.formPanel,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Plan Your Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 433,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.form,\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFC1 Starting Location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 435,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: fromLocation,\n onChange: handleFromLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select starting stop\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 437,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.name,\n children: stop.name\n }, stop.id, false, {\n fileName: _jsxFileName,\n lineNumber: 439,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 436,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFAF Destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 442,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: toLocation,\n onChange: handleToLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 444,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.name,\n children: stop.name\n }, stop.id, false, {\n fileName: _jsxFileName,\n lineNumber: 446,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 443,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: findOptimalRoute,\n disabled: searching,\n children: searching ? \"Finding Route...\" : \"Find Best Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 449,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.error,\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 452,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 434,\n columnNumber: 11\n }, this), result && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.result,\n children: result.transfers === -1 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDEB6 Walking Recommended\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 458,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: \"Walking is faster than taking the bus for this short distance!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 459,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walkingOnly,\n children: [/*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDCCD \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"Direct walk:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 463,\n columnNumber: 27\n }, this), \" \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 463,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\u23F1\\uFE0F \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"Estimated time:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 464,\n columnNumber: 27\n }, this), \" \", (result.walkingDistanceEnd / 5 * 60).toFixed(0), \" minutes\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 464,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"\\uD83D\\uDCA1 This is a short walk and you'll arrive faster than waiting for a bus!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 465,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 462,\n columnNumber: 19\n }, this)]\n }, void 0, true) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\u2705 Route Found\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 470,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: result.transfers === 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: \"\\uD83D\\uDE8C Direct route - No transfers needed!\"\n }, void 0, false) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [\"\\uD83D\\uDD04 \", result.transfers, \" transfer\", result.transfers > 1 ? 's' : '', \" required\"]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 471,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceStart * 1000).toFixed(0), \"m to \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.startStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 478,\n columnNumber: 86\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 478,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 477,\n columnNumber: 19\n }, this), result.segments.map((segment, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.segment,\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: [index === 0 ? '🟢' : '🔄', \" \", segment.route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 482,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Board at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.fromStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 483,\n columnNumber: 36\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 483,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Ride \", segment.stops.length - 1, \" stop\", segment.stops.length > 2 ? 's' : '']\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 484,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Exit at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.toStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 485,\n columnNumber: 35\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 485,\n columnNumber: 23\n }, this), index < result.segments.length - 1 && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.transfer,\n children: [\"\\u2193 Transfer to \", result.segments[index + 1].route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 487,\n columnNumber: 25\n }, this)]\n }, index, true, {\n fileName: _jsxFileName,\n lineNumber: 481,\n columnNumber: 21\n }, this)), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m to destination\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 492,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 491,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.stats,\n children: [\"Total: \", result.totalStops, \" bus stops + \", ((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0), \"m walking\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 494,\n columnNumber: 19\n }, this)]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 455,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 432,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.mapPanel,\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n ref: mapRef,\n className: styles.map\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 503,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 502,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 431,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n className: styles.linkButton,\n children: \"\\u2190 Return Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 506,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 428,\n columnNumber: 5\n }, this);\n};\n_s(PlanTripPage, \"BJkWI6YcChkCwBdhobILpv/9/gE=\");\n_c = PlanTripPage;\nexport default PlanTripPage;\nvar _c;\n$RefreshReg$(_c, \"PlanTripPage\");","map":{"version":3,"names":["React","useState","useEffect","useRef","Link","L","styles","mockRoutes","jsxDEV","_jsxDEV","Fragment","_Fragment","PlanTripPage","_s","routes","setRoutes","stops","setStops","fromLocation","setFromLocation","toLocation","setToLocation","fromCoords","setFromCoords","toCoords","setToCoords","loading","setLoading","searching","setSearching","result","setResult","error","setError","mapRef","mapInstanceRef","markersRef","routeLineRef","GT_CENTER","startIcon","icon","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","endIcon","transferIcon","boardIcon","allStops","stopKey","Set","forEach","route","stop","has","id","add","push","current","length","initMap","updateMap","getStopByName","name","find","s","handleFromLocationSelect","e","stopName","target","value","lat","latitude","lng","longitude","handleToLocationSelect","calculateDistance","lat1","lon1","lat2","lon2","toRadian","angle","Math","PI","R","dLat","dLon","a","sin","cos","c","atan2","sqrt","clearMarkers","marker","removeLayer","line","remove","_map","console","log","map","setView","tileLayer","attribution","addTo","allCoordinates","transfers","bindPopup","walkingRoute","Routing","control","waypoints","latLng","routeWhileDragging","addWaypoints","show","lineOptions","color","weight","opacity","dashArray","createMarker","segments","segment","index","segmentRoute","transferStop","boardStop","bounds","latLngBounds","fitBounds","padding","findRouteWithBFS","startStopId","endStopId","queue","visited","startIdx","findIndex","key","stopId","routeId","visitedKey","iterations","shift","r","currentIdx","direction","i","nextStop","finalSegment","fromStop","toStop","slice","reverse","totalStops","reduce","sum","seg","transferRoute","transferIdx","transferKey","segmentToTransfer","findOptimalRoute","walkDistStart","walkDistEnd","directWalkDistance","WALKING_THRESHOLD_KM","AVERAGE_WALKING_SPEED_KMH","walkingTimeMinutes","setTimeout","routeResult","busTripTimeMinutes","startStop","endStop","walkingDistanceStart","walkingDistanceEnd","className","center","children","fileName","_jsxFileName","lineNumber","columnNumber","container","gridContainer","formPanel","form","onChange","select","onClick","disabled","highlight","walkingOnly","toFixed","walking","transfer","stats","mapPanel","ref","to","linkButton","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport \"leaflet-routing-machine\";\nimport \"leaflet-routing-machine/dist/leaflet-routing-machine.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { Route } from \"@/types/route\";\nimport { Stop } from \"@/types/stop\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\n\ninterface RouteSegment {\n route: Route;\n fromStop: Stop;\n toStop: Stop;\n stops: Stop[];\n}\n\ninterface RouteResult {\n segments: RouteSegment[];\n totalStops: number;\n transfers: number;\n startStop: Stop;\n endStop: Stop;\n walkingDistanceStart: number;\n walkingDistanceEnd: number;\n}\n\nconst PlanTripPage: React.FC = () => {\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState<{lat: number, lng: number} | null>(null);\n const [toCoords, setToCoords] = useState<{lat: number, lng: number} | null>(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n\n const GT_CENTER: [number, number] = [33.7756, -84.3963];\n\n const startIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const endIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const transferIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const boardIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-violet.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n\n useEffect(() => {\n setRoutes(mockRoutes);\n const allStops: Stop[] = [];\n const stopKey = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopKey.has(stop.id)) {\n stopKey.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) initMap();\n }, [stops]);\n \n useEffect(() => {\n if (result && mapInstanceRef.current) updateMap();\n }, [result]);\n\n function getStopByName(name: string): Stop | undefined {\n return stops.find(s => s.name === name);\n }\n \n function handleFromLocationSelect(e: React.ChangeEvent) {\n const stopName = e.target.value;\n setFromLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setFromCoords({ lat: stop.latitude, lng: stop.longitude });\n }\n \n function handleToLocationSelect(e: React.ChangeEvent) {\n const stopName = e.target.value;\n setToLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setToCoords({ lat: stop.latitude, lng: stop.longitude });\n }\n \n const calculateDistance = (lat1: number, lon1: number, lat2: number, lon2: number): number => {\n const toRadian = (angle: number) => (Math.PI / 180) * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) ** 2 + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n \n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n \n markersRef.current.forEach(marker => { \n if (marker) mapInstanceRef.current!.removeLayer(marker); \n });\n markersRef.current = [];\n \n routeLineRef.current.forEach(line => { \n if (line) {\n try {\n if (line.remove) {\n line.remove();\n } else if (line._map) {\n mapInstanceRef.current!.removeLayer(line);\n }\n } catch (e) {\n console.log('Error removing layer:', e);\n }\n }\n });\n routeLineRef.current = [];\n };\n \n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n \n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n \n const allCoordinates: [number, number][] = [];\n \n // Walking-only route\n if (result.transfers === -1) {\n if (fromCoords && toCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng], [toCoords.lat, toCoords.lng]);\n \n markersRef.current.push(\n L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 START
${fromLocation}`)\n .addTo(mapInstanceRef.current)\n );\n \n markersRef.current.push(\n L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}`)\n .addTo(mapInstanceRef.current)\n );\n \n // Walking route that follows roads\n const walkingRoute = (L as any).Routing.control({\n waypoints: [\n L.latLng(fromCoords.lat, fromCoords.lng),\n L.latLng(toCoords.lat, toCoords.lng)\n ],\n routeWhileDragging: false,\n addWaypoints: false,\n show: false,\n lineOptions: {\n styles: [{ color: '#22c55e', weight: 5, opacity: 0.8, dashArray: '10, 10' }]\n },\n createMarker: () => null\n }).addTo(mapInstanceRef.current);\n \n routeLineRef.current.push(walkingRoute);\n }\n } else {\n // Bus route with road-following\n \n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n markersRef.current.push(\n L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 START
${fromLocation}`)\n .addTo(mapInstanceRef.current)\n );\n }\n \n // Draw road-following routes for each segment\n result.segments.forEach((segment, index) => {\n const waypoints = segment.stops.map(s => L.latLng(s.latitude, s.longitude));\n allCoordinates.push(...segment.stops.map(s => [s.latitude, s.longitude] as [number, number]));\n \n const segmentRoute = (L as any).Routing.control({\n waypoints: waypoints,\n routeWhileDragging: false,\n addWaypoints: false,\n show: false,\n lineOptions: {\n styles: [{ \n color: segment.route.color || '#3B82F6', \n weight: 5, \n opacity: 0.8 \n }]\n },\n createMarker: () => null\n }).addTo(mapInstanceRef.current!);\n \n routeLineRef.current.push(segmentRoute);\n \n if (index > 0) {\n const transferStop = segment.stops[0];\n markersRef.current.push(\n L.marker([transferStop.latitude, transferStop.longitude], { icon: transferIcon })\n .bindPopup(`🔄 TRANSFER ${index}
${transferStop.name}
Switch to ${segment.route.name}`)\n .addTo(mapInstanceRef.current!)\n );\n } else {\n const boardStop = segment.stops[0];\n markersRef.current.push(\n L.marker([boardStop.latitude, boardStop.longitude], { icon: boardIcon })\n .bindPopup(`🚌 BOARD HERE
${boardStop.name}
${segment.route.name}`)\n .addTo(mapInstanceRef.current!)\n );\n }\n });\n \n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n markersRef.current.push(\n L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}`)\n .addTo(mapInstanceRef.current)\n );\n }\n }\n \n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, { padding: [80, 80] });\n }\n };\n\n const findRouteWithBFS = (startStopId: string, endStopId: string): Omit | null => {\n interface BFSNode {\n stopId: string;\n routeId: string;\n segments: RouteSegment[];\n visitedKey: string;\n }\n \n const queue: BFSNode[] = [];\n const visited = new Set();\n \n routes.forEach(route => {\n const startIdx = route.stops.findIndex(s => s.id === startStopId);\n if (startIdx !== -1) {\n const key = `${startStopId}:${route.id}`;\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n visitedKey: key\n });\n visited.add(key);\n }\n });\n \n let iterations = 0;\n while (queue.length > 0 && iterations < 10000) {\n iterations++;\n const current = queue.shift()!;\n const route = routes.find(r => r.id === current.routeId);\n if (!route) continue;\n \n const currentIdx = route.stops.findIndex(s => s.id === current.stopId);\n if (currentIdx === -1) continue;\n \n for (const direction of [1, -1]) {\n let i = currentIdx + direction;\n \n while (i >= 0 && i < route.stops.length) {\n const nextStop = route.stops[i];\n \n if (nextStop.id === endStopId) {\n const finalSegment: RouteSegment = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0 \n ? route.stops.slice(currentIdx, i + 1)\n : route.stops.slice(i, currentIdx + 1).reverse()\n };\n return {\n segments: [...current.segments, finalSegment],\n totalStops: [...current.segments, finalSegment].reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: current.segments.length\n };\n }\n \n routes.forEach(transferRoute => {\n if (transferRoute.id === route.id) return;\n \n const transferIdx = transferRoute.stops.findIndex(s => s.id === nextStop.id);\n if (transferIdx !== -1) {\n const transferKey = `${nextStop.id}:${transferRoute.id}`;\n if (!visited.has(transferKey)) {\n visited.add(transferKey);\n \n const segmentToTransfer: RouteSegment = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0\n ? route.stops.slice(currentIdx, i + 1)\n : route.stops.slice(i, currentIdx + 1).reverse()\n };\n \n queue.push({\n stopId: nextStop.id,\n routeId: transferRoute.id,\n segments: [...current.segments, segmentToTransfer],\n visitedKey: transferKey\n });\n }\n }\n });\n \n i += direction;\n }\n }\n }\n \n return null;\n };\n\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n \n const fromStop = getStopByName(fromLocation);\n const toStop = getStopByName(toLocation);\n \n if (!fromStop || !toStop) {\n setError(\"Selected stop not found.\");\n return;\n }\n \n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n \n const directWalkDistance = calculateDistance(\n fromStop.latitude, \n fromStop.longitude, \n toStop.latitude, \n toStop.longitude\n );\n \n const WALKING_THRESHOLD_KM = 0.8;\n const AVERAGE_WALKING_SPEED_KMH = 5;\n const walkingTimeMinutes = (directWalkDistance / AVERAGE_WALKING_SPEED_KMH) * 60;\n \n setSearching(true); \n setError(\"\"); \n setResult(null);\n \n setTimeout(() => {\n const routeResult = findRouteWithBFS(fromStop.id, toStop.id);\n \n let busTripTimeMinutes = 0;\n if (routeResult) {\n busTripTimeMinutes = 5 + (routeResult.totalStops * 2) + (routeResult.transfers * 5);\n }\n \n if (directWalkDistance < WALKING_THRESHOLD_KM && (!routeResult || walkingTimeMinutes < busTripTimeMinutes + 5)) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n setSearching(false);\n return;\n }\n \n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n if (directWalkDistance < 3) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n } else {\n setError(\"No routes found and distance is too far to walk.\");\n }\n }\n setSearching(false);\n }, 200);\n };\n\n if (loading) {\n return

🚌 Loading GT Bus Data...

;\n }\n\n return (\n
\n

🚌 Plan Your GT Trip

\n

Select any two stops - we'll find the route or suggest walking!

\n
\n
\n

Plan Your Route

\n
\n \n \n \n \n \n {error &&

{error}

}\n
\n {result && (\n
\n {result.transfers === -1 ? (\n <>\n

🚶 Walking Recommended

\n

\n Walking is faster than taking the bus for this short distance!\n

\n
\n

📍 Direct walk: {(result.walkingDistanceEnd * 1000).toFixed(0)}m

\n

⏱️ Estimated time: {((result.walkingDistanceEnd / 5) * 60).toFixed(0)} minutes

\n

💡 This is a short walk and you'll arrive faster than waiting for a bus!

\n
\n \n ) : (\n <>\n

✅ Route Found

\n

\n {result.transfers === 0 ?\n <>🚌 Direct route - No transfers needed! :\n <>🔄 {result.transfers} transfer{result.transfers > 1 ? 's' : ''} required\n }\n

\n
\n

🚶 Walk {(result.walkingDistanceStart * 1000).toFixed(0)}m to {result.startStop.name}

\n
\n {result.segments.map((segment, index) => (\n
\n

{index === 0 ? '🟢' : '🔄'} {segment.route.name}

\n

Board at: {segment.fromStop.name}

\n

Ride {segment.stops.length - 1} stop{segment.stops.length > 2 ? 's' : ''}

\n

Exit at: {segment.toStop.name}

\n {index < result.segments.length - 1 && (\n

↓ Transfer to {result.segments[index + 1].route.name}

\n )}\n
\n ))}\n
\n

🚶 Walk {(result.walkingDistanceEnd * 1000).toFixed(0)}m to destination

\n
\n

\n Total: {result.totalStops} bus stops + {((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0)}m walking\n

\n \n )}\n
\n )}\n
\n
\n
\n
\n
\n ← Return Home\n
\n );\n};\n\nexport default PlanTripPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/6d7cf817311630345366b5ba69bf455a382b797c3ef5fcb769bca75ab469ecda.json b/Data-Viz/node_modules/.cache/babel-loader/6d7cf817311630345366b5ba69bf455a382b797c3ef5fcb769bca75ab469ecda.json new file mode 100644 index 000000000..14deeb1d3 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/6d7cf817311630345366b5ba69bf455a382b797c3ef5fcb769bca75ab469ecda.json @@ -0,0 +1 @@ +{"ast":null,"code":"\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","map":{"version":3,"names":["module","exports","cssWithMappingToString","list","toString","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/css-loader/dist/runtime/api.js"],"sourcesContent":["\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/711b421e70b726b124b4cf5a06c3591e4fab273f383f3829d4cf8687d2e793d0.json b/Data-Viz/node_modules/.cache/babel-loader/711b421e70b726b124b4cf5a06c3591e4fab273f383f3829d4cf8687d2e793d0.json new file mode 100644 index 000000000..6c8f50fe6 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/711b421e70b726b124b4cf5a06c3591e4fab273f383f3829d4cf8687d2e793d0.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\nimport { jsxDEV as _jsxDEV, Fragment as _Fragment } from \"react/jsx-dev-runtime\";\nconst PlanTripPage = () => {\n _s();\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState(null);\n const [toCoords, setToCoords] = useState(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n const GT_CENTER = [33.7756, -84.3963];\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const transferIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n useEffect(() => {\n setRoutes(mockRoutes);\n const allStops = [];\n const stopKey = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopKey.has(stop.id)) {\n stopKey.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) initMap();\n }, [stops]);\n useEffect(() => {\n if (result && mapInstanceRef.current) updateMap();\n }, [result]);\n function getStopByName(name) {\n return stops.find(s => s.name === name);\n }\n function handleFromLocationSelect(e) {\n const stopName = e.target.value;\n setFromLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setFromCoords({\n lat: stop.latitude,\n lng: stop.longitude\n });\n }\n function handleToLocationSelect(e) {\n const stopName = e.target.value;\n setToLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setToCoords({\n lat: stop.latitude,\n lng: stop.longitude\n });\n }\n const calculateDistance = (lat1, lon1, lat2, lon2) => {\n const toRadian = angle => Math.PI / 180 * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) ** 2 + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n markersRef.current.forEach(marker => {\n if (marker) mapInstanceRef.current.removeLayer(marker);\n });\n markersRef.current = [];\n routeLineRef.current.forEach(line => {\n if (line) mapInstanceRef.current.removeLayer(line);\n });\n routeLineRef.current = [];\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const allCoordinates = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n\n // Walking-only route\n if (result.transfers === -1) {\n if (fromCoords && toCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng], [toCoords.lat, toCoords.lng]);\n markersRef.current.push(L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 START
${fromLocation}`).addTo(mapInstanceRef.current));\n markersRef.current.push(L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}`).addTo(mapInstanceRef.current));\n routeLineRef.current.push(L.polyline([[fromCoords.lat, fromCoords.lng], [toCoords.lat, toCoords.lng]], {\n color: '#22c55e',\n weight: 4,\n opacity: 0.7,\n dashArray: '10, 10'\n }).addTo(mapInstanceRef.current));\n }\n } else {\n // Bus route\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n markersRef.current.push(L.marker([fromCoords.lat, fromCoords.lng], {\n icon: startIcon\n }).bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`).addTo(mapInstanceRef.current));\n routeLineRef.current.push(L.polyline([[fromCoords.lat, fromCoords.lng], [result.startStop.latitude, result.startStop.longitude]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current));\n }\n result.segments.forEach((segment, index) => {\n const coordinates = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n routeLineRef.current.push(L.polyline(coordinates, {\n color: colors[index % colors.length],\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current));\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n markersRef.current.push(L.marker([stop.latitude, stop.longitude], {\n icon\n }).bindPopup(popupText).addTo(mapInstanceRef.current));\n });\n });\n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n markersRef.current.push(L.marker([toCoords.lat, toCoords.lng], {\n icon: endIcon\n }).bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`).addTo(mapInstanceRef.current));\n routeLineRef.current.push(L.polyline([[result.endStop.latitude, result.endStop.longitude], [toCoords.lat, toCoords.lng]], {\n color: '#6B7280',\n weight: 3,\n opacity: 0.6,\n dashArray: '5, 10'\n }).addTo(mapInstanceRef.current));\n }\n }\n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, {\n padding: [50, 50]\n });\n }\n };\n const findRouteWithBFS = (startStopId, endStopId) => {\n const queue = [];\n const visited = new Set();\n routes.forEach(route => {\n const startIdx = route.stops.findIndex(s => s.id === startStopId);\n if (startIdx !== -1) {\n const key = `${startStopId}:${route.id}`;\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n visitedKey: key\n });\n visited.add(key);\n }\n });\n let iterations = 0;\n while (queue.length > 0 && iterations < 10000) {\n iterations++;\n const current = queue.shift();\n const route = routes.find(r => r.id === current.routeId);\n if (!route) continue;\n const currentIdx = route.stops.findIndex(s => s.id === current.stopId);\n if (currentIdx === -1) continue;\n for (const direction of [1, -1]) {\n let i = currentIdx + direction;\n while (i >= 0 && i < route.stops.length) {\n const nextStop = route.stops[i];\n if (nextStop.id === endStopId) {\n const finalSegment = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0 ? route.stops.slice(currentIdx, i + 1) : route.stops.slice(i, currentIdx + 1).reverse()\n };\n return {\n segments: [...current.segments, finalSegment],\n totalStops: [...current.segments, finalSegment].reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: current.segments.length\n };\n }\n routes.forEach(transferRoute => {\n if (transferRoute.id === route.id) return;\n const transferIdx = transferRoute.stops.findIndex(s => s.id === nextStop.id);\n if (transferIdx !== -1) {\n const transferKey = `${nextStop.id}:${transferRoute.id}`;\n if (!visited.has(transferKey)) {\n visited.add(transferKey);\n const segmentToTransfer = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0 ? route.stops.slice(currentIdx, i + 1) : route.stops.slice(i, currentIdx + 1).reverse()\n };\n queue.push({\n stopId: nextStop.id,\n routeId: transferRoute.id,\n segments: [...current.segments, segmentToTransfer],\n visitedKey: transferKey\n });\n }\n }\n });\n i += direction;\n }\n }\n }\n return null;\n };\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n const fromStop = getStopByName(fromLocation);\n const toStop = getStopByName(toLocation);\n if (!fromStop || !toStop) {\n setError(\"Selected stop not found.\");\n return;\n }\n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n const directWalkDistance = calculateDistance(fromStop.latitude, fromStop.longitude, toStop.latitude, toStop.longitude);\n const WALKING_THRESHOLD_KM = 0.8;\n const AVERAGE_WALKING_SPEED_KMH = 5;\n const walkingTimeMinutes = directWalkDistance / AVERAGE_WALKING_SPEED_KMH * 60;\n setSearching(true);\n setError(\"\");\n setResult(null);\n setTimeout(() => {\n const routeResult = findRouteWithBFS(fromStop.id, toStop.id);\n let busTripTimeMinutes = 0;\n if (routeResult) {\n busTripTimeMinutes = 5 + routeResult.totalStops * 2 + routeResult.transfers * 5;\n }\n if (directWalkDistance < WALKING_THRESHOLD_KM && (!routeResult || walkingTimeMinutes < busTripTimeMinutes + 5)) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n setSearching(false);\n return;\n }\n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n if (directWalkDistance < 3) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n } else {\n setError(\"No routes found and distance is too far to walk.\");\n }\n }\n setSearching(false);\n }, 200);\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.center,\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDE8C Loading GT Bus Data...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 385,\n columnNumber: 43\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 385,\n columnNumber: 12\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"\\uD83D\\uDE8C Plan Your GT Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 390,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Select any two stops - we'll find the route or suggest walking!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 391,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.gridContainer,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.formPanel,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Plan Your Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 394,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.form,\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFC1 Starting Location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 396,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: fromLocation,\n onChange: handleFromLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select starting stop\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 398,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.name,\n children: stop.name\n }, stop.id, false, {\n fileName: _jsxFileName,\n lineNumber: 400,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 397,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83C\\uDFAF Destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 403,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: toLocation,\n onChange: handleToLocationSelect,\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 405,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.name,\n children: stop.name\n }, stop.id, false, {\n fileName: _jsxFileName,\n lineNumber: 407,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 404,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: findOptimalRoute,\n disabled: searching,\n children: searching ? \"Finding Route...\" : \"Find Best Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 410,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.error,\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 413,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 395,\n columnNumber: 11\n }, this), result && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.result,\n children: result.transfers === -1 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDEB6 Walking Recommended\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 419,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: \"Walking is faster than taking the bus for this short distance!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 420,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walkingOnly,\n children: [/*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDCCD \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"Direct walk:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 424,\n columnNumber: 27\n }, this), \" \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 424,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\u23F1\\uFE0F \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"Estimated time:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 425,\n columnNumber: 27\n }, this), \" \", (result.walkingDistanceEnd / 5 * 60).toFixed(0), \" minutes\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 425,\n columnNumber: 21\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"\\uD83D\\uDCA1 This is a short walk and you'll arrive faster than waiting for a bus!\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 426,\n columnNumber: 21\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 423,\n columnNumber: 19\n }, this)]\n }, void 0, true) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\u2705 Route Found\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 431,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: result.transfers === 0 ? /*#__PURE__*/_jsxDEV(_Fragment, {\n children: \"\\uD83D\\uDE8C Direct route - No transfers needed!\"\n }, void 0, false) : /*#__PURE__*/_jsxDEV(_Fragment, {\n children: [\"\\uD83D\\uDD04 \", result.transfers, \" transfer\", result.transfers > 1 ? 's' : '', \" required\"]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 432,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceStart * 1000).toFixed(0), \"m to \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.startStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 439,\n columnNumber: 86\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 439,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 438,\n columnNumber: 19\n }, this), result.segments.map((segment, index) => /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.segment,\n children: [/*#__PURE__*/_jsxDEV(\"h3\", {\n children: [index === 0 ? '🟢' : '🔄', \" \", segment.route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 443,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Board at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.fromStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 444,\n columnNumber: 36\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 444,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Ride \", segment.stops.length - 1, \" stop\", segment.stops.length > 2 ? 's' : '']\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 445,\n columnNumber: 23\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"Exit at: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: segment.toStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 446,\n columnNumber: 35\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 446,\n columnNumber: 23\n }, this), index < result.segments.length - 1 && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.transfer,\n children: [\"\\u2193 Transfer to \", result.segments[index + 1].route.name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 448,\n columnNumber: 25\n }, this)]\n }, index, true, {\n fileName: _jsxFileName,\n lineNumber: 442,\n columnNumber: 21\n }, this)), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.walking,\n children: /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDEB6 Walk \", (result.walkingDistanceEnd * 1000).toFixed(0), \"m to destination\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 453,\n columnNumber: 21\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 452,\n columnNumber: 19\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.stats,\n children: [\"Total: \", result.totalStops, \" bus stops + \", ((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0), \"m walking\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 455,\n columnNumber: 19\n }, this)]\n }, void 0, true)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 416,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 393,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.mapPanel,\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n ref: mapRef,\n className: styles.map\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 464,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 463,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 392,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n className: styles.linkButton,\n children: \"\\u2190 Return Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 467,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 389,\n columnNumber: 5\n }, this);\n};\n_s(PlanTripPage, \"BJkWI6YcChkCwBdhobILpv/9/gE=\");\n_c = PlanTripPage;\nexport default PlanTripPage;\nvar _c;\n$RefreshReg$(_c, \"PlanTripPage\");","map":{"version":3,"names":["React","useState","useEffect","useRef","Link","L","styles","mockRoutes","jsxDEV","_jsxDEV","Fragment","_Fragment","PlanTripPage","_s","routes","setRoutes","stops","setStops","fromLocation","setFromLocation","toLocation","setToLocation","fromCoords","setFromCoords","toCoords","setToCoords","loading","setLoading","searching","setSearching","result","setResult","error","setError","mapRef","mapInstanceRef","markersRef","routeLineRef","GT_CENTER","startIcon","icon","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","endIcon","transferIcon","stopIcon","allStops","stopKey","Set","forEach","route","stop","has","id","add","push","current","length","initMap","updateMap","getStopByName","name","find","s","handleFromLocationSelect","e","stopName","target","value","lat","latitude","lng","longitude","handleToLocationSelect","calculateDistance","lat1","lon1","lat2","lon2","toRadian","angle","Math","PI","R","dLat","dLon","a","sin","cos","c","atan2","sqrt","clearMarkers","marker","removeLayer","line","map","setView","tileLayer","attribution","addTo","allCoordinates","colors","transfers","bindPopup","polyline","color","weight","opacity","dashArray","startStop","segments","segment","index","coordinates","stopIndex","popupText","endStop","bounds","latLngBounds","fitBounds","padding","findRouteWithBFS","startStopId","endStopId","queue","visited","startIdx","findIndex","key","stopId","routeId","visitedKey","iterations","shift","r","currentIdx","direction","i","nextStop","finalSegment","fromStop","toStop","slice","reverse","totalStops","reduce","sum","seg","transferRoute","transferIdx","transferKey","segmentToTransfer","findOptimalRoute","walkDistStart","walkDistEnd","directWalkDistance","WALKING_THRESHOLD_KM","AVERAGE_WALKING_SPEED_KMH","walkingTimeMinutes","setTimeout","routeResult","busTripTimeMinutes","walkingDistanceStart","walkingDistanceEnd","className","center","children","fileName","_jsxFileName","lineNumber","columnNumber","container","gridContainer","formPanel","form","onChange","select","onClick","disabled","highlight","walkingOnly","toFixed","walking","transfer","stats","mapPanel","ref","to","linkButton","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { Route } from \"@/types/route\";\nimport { Stop } from \"@/types/stop\";\nimport { mockRoutes } from \"../../lib/mocks/mockTripData\";\n\ninterface RouteSegment {\n route: Route;\n fromStop: Stop;\n toStop: Stop;\n stops: Stop[];\n}\n\ninterface RouteResult {\n segments: RouteSegment[];\n totalStops: number;\n transfers: number;\n startStop: Stop;\n endStop: Stop;\n walkingDistanceStart: number;\n walkingDistanceEnd: number;\n}\n\nconst PlanTripPage: React.FC = () => {\n const [routes, setRoutes] = useState([]);\n const [stops, setStops] = useState([]);\n const [fromLocation, setFromLocation] = useState(\"\");\n const [toLocation, setToLocation] = useState(\"\");\n const [fromCoords, setFromCoords] = useState<{lat: number, lng: number} | null>(null);\n const [toCoords, setToCoords] = useState<{lat: number, lng: number} | null>(null);\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef([]);\n\n const GT_CENTER: [number, number] = [33.7756, -84.3963];\n\n const startIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const endIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const transferIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-orange.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [25, 41], iconAnchor: [12, 41], popupAnchor: [1, -34], shadowSize: [41, 41] });\n const stopIcon = L.icon({ iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png', shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png', iconSize: [20, 33], iconAnchor: [10, 33], popupAnchor: [1, -28], shadowSize: [33, 33] });\n\n useEffect(() => {\n setRoutes(mockRoutes);\n const allStops: Stop[] = [];\n const stopKey = new Set();\n mockRoutes.forEach(route => {\n route.stops.forEach(stop => {\n if (!stopKey.has(stop.id)) {\n stopKey.add(stop.id);\n allStops.push(stop);\n }\n });\n });\n setStops(allStops);\n setLoading(false);\n }, []);\n\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) initMap();\n }, [stops]);\n \n useEffect(() => {\n if (result && mapInstanceRef.current) updateMap();\n }, [result]);\n\n function getStopByName(name: string): Stop | undefined {\n return stops.find(s => s.name === name);\n }\n \n function handleFromLocationSelect(e: React.ChangeEvent) {\n const stopName = e.target.value;\n setFromLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setFromCoords({ lat: stop.latitude, lng: stop.longitude });\n }\n \n function handleToLocationSelect(e: React.ChangeEvent) {\n const stopName = e.target.value;\n setToLocation(stopName);\n const stop = getStopByName(stopName);\n if (stop) setToCoords({ lat: stop.latitude, lng: stop.longitude });\n }\n \n const calculateDistance = (lat1: number, lon1: number, lat2: number, lon2: number): number => {\n const toRadian = (angle: number) => (Math.PI / 180) * angle;\n const R = 6371;\n const dLat = toRadian(lat2 - lat1);\n const dLon = toRadian(lon2 - lon1);\n const a = Math.sin(dLat / 2) ** 2 + Math.cos(toRadian(lat1)) * Math.cos(toRadian(lat2)) * Math.sin(dLon / 2) ** 2;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n return R * c;\n };\n \n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n markersRef.current.forEach(marker => { if (marker) mapInstanceRef.current!.removeLayer(marker); });\n markersRef.current = [];\n routeLineRef.current.forEach(line => { if (line) mapInstanceRef.current!.removeLayer(line); });\n routeLineRef.current = [];\n };\n \n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n };\n \n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n \n const allCoordinates: [number, number][] = [];\n const colors = ['#3B82F6', '#10B981', '#8B5CF6', '#F59E0B', '#EC4899'];\n \n // Walking-only route\n if (result.transfers === -1) {\n if (fromCoords && toCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng], [toCoords.lat, toCoords.lng]);\n \n markersRef.current.push(\n L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 START
${fromLocation}`)\n .addTo(mapInstanceRef.current)\n );\n \n markersRef.current.push(\n L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}`)\n .addTo(mapInstanceRef.current)\n );\n \n routeLineRef.current.push(\n L.polyline([[fromCoords.lat, fromCoords.lng], [toCoords.lat, toCoords.lng]], {\n color: '#22c55e',\n weight: 4,\n opacity: 0.7,\n dashArray: '10, 10'\n }).addTo(mapInstanceRef.current)\n );\n }\n } else {\n // Bus route\n if (fromCoords) {\n allCoordinates.push([fromCoords.lat, fromCoords.lng]);\n markersRef.current.push(\n L.marker([fromCoords.lat, fromCoords.lng], { icon: startIcon })\n .bindPopup(`🏁 YOUR LOCATION
${fromLocation}
Walk to ${result.startStop.name}`)\n .addTo(mapInstanceRef.current)\n );\n routeLineRef.current.push(\n L.polyline([[fromCoords.lat, fromCoords.lng], [result.startStop.latitude, result.startStop.longitude]], \n { color: '#6B7280', weight: 3, opacity: 0.6, dashArray: '5, 10' }).addTo(mapInstanceRef.current)\n );\n }\n \n result.segments.forEach((segment, index) => {\n const coordinates: [number, number][] = segment.stops.map(s => [s.latitude, s.longitude]);\n allCoordinates.push(...coordinates);\n routeLineRef.current.push(\n L.polyline(coordinates, { color: colors[index % colors.length], weight: 4, opacity: 0.7 }).addTo(mapInstanceRef.current!)\n );\n segment.stops.forEach((stop, stopIndex) => {\n let icon = stopIcon;\n let popupText = `${stop.name}`;\n if (stopIndex === 0 && index > 0) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index}
${stop.name}
Switch to ${segment.route.name}`;\n } else if (stopIndex === segment.stops.length - 1 && index < result.segments.length - 1) {\n icon = transferIcon;\n popupText = `🔄 TRANSFER ${index + 1}
${stop.name}
Switch to ${result.segments[index + 1].route.name}`;\n }\n markersRef.current.push(L.marker([stop.latitude, stop.longitude], { icon }).bindPopup(popupText).addTo(mapInstanceRef.current!));\n });\n });\n \n if (toCoords) {\n allCoordinates.push([toCoords.lat, toCoords.lng]);\n markersRef.current.push(L.marker([toCoords.lat, toCoords.lng], { icon: endIcon })\n .bindPopup(`🎯 DESTINATION
${toLocation}
Walk from ${result.endStop.name}`)\n .addTo(mapInstanceRef.current));\n routeLineRef.current.push(\n L.polyline([[result.endStop.latitude, result.endStop.longitude], [toCoords.lat, toCoords.lng]], \n { color: '#6B7280', weight: 3, opacity: 0.6, dashArray: '5, 10' }).addTo(mapInstanceRef.current)\n );\n }\n }\n \n if (allCoordinates.length > 0) {\n const bounds = L.latLngBounds(allCoordinates);\n mapInstanceRef.current.fitBounds(bounds, { padding: [50, 50] });\n }\n };\n\n const findRouteWithBFS = (startStopId: string, endStopId: string): Omit | null => {\n interface BFSNode {\n stopId: string;\n routeId: string;\n segments: RouteSegment[];\n visitedKey: string;\n }\n \n const queue: BFSNode[] = [];\n const visited = new Set();\n \n routes.forEach(route => {\n const startIdx = route.stops.findIndex(s => s.id === startStopId);\n if (startIdx !== -1) {\n const key = `${startStopId}:${route.id}`;\n queue.push({\n stopId: startStopId,\n routeId: route.id,\n segments: [],\n visitedKey: key\n });\n visited.add(key);\n }\n });\n \n let iterations = 0;\n while (queue.length > 0 && iterations < 10000) {\n iterations++;\n const current = queue.shift()!;\n const route = routes.find(r => r.id === current.routeId);\n if (!route) continue;\n \n const currentIdx = route.stops.findIndex(s => s.id === current.stopId);\n if (currentIdx === -1) continue;\n \n for (const direction of [1, -1]) {\n let i = currentIdx + direction;\n \n while (i >= 0 && i < route.stops.length) {\n const nextStop = route.stops[i];\n \n if (nextStop.id === endStopId) {\n const finalSegment: RouteSegment = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0 \n ? route.stops.slice(currentIdx, i + 1)\n : route.stops.slice(i, currentIdx + 1).reverse()\n };\n return {\n segments: [...current.segments, finalSegment],\n totalStops: [...current.segments, finalSegment].reduce((sum, seg) => sum + seg.stops.length, 0),\n transfers: current.segments.length\n };\n }\n \n routes.forEach(transferRoute => {\n if (transferRoute.id === route.id) return;\n \n const transferIdx = transferRoute.stops.findIndex(s => s.id === nextStop.id);\n if (transferIdx !== -1) {\n const transferKey = `${nextStop.id}:${transferRoute.id}`;\n if (!visited.has(transferKey)) {\n visited.add(transferKey);\n \n const segmentToTransfer: RouteSegment = {\n route,\n fromStop: route.stops[currentIdx],\n toStop: nextStop,\n stops: direction > 0\n ? route.stops.slice(currentIdx, i + 1)\n : route.stops.slice(i, currentIdx + 1).reverse()\n };\n \n queue.push({\n stopId: nextStop.id,\n routeId: transferRoute.id,\n segments: [...current.segments, segmentToTransfer],\n visitedKey: transferKey\n });\n }\n }\n });\n \n i += direction;\n }\n }\n }\n \n return null;\n };\n\n const findOptimalRoute = () => {\n if (!fromLocation || !toLocation) {\n setError(\"Please select both locations.\");\n return;\n }\n if (fromLocation === toLocation) {\n setError(\"Starting location and destination cannot be the same.\");\n return;\n }\n \n const fromStop = getStopByName(fromLocation);\n const toStop = getStopByName(toLocation);\n \n if (!fromStop || !toStop) {\n setError(\"Selected stop not found.\");\n return;\n }\n \n const walkDistStart = fromCoords ? calculateDistance(fromCoords.lat, fromCoords.lng, fromStop.latitude, fromStop.longitude) : 0;\n const walkDistEnd = toCoords ? calculateDistance(toCoords.lat, toCoords.lng, toStop.latitude, toStop.longitude) : 0;\n \n const directWalkDistance = calculateDistance(\n fromStop.latitude, \n fromStop.longitude, \n toStop.latitude, \n toStop.longitude\n );\n \n const WALKING_THRESHOLD_KM = 0.8;\n const AVERAGE_WALKING_SPEED_KMH = 5;\n const walkingTimeMinutes = (directWalkDistance / AVERAGE_WALKING_SPEED_KMH) * 60;\n \n setSearching(true); \n setError(\"\"); \n setResult(null);\n \n setTimeout(() => {\n const routeResult = findRouteWithBFS(fromStop.id, toStop.id);\n \n let busTripTimeMinutes = 0;\n if (routeResult) {\n busTripTimeMinutes = 5 + (routeResult.totalStops * 2) + (routeResult.transfers * 5);\n }\n \n if (directWalkDistance < WALKING_THRESHOLD_KM && (!routeResult || walkingTimeMinutes < busTripTimeMinutes + 5)) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n setSearching(false);\n return;\n }\n \n if (routeResult) {\n setResult({\n ...routeResult,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: walkDistStart,\n walkingDistanceEnd: walkDistEnd\n });\n } else {\n if (directWalkDistance < 3) {\n setResult({\n segments: [],\n totalStops: 0,\n transfers: -1,\n startStop: fromStop,\n endStop: toStop,\n walkingDistanceStart: 0,\n walkingDistanceEnd: directWalkDistance\n });\n } else {\n setError(\"No routes found and distance is too far to walk.\");\n }\n }\n setSearching(false);\n }, 200);\n };\n\n if (loading) {\n return

🚌 Loading GT Bus Data...

;\n }\n\n return (\n
\n

🚌 Plan Your GT Trip

\n

Select any two stops - we'll find the route or suggest walking!

\n
\n
\n

Plan Your Route

\n
\n \n \n \n \n \n {error &&

{error}

}\n
\n {result && (\n
\n {result.transfers === -1 ? (\n <>\n

🚶 Walking Recommended

\n

\n Walking is faster than taking the bus for this short distance!\n

\n
\n

📍 Direct walk: {(result.walkingDistanceEnd * 1000).toFixed(0)}m

\n

⏱️ Estimated time: {((result.walkingDistanceEnd / 5) * 60).toFixed(0)} minutes

\n

💡 This is a short walk and you'll arrive faster than waiting for a bus!

\n
\n \n ) : (\n <>\n

✅ Route Found

\n

\n {result.transfers === 0 ?\n <>🚌 Direct route - No transfers needed! :\n <>🔄 {result.transfers} transfer{result.transfers > 1 ? 's' : ''} required\n }\n

\n
\n

🚶 Walk {(result.walkingDistanceStart * 1000).toFixed(0)}m to {result.startStop.name}

\n
\n {result.segments.map((segment, index) => (\n
\n

{index === 0 ? '🟢' : '🔄'} {segment.route.name}

\n

Board at: {segment.fromStop.name}

\n

Ride {segment.stops.length - 1} stop{segment.stops.length > 2 ? 's' : ''}

\n

Exit at: {segment.toStop.name}

\n {index < result.segments.length - 1 && (\n

↓ Transfer to {result.segments[index + 1].route.name}

\n )}\n
\n ))}\n
\n

🚶 Walk {(result.walkingDistanceEnd * 1000).toFixed(0)}m to destination

\n
\n

\n Total: {result.totalStops} bus stops + {((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0)}m walking\n

\n \n )}\n
\n )}\n
\n
\n
\n
\n
\n ← Return Home\n
\n );\n};\n\nexport default PlanTripPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/75cd14c8a5daa846e8b0a9b9ac067fc9329e4a7fb7e92860b5d0d283a8bef686.json b/Data-Viz/node_modules/.cache/babel-loader/75cd14c8a5daa846e8b0a9b9ac067fc9329e4a7fb7e92860b5d0d283a8bef686.json new file mode 100644 index 000000000..0d2555d57 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/75cd14c8a5daa846e8b0a9b9ac067fc9329e4a7fb7e92860b5d0d283a8bef686.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * react-router v7.5.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport { FrameworkContext, RemixErrorBoundary, RouterProvider, createBrowserHistory, createClientRoutes, createClientRoutesWithHMRRevalidationOptOut, createRouter, decodeViaTurboStream, deserializeErrors, getPatchRoutesOnNavigationFunction, getSingleFetchDataStrategy, invariant, mapRouteProperties, matchRoutes, shouldHydrateRouteLoader, useFogOFWarDiscovery } from \"./chunk-KNED5TY2.mjs\";\n\n// lib/dom-export/dom-router-provider.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nfunction RouterProvider2(props) {\n return /* @__PURE__ */React.createElement(RouterProvider, {\n flushSync: ReactDOM.flushSync,\n ...props\n });\n}\n\n// lib/dom-export/hydrated-router.tsx\nimport * as React2 from \"react\";\nvar ssrInfo = null;\nvar router = null;\nfunction initSsrInfo() {\n if (!ssrInfo && window.__reactRouterContext && window.__reactRouterManifest && window.__reactRouterRouteModules) {\n if (window.__reactRouterManifest.sri === true) {\n const importMap = document.querySelector(\"script[rr-importmap]\");\n if (importMap?.textContent) {\n try {\n window.__reactRouterManifest.sri = JSON.parse(importMap.textContent).integrity;\n } catch (err) {\n console.error(\"Failed to parse import map\", err);\n }\n }\n }\n ssrInfo = {\n context: window.__reactRouterContext,\n manifest: window.__reactRouterManifest,\n routeModules: window.__reactRouterRouteModules,\n stateDecodingPromise: void 0,\n router: void 0,\n routerInitialized: false\n };\n }\n}\nfunction createHydratedRouter({\n unstable_getContext\n}) {\n initSsrInfo();\n if (!ssrInfo) {\n throw new Error(\"You must be using the SSR features of React Router in order to skip passing a `router` prop to ``\");\n }\n let localSsrInfo = ssrInfo;\n if (!ssrInfo.stateDecodingPromise) {\n let stream = ssrInfo.context.stream;\n invariant(stream, \"No stream found for single fetch decoding\");\n ssrInfo.context.stream = void 0;\n ssrInfo.stateDecodingPromise = decodeViaTurboStream(stream, window).then(value => {\n ssrInfo.context.state = value.value;\n localSsrInfo.stateDecodingPromise.value = true;\n }).catch(e => {\n localSsrInfo.stateDecodingPromise.error = e;\n });\n }\n if (ssrInfo.stateDecodingPromise.error) {\n throw ssrInfo.stateDecodingPromise.error;\n }\n if (!ssrInfo.stateDecodingPromise.value) {\n throw ssrInfo.stateDecodingPromise;\n }\n let routes = createClientRoutes(ssrInfo.manifest.routes, ssrInfo.routeModules, ssrInfo.context.state, ssrInfo.context.ssr, ssrInfo.context.isSpaMode);\n let hydrationData = void 0;\n let loaderData = ssrInfo.context.state.loaderData;\n if (ssrInfo.context.isSpaMode) {\n if (ssrInfo.manifest.routes.root?.hasLoader && loaderData && \"root\" in loaderData) {\n hydrationData = {\n loaderData: {\n root: loaderData.root\n }\n };\n }\n } else {\n hydrationData = {\n ...ssrInfo.context.state,\n loaderData: {\n ...loaderData\n }\n };\n let initialMatches = matchRoutes(routes, window.location, window.__reactRouterContext?.basename);\n if (initialMatches) {\n for (let match of initialMatches) {\n let routeId = match.route.id;\n let route = ssrInfo.routeModules[routeId];\n let manifestRoute = ssrInfo.manifest.routes[routeId];\n if (route && manifestRoute && shouldHydrateRouteLoader(manifestRoute, route, ssrInfo.context.isSpaMode) && (route.HydrateFallback || !manifestRoute.hasLoader)) {\n delete hydrationData.loaderData[routeId];\n } else if (manifestRoute && !manifestRoute.hasLoader) {\n hydrationData.loaderData[routeId] = null;\n }\n }\n }\n if (hydrationData && hydrationData.errors) {\n hydrationData.errors = deserializeErrors(hydrationData.errors);\n }\n }\n let router2 = createRouter({\n routes,\n history: createBrowserHistory(),\n basename: ssrInfo.context.basename,\n unstable_getContext,\n hydrationData,\n mapRouteProperties,\n future: {\n unstable_middleware: ssrInfo.context.future.unstable_middleware\n },\n dataStrategy: getSingleFetchDataStrategy(ssrInfo.manifest, ssrInfo.routeModules, ssrInfo.context.ssr, ssrInfo.context.basename, () => router2),\n patchRoutesOnNavigation: getPatchRoutesOnNavigationFunction(ssrInfo.manifest, ssrInfo.routeModules, ssrInfo.context.ssr, ssrInfo.context.isSpaMode, ssrInfo.context.basename)\n });\n ssrInfo.router = router2;\n if (router2.state.initialized) {\n ssrInfo.routerInitialized = true;\n router2.initialize();\n }\n router2.createRoutesForHMR = /* spacer so ts-ignore does not affect the right hand of the assignment */\n createClientRoutesWithHMRRevalidationOptOut;\n window.__reactRouterDataRouter = router2;\n return router2;\n}\nfunction HydratedRouter(props) {\n if (!router) {\n router = createHydratedRouter({\n unstable_getContext: props.unstable_getContext\n });\n }\n let [criticalCss, setCriticalCss] = React2.useState(process.env.NODE_ENV === \"development\" ? ssrInfo?.context.criticalCss : void 0);\n if (process.env.NODE_ENV === \"development\") {\n if (ssrInfo) {\n window.__reactRouterClearCriticalCss = () => setCriticalCss(void 0);\n }\n }\n let [location, setLocation] = React2.useState(router.state.location);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router && !ssrInfo.routerInitialized) {\n ssrInfo.routerInitialized = true;\n ssrInfo.router.initialize();\n }\n }, []);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router) {\n return ssrInfo.router.subscribe(newState => {\n if (newState.location !== location) {\n setLocation(newState.location);\n }\n });\n }\n }, [location]);\n invariant(ssrInfo, \"ssrInfo unavailable for HydratedRouter\");\n useFogOFWarDiscovery(router, ssrInfo.manifest, ssrInfo.routeModules, ssrInfo.context.ssr, ssrInfo.context.isSpaMode);\n return (\n // This fragment is important to ensure we match the JSX\n // structure so that useId values hydrate correctly\n /* @__PURE__ */\n React2.createElement(React2.Fragment, null, /* @__PURE__ */React2.createElement(FrameworkContext.Provider, {\n value: {\n manifest: ssrInfo.manifest,\n routeModules: ssrInfo.routeModules,\n future: ssrInfo.context.future,\n criticalCss,\n ssr: ssrInfo.context.ssr,\n isSpaMode: ssrInfo.context.isSpaMode\n }\n }, /* @__PURE__ */React2.createElement(RemixErrorBoundary, {\n location\n }, /* @__PURE__ */React2.createElement(RouterProvider2, {\n router\n }))), /* @__PURE__ */React2.createElement(React2.Fragment, null))\n );\n}\nexport { HydratedRouter, RouterProvider2 as RouterProvider };","map":{"version":3,"names":["FrameworkContext","RemixErrorBoundary","RouterProvider","createBrowserHistory","createClientRoutes","createClientRoutesWithHMRRevalidationOptOut","createRouter","decodeViaTurboStream","deserializeErrors","getPatchRoutesOnNavigationFunction","getSingleFetchDataStrategy","invariant","mapRouteProperties","matchRoutes","shouldHydrateRouteLoader","useFogOFWarDiscovery","React","ReactDOM","RouterProvider2","props","createElement","flushSync","React2","ssrInfo","router","initSsrInfo","window","__reactRouterContext","__reactRouterManifest","__reactRouterRouteModules","sri","importMap","document","querySelector","textContent","JSON","parse","integrity","err","console","error","context","manifest","routeModules","stateDecodingPromise","routerInitialized","createHydratedRouter","unstable_getContext","Error","localSsrInfo","stream","then","value","state","catch","e","routes","ssr","isSpaMode","hydrationData","loaderData","root","hasLoader","initialMatches","location","basename","match","routeId","route","id","manifestRoute","HydrateFallback","errors","router2","history","future","unstable_middleware","dataStrategy","patchRoutesOnNavigation","initialized","initialize","createRoutesForHMR","__reactRouterDataRouter","HydratedRouter","criticalCss","setCriticalCss","useState","process","env","NODE_ENV","__reactRouterClearCriticalCss","setLocation","useLayoutEffect","subscribe","newState","Fragment","Provider"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react-router/dist/development/dom-export.mjs"],"sourcesContent":["/**\n * react-router v7.5.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nimport {\n FrameworkContext,\n RemixErrorBoundary,\n RouterProvider,\n createBrowserHistory,\n createClientRoutes,\n createClientRoutesWithHMRRevalidationOptOut,\n createRouter,\n decodeViaTurboStream,\n deserializeErrors,\n getPatchRoutesOnNavigationFunction,\n getSingleFetchDataStrategy,\n invariant,\n mapRouteProperties,\n matchRoutes,\n shouldHydrateRouteLoader,\n useFogOFWarDiscovery\n} from \"./chunk-KNED5TY2.mjs\";\n\n// lib/dom-export/dom-router-provider.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nfunction RouterProvider2(props) {\n return /* @__PURE__ */ React.createElement(RouterProvider, { flushSync: ReactDOM.flushSync, ...props });\n}\n\n// lib/dom-export/hydrated-router.tsx\nimport * as React2 from \"react\";\nvar ssrInfo = null;\nvar router = null;\nfunction initSsrInfo() {\n if (!ssrInfo && window.__reactRouterContext && window.__reactRouterManifest && window.__reactRouterRouteModules) {\n if (window.__reactRouterManifest.sri === true) {\n const importMap = document.querySelector(\"script[rr-importmap]\");\n if (importMap?.textContent) {\n try {\n window.__reactRouterManifest.sri = JSON.parse(\n importMap.textContent\n ).integrity;\n } catch (err) {\n console.error(\"Failed to parse import map\", err);\n }\n }\n }\n ssrInfo = {\n context: window.__reactRouterContext,\n manifest: window.__reactRouterManifest,\n routeModules: window.__reactRouterRouteModules,\n stateDecodingPromise: void 0,\n router: void 0,\n routerInitialized: false\n };\n }\n}\nfunction createHydratedRouter({\n unstable_getContext\n}) {\n initSsrInfo();\n if (!ssrInfo) {\n throw new Error(\n \"You must be using the SSR features of React Router in order to skip passing a `router` prop to ``\"\n );\n }\n let localSsrInfo = ssrInfo;\n if (!ssrInfo.stateDecodingPromise) {\n let stream = ssrInfo.context.stream;\n invariant(stream, \"No stream found for single fetch decoding\");\n ssrInfo.context.stream = void 0;\n ssrInfo.stateDecodingPromise = decodeViaTurboStream(stream, window).then((value) => {\n ssrInfo.context.state = value.value;\n localSsrInfo.stateDecodingPromise.value = true;\n }).catch((e) => {\n localSsrInfo.stateDecodingPromise.error = e;\n });\n }\n if (ssrInfo.stateDecodingPromise.error) {\n throw ssrInfo.stateDecodingPromise.error;\n }\n if (!ssrInfo.stateDecodingPromise.value) {\n throw ssrInfo.stateDecodingPromise;\n }\n let routes = createClientRoutes(\n ssrInfo.manifest.routes,\n ssrInfo.routeModules,\n ssrInfo.context.state,\n ssrInfo.context.ssr,\n ssrInfo.context.isSpaMode\n );\n let hydrationData = void 0;\n let loaderData = ssrInfo.context.state.loaderData;\n if (ssrInfo.context.isSpaMode) {\n if (ssrInfo.manifest.routes.root?.hasLoader && loaderData && \"root\" in loaderData) {\n hydrationData = {\n loaderData: {\n root: loaderData.root\n }\n };\n }\n } else {\n hydrationData = {\n ...ssrInfo.context.state,\n loaderData: { ...loaderData }\n };\n let initialMatches = matchRoutes(\n routes,\n window.location,\n window.__reactRouterContext?.basename\n );\n if (initialMatches) {\n for (let match of initialMatches) {\n let routeId = match.route.id;\n let route = ssrInfo.routeModules[routeId];\n let manifestRoute = ssrInfo.manifest.routes[routeId];\n if (route && manifestRoute && shouldHydrateRouteLoader(\n manifestRoute,\n route,\n ssrInfo.context.isSpaMode\n ) && (route.HydrateFallback || !manifestRoute.hasLoader)) {\n delete hydrationData.loaderData[routeId];\n } else if (manifestRoute && !manifestRoute.hasLoader) {\n hydrationData.loaderData[routeId] = null;\n }\n }\n }\n if (hydrationData && hydrationData.errors) {\n hydrationData.errors = deserializeErrors(hydrationData.errors);\n }\n }\n let router2 = createRouter({\n routes,\n history: createBrowserHistory(),\n basename: ssrInfo.context.basename,\n unstable_getContext,\n hydrationData,\n mapRouteProperties,\n future: {\n unstable_middleware: ssrInfo.context.future.unstable_middleware\n },\n dataStrategy: getSingleFetchDataStrategy(\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.ssr,\n ssrInfo.context.basename,\n () => router2\n ),\n patchRoutesOnNavigation: getPatchRoutesOnNavigationFunction(\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.ssr,\n ssrInfo.context.isSpaMode,\n ssrInfo.context.basename\n )\n });\n ssrInfo.router = router2;\n if (router2.state.initialized) {\n ssrInfo.routerInitialized = true;\n router2.initialize();\n }\n router2.createRoutesForHMR = /* spacer so ts-ignore does not affect the right hand of the assignment */\n createClientRoutesWithHMRRevalidationOptOut;\n window.__reactRouterDataRouter = router2;\n return router2;\n}\nfunction HydratedRouter(props) {\n if (!router) {\n router = createHydratedRouter({\n unstable_getContext: props.unstable_getContext\n });\n }\n let [criticalCss, setCriticalCss] = React2.useState(\n process.env.NODE_ENV === \"development\" ? ssrInfo?.context.criticalCss : void 0\n );\n if (process.env.NODE_ENV === \"development\") {\n if (ssrInfo) {\n window.__reactRouterClearCriticalCss = () => setCriticalCss(void 0);\n }\n }\n let [location, setLocation] = React2.useState(router.state.location);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router && !ssrInfo.routerInitialized) {\n ssrInfo.routerInitialized = true;\n ssrInfo.router.initialize();\n }\n }, []);\n React2.useLayoutEffect(() => {\n if (ssrInfo && ssrInfo.router) {\n return ssrInfo.router.subscribe((newState) => {\n if (newState.location !== location) {\n setLocation(newState.location);\n }\n });\n }\n }, [location]);\n invariant(ssrInfo, \"ssrInfo unavailable for HydratedRouter\");\n useFogOFWarDiscovery(\n router,\n ssrInfo.manifest,\n ssrInfo.routeModules,\n ssrInfo.context.ssr,\n ssrInfo.context.isSpaMode\n );\n return (\n // This fragment is important to ensure we match the JSX\n // structure so that useId values hydrate correctly\n /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(\n FrameworkContext.Provider,\n {\n value: {\n manifest: ssrInfo.manifest,\n routeModules: ssrInfo.routeModules,\n future: ssrInfo.context.future,\n criticalCss,\n ssr: ssrInfo.context.ssr,\n isSpaMode: ssrInfo.context.isSpaMode\n }\n },\n /* @__PURE__ */ React2.createElement(RemixErrorBoundary, { location }, /* @__PURE__ */ React2.createElement(RouterProvider2, { router }))\n ), /* @__PURE__ */ React2.createElement(React2.Fragment, null))\n );\n}\nexport {\n HydratedRouter,\n RouterProvider2 as RouterProvider\n};\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/7741aaccbd37b21af73cfa88cc79c1db34f0c843e76cc1cc2d708de13c7acbf4.json b/Data-Viz/node_modules/.cache/babel-loader/7741aaccbd37b21af73cfa88cc79c1db34f0c843e76cc1cc2d708de13c7acbf4.json new file mode 100644 index 000000000..ef2b35e03 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/7741aaccbd37b21af73cfa88cc79c1db34f0c843e76cc1cc2d708de13c7acbf4.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\n// TODO: remove from `core-js@4`\nrequire('../modules/esnext.global-this');\nvar parent = require('../actual/global-this');\nmodule.exports = parent;","map":{"version":3,"names":["require","parent","module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/full/global-this.js"],"sourcesContent":["'use strict';\n// TODO: remove from `core-js@4`\nrequire('../modules/esnext.global-this');\n\nvar parent = require('../actual/global-this');\n\nmodule.exports = parent;\n"],"mappings":"AAAA,YAAY;;AACZ;AACAA,OAAO,CAAC,+BAA+B,CAAC;AAExC,IAAIC,MAAM,GAAGD,OAAO,CAAC,uBAAuB,CAAC;AAE7CE,MAAM,CAACC,OAAO,GAAGF,MAAM","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/7859d2dab36b703edd1712dc3c7a5431a1101f2f80001a9df1f7ddc727911a8b.json b/Data-Viz/node_modules/.cache/babel-loader/7859d2dab36b703edd1712dc3c7a5431a1101f2f80001a9df1f7ddc727911a8b.json new file mode 100644 index 000000000..401021ca3 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/7859d2dab36b703edd1712dc3c7a5431a1101f2f80001a9df1f7ddc727911a8b.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};","map":{"version":3,"names":["globalThis","require","isObject","document","EXISTS","createElement","module","exports","it"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/document-create-element.js"],"sourcesContent":["'use strict';\nvar globalThis = require('../internals/global-this');\nvar isObject = require('../internals/is-object');\n\nvar document = globalThis.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,UAAU,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACpD,IAAIC,QAAQ,GAAGD,OAAO,CAAC,wBAAwB,CAAC;AAEhD,IAAIE,QAAQ,GAAGH,UAAU,CAACG,QAAQ;AAClC;AACA,IAAIC,MAAM,GAAGF,QAAQ,CAACC,QAAQ,CAAC,IAAID,QAAQ,CAACC,QAAQ,CAACE,aAAa,CAAC;AAEnEC,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B,OAAOJ,MAAM,GAAGD,QAAQ,CAACE,aAAa,CAACG,EAAE,CAAC,GAAG,CAAC,CAAC;AACjD,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/793ba91ab122dcf40229a6966856919f81c20b8a1a1a4afc7050707208908d59.json b/Data-Viz/node_modules/.cache/babel-loader/793ba91ab122dcf40229a6966856919f81c20b8a1a1a4afc7050707208908d59.json new file mode 100644 index 000000000..7409afe53 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/793ba91ab122dcf40229a6966856919f81c20b8a1a1a4afc7050707208908d59.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx\",\n _s = $RefreshSig$();\nimport React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst PlanTripPage = () => {\n _s();\n const [stops, setStops] = useState([]);\n const [routes, setRoutes] = useState([]);\n const [fromStop, setFromStop] = useState(\"\");\n const [toStop, setToStop] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef(null);\n const AGENCY_ID = \"607\";\n const API_BASE = \"https://transloc-api-1-2.p.rapidapi.com\";\n const API_KEY = process.env.REACT_APP_TRANSLOC_API_KEY || \"\";\n const GT_CENTER = [33.7756, -84.3963];\n\n // Custom marker icons\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n const defaultIcon = L.icon({\n iconUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-icon.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n useEffect(() => {\n fetchStopsAndRoutes();\n }, []);\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n const fetchStopsAndRoutes = async () => {\n try {\n var _stopsData$data, _routesData$data;\n setLoading(true);\n const headers = {\n \"X-RapidAPI-Key\": API_KEY,\n \"X-RapidAPI-Host\": \"transloc-api-1-2.p.rapidapi.com\"\n };\n const [stopsRes, routesRes] = await Promise.all([fetch(`${API_BASE}/stops.json?agencies=${AGENCY_ID}`, {\n headers\n }), fetch(`${API_BASE}/routes.json?agencies=${AGENCY_ID}`, {\n headers\n })]);\n const stopsData = await stopsRes.json();\n const routesData = await routesRes.json();\n setStops(Object.values(((_stopsData$data = stopsData.data) === null || _stopsData$data === void 0 ? void 0 : _stopsData$data[AGENCY_ID]) || {}));\n setRoutes(Object.values(((_routesData$data = routesData.data) === null || _routesData$data === void 0 ? void 0 : _routesData$data[AGENCY_ID]) || {}));\n } catch (err) {\n setError(\"⚠️ Failed to load bus data. Please check your API key.\");\n } finally {\n setLoading(false);\n }\n };\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n mapInstanceRef.current = map;\n\n // Add all stops to map initially\n stops.forEach(stop => {\n const marker = L.marker([stop.location.lat, stop.location.lng], {\n icon: defaultIcon\n }).bindPopup(`${stop.name}`).addTo(map);\n markersRef.current.push(marker);\n });\n };\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n markersRef.current.forEach(marker => {\n var _mapInstanceRef$curre;\n return (_mapInstanceRef$curre = mapInstanceRef.current) === null || _mapInstanceRef$curre === void 0 ? void 0 : _mapInstanceRef$curre.removeLayer(marker);\n });\n markersRef.current = [];\n if (routeLineRef.current) {\n mapInstanceRef.current.removeLayer(routeLineRef.current);\n routeLineRef.current = null;\n }\n };\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n clearMarkers();\n const {\n fromStop,\n toStop,\n routeStops\n } = result;\n\n // Add start marker\n const startMarker = L.marker([fromStop.location.lat, fromStop.location.lng], {\n icon: startIcon\n }).bindPopup(`🟢 START
${fromStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(startMarker);\n\n // Add end marker\n const endMarker = L.marker([toStop.location.lat, toStop.location.lng], {\n icon: endIcon\n }).bindPopup(`🔴 DESTINATION
${toStop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(endMarker);\n\n // Add intermediate stops\n routeStops.filter(s => s.stop_id !== fromStop.stop_id && s.stop_id !== toStop.stop_id).forEach(stop => {\n const marker = L.marker([stop.location.lat, stop.location.lng], {\n icon: stopIcon\n }).bindPopup(`${stop.name}`).addTo(mapInstanceRef.current);\n markersRef.current.push(marker);\n });\n\n // Draw route line\n const coordinates = routeStops.map(s => [s.location.lat, s.location.lng]);\n routeLineRef.current = L.polyline(coordinates, {\n color: '#3B82F6',\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current);\n\n // Fit map to route\n const bounds = L.latLngBounds(coordinates);\n mapInstanceRef.current.fitBounds(bounds, {\n padding: [50, 50]\n });\n };\n const findOptimalRoute = async () => {\n if (!fromStop || !toStop) {\n setError(\"Please select both origin and destination stops.\");\n return;\n }\n if (fromStop === toStop) {\n setError(\"Origin and destination cannot be the same.\");\n return;\n }\n setSearching(true);\n setError(\"\");\n setResult(null);\n try {\n const commonRoutes = routes.filter(route => {\n const stopIds = route.stops || [];\n return stopIds.includes(fromStop) && stopIds.includes(toStop);\n });\n if (commonRoutes.length === 0) {\n setError(\"No direct routes found. Transfer may be required.\");\n return;\n }\n const arrivalsRes = await fetch(`${API_BASE}/arrival-estimates.json?agencies=${AGENCY_ID}&stops=${fromStop}`, {\n headers: {\n \"X-RapidAPI-Key\": API_KEY,\n \"X-RapidAPI-Host\": \"transloc-api-1-2.p.rapidapi.com\"\n }\n });\n const arrivalsData = await arrivalsRes.json();\n let bestRoute = null;\n let earliestTime = Infinity;\n for (const route of commonRoutes) {\n var _arrivalsData$data, _arrivalsData$data$;\n const arrivals = ((_arrivalsData$data = arrivalsData.data) === null || _arrivalsData$data === void 0 ? void 0 : (_arrivalsData$data$ = _arrivalsData$data[0]) === null || _arrivalsData$data$ === void 0 ? void 0 : _arrivalsData$data$.arrivals) || [];\n const routeArrivals = arrivals.filter(a => a.route_id === route.route_id);\n if (routeArrivals.length > 0) {\n const nextArrival = new Date(routeArrivals[0].arrival_at).getTime();\n if (nextArrival < earliestTime) {\n earliestTime = nextArrival;\n bestRoute = {\n ...route,\n nextArrival: routeArrivals[0].arrival_at,\n minutesAway: Math.round((nextArrival - Date.now()) / 60000)\n };\n }\n }\n }\n const selectedRoute = bestRoute || commonRoutes[0];\n const fromStopData = stops.find(s => s.stop_id === fromStop);\n const toStopData = stops.find(s => s.stop_id === toStop);\n\n // Get all stops on the route between origin and destination\n const routeStopIds = selectedRoute.stops || [];\n const fromIndex = routeStopIds.indexOf(fromStop);\n const toIndex = routeStopIds.indexOf(toStop);\n const relevantStopIds = fromIndex < toIndex ? routeStopIds.slice(fromIndex, toIndex + 1) : routeStopIds.slice(toIndex, fromIndex + 1).reverse();\n const routeStops = relevantStopIds.map(id => stops.find(s => s.stop_id === id)).filter(s => s !== undefined);\n setResult({\n route: selectedRoute,\n fromStop: fromStopData,\n toStop: toStopData,\n allRoutes: commonRoutes,\n routeStops\n });\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n } finally {\n setSearching(false);\n }\n };\n if (loading) {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.center,\n children: /*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"\\uD83D\\uDE8C Loading GT Bus Data...\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 298,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 297,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.container,\n children: [/*#__PURE__*/_jsxDEV(\"h1\", {\n children: \"\\uD83D\\uDE8C Plan Your GT Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 305,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: \"Find the best bus route between two GT stops with visual map.\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 306,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.gridContainer,\n children: [/*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.formPanel,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: \"Plan Your Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 310,\n columnNumber: 11\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.form,\n children: [/*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83D\\uDFE2 Starting Location\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 313,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: fromStop,\n onChange: e => setFromStop(e.target.value),\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select origin stop\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 319,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.stop_id,\n children: stop.name\n }, stop.stop_id, false, {\n fileName: _jsxFileName,\n lineNumber: 321,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 314,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"label\", {\n children: \"\\uD83D\\uDD34 Destination\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 327,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"select\", {\n value: toStop,\n onChange: e => setToStop(e.target.value),\n className: styles.select,\n children: [/*#__PURE__*/_jsxDEV(\"option\", {\n value: \"\",\n children: \"Select destination stop\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 333,\n columnNumber: 15\n }, this), stops.map(stop => /*#__PURE__*/_jsxDEV(\"option\", {\n value: stop.stop_id,\n children: stop.name\n }, stop.stop_id, false, {\n fileName: _jsxFileName,\n lineNumber: 335,\n columnNumber: 17\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 328,\n columnNumber: 13\n }, this), /*#__PURE__*/_jsxDEV(\"button\", {\n onClick: findOptimalRoute,\n disabled: searching,\n children: searching ? \"Finding Route...\" : \"Find Best Route\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 341,\n columnNumber: 13\n }, this), error && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.error,\n children: error\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 345,\n columnNumber: 23\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 312,\n columnNumber: 11\n }, this), result && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.result,\n children: [/*#__PURE__*/_jsxDEV(\"h2\", {\n children: [\"\\u2705 Best Route: \", result.route.long_name]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 350,\n columnNumber: 15\n }, this), result.route.minutesAway !== undefined && /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.highlight,\n children: [\"\\uD83D\\uDD52 Next bus in \", result.route.minutesAway, \" min\"]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 352,\n columnNumber: 17\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDFE2 From: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.fromStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 355,\n columnNumber: 26\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 354,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\uD83D\\uDD34 To: \", /*#__PURE__*/_jsxDEV(\"strong\", {\n children: result.toStop.name\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 358,\n columnNumber: 24\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 357,\n columnNumber: 15\n }, this), /*#__PURE__*/_jsxDEV(\"p\", {\n className: styles.stats,\n children: [\"\\uD83D\\uDCCD Stops on route: \", result.routeStops.length]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 360,\n columnNumber: 15\n }, this), result.allRoutes.length > 1 && /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.alternatives,\n children: [/*#__PURE__*/_jsxDEV(\"p\", {\n children: /*#__PURE__*/_jsxDEV(\"strong\", {\n children: \"Alternative routes:\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 22\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 366,\n columnNumber: 19\n }, this), result.allRoutes.filter(r => r.route_id !== result.route.route_id).map(r => /*#__PURE__*/_jsxDEV(\"p\", {\n children: [\"\\u2022 \", r.long_name]\n }, r.route_id, true, {\n fileName: _jsxFileName,\n lineNumber: 370,\n columnNumber: 23\n }, this))]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 365,\n columnNumber: 17\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 349,\n columnNumber: 13\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 309,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.mapPanel,\n children: /*#__PURE__*/_jsxDEV(\"div\", {\n ref: mapRef,\n className: styles.map\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 380,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 379,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 308,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(Link, {\n to: \"/\",\n className: styles.linkButton,\n children: \"\\u2190 Return Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 384,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 304,\n columnNumber: 5\n }, this);\n};\n_s(PlanTripPage, \"exJPj9af4AbCVId/adnf/zmbCXU=\");\n_c = PlanTripPage;\nexport default PlanTripPage;\nvar _c;\n$RefreshReg$(_c, \"PlanTripPage\");","map":{"version":3,"names":["React","useState","useEffect","useRef","Link","L","styles","jsxDEV","_jsxDEV","PlanTripPage","_s","stops","setStops","routes","setRoutes","fromStop","setFromStop","toStop","setToStop","loading","setLoading","searching","setSearching","result","setResult","error","setError","mapRef","mapInstanceRef","markersRef","routeLineRef","AGENCY_ID","API_BASE","API_KEY","process","env","REACT_APP_TRANSLOC_API_KEY","GT_CENTER","startIcon","icon","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","endIcon","stopIcon","defaultIcon","fetchStopsAndRoutes","current","length","initMap","updateMap","_stopsData$data","_routesData$data","headers","stopsRes","routesRes","Promise","all","fetch","stopsData","json","routesData","Object","values","data","err","map","setView","tileLayer","attribution","addTo","forEach","stop","marker","location","lat","lng","bindPopup","name","push","clearMarkers","_mapInstanceRef$curre","removeLayer","routeStops","startMarker","endMarker","filter","s","stop_id","coordinates","polyline","color","weight","opacity","bounds","latLngBounds","fitBounds","padding","findOptimalRoute","commonRoutes","route","stopIds","includes","arrivalsRes","arrivalsData","bestRoute","earliestTime","Infinity","_arrivalsData$data","_arrivalsData$data$","arrivals","routeArrivals","a","route_id","nextArrival","Date","arrival_at","getTime","minutesAway","Math","round","now","selectedRoute","fromStopData","find","toStopData","routeStopIds","fromIndex","indexOf","toIndex","relevantStopIds","slice","reverse","id","undefined","allRoutes","className","center","children","fileName","_jsxFileName","lineNumber","columnNumber","container","gridContainer","formPanel","form","value","onChange","e","target","select","onClick","disabled","long_name","highlight","stats","alternatives","r","mapPanel","ref","to","linkButton","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/features/planTrip/PlanTripPage.tsx"],"sourcesContent":["import React, { useState, useEffect, useRef } from \"react\";\nimport { Link } from \"react-router-dom\";\nimport L from \"leaflet\";\nimport \"leaflet/dist/leaflet.css\";\nimport styles from \"./PlanTripPage.module.css\";\n\ninterface Stop {\n stop_id: string;\n name: string;\n location: {\n lat: number;\n lng: number;\n };\n}\n\ninterface Route {\n route_id: string;\n long_name: string;\n short_name?: string;\n stops?: string[];\n minutesAway?: number;\n nextArrival?: string;\n}\n\ninterface RouteResult {\n route: Route;\n fromStop: Stop;\n toStop: Stop;\n allRoutes: Route[];\n routeStops: Stop[];\n}\n\nconst PlanTripPage: React.FC = () => {\n const [stops, setStops] = useState([]);\n const [routes, setRoutes] = useState([]);\n const [fromStop, setFromStop] = useState(\"\");\n const [toStop, setToStop] = useState(\"\");\n const [loading, setLoading] = useState(true);\n const [searching, setSearching] = useState(false);\n const [result, setResult] = useState(null);\n const [error, setError] = useState(\"\");\n\n const mapRef = useRef(null);\n const mapInstanceRef = useRef(null);\n const markersRef = useRef([]);\n const routeLineRef = useRef(null);\n\n const AGENCY_ID = \"607\";\n const API_BASE = \"https://transloc-api-1-2.p.rapidapi.com\";\n const API_KEY: string = process.env.REACT_APP_TRANSLOC_API_KEY || \"\";\n const GT_CENTER: [number, number] = [33.7756, -84.3963];\n\n // Custom marker icons\n const startIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-green.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const endIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-red.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n const stopIcon = L.icon({\n iconUrl: 'https://raw.githubusercontent.com/pointhi/leaflet-color-markers/master/img/marker-icon-2x-blue.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [20, 33],\n iconAnchor: [10, 33],\n popupAnchor: [1, -28],\n shadowSize: [33, 33]\n });\n\n const defaultIcon = L.icon({\n iconUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-icon.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.9.4/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41]\n });\n\n useEffect(() => {\n fetchStopsAndRoutes();\n }, []);\n\n useEffect(() => {\n if (mapRef.current && !mapInstanceRef.current && stops.length > 0) {\n initMap();\n }\n }, [stops]);\n\n useEffect(() => {\n if (result && mapInstanceRef.current) {\n updateMap();\n }\n }, [result]);\n\n const fetchStopsAndRoutes = async () => {\n try {\n setLoading(true);\n\n const headers: Record = {\n \"X-RapidAPI-Key\": API_KEY,\n \"X-RapidAPI-Host\": \"transloc-api-1-2.p.rapidapi.com\",\n };\n\n const [stopsRes, routesRes] = await Promise.all([\n fetch(`${API_BASE}/stops.json?agencies=${AGENCY_ID}`, { headers }),\n fetch(`${API_BASE}/routes.json?agencies=${AGENCY_ID}`, { headers }),\n ]);\n\n const stopsData = await stopsRes.json();\n const routesData = await routesRes.json();\n\n setStops(Object.values(stopsData.data?.[AGENCY_ID] || {}));\n setRoutes(Object.values(routesData.data?.[AGENCY_ID] || {}));\n } catch (err) {\n setError(\"⚠️ Failed to load bus data. Please check your API key.\");\n } finally {\n setLoading(false);\n }\n };\n\n const initMap = () => {\n if (!mapRef.current || mapInstanceRef.current) return;\n\n const map = L.map(mapRef.current).setView(GT_CENTER, 15);\n \n L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {\n attribution: '© OpenStreetMap contributors'\n }).addTo(map);\n\n mapInstanceRef.current = map;\n\n // Add all stops to map initially\n stops.forEach(stop => {\n const marker = L.marker([stop.location.lat, stop.location.lng], { icon: defaultIcon })\n .bindPopup(`${stop.name}`)\n .addTo(map);\n markersRef.current.push(marker);\n });\n };\n\n const clearMarkers = () => {\n if (!mapInstanceRef.current) return;\n\n markersRef.current.forEach(marker => mapInstanceRef.current?.removeLayer(marker));\n markersRef.current = [];\n \n if (routeLineRef.current) {\n mapInstanceRef.current.removeLayer(routeLineRef.current);\n routeLineRef.current = null;\n }\n };\n\n const updateMap = () => {\n if (!result || !mapInstanceRef.current) return;\n\n clearMarkers();\n\n const { fromStop, toStop, routeStops } = result;\n\n // Add start marker\n const startMarker = L.marker([fromStop.location.lat, fromStop.location.lng], { icon: startIcon })\n .bindPopup(`🟢 START
${fromStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(startMarker);\n\n // Add end marker\n const endMarker = L.marker([toStop.location.lat, toStop.location.lng], { icon: endIcon })\n .bindPopup(`🔴 DESTINATION
${toStop.name}`)\n .addTo(mapInstanceRef.current);\n markersRef.current.push(endMarker);\n\n // Add intermediate stops\n routeStops\n .filter(s => s.stop_id !== fromStop.stop_id && s.stop_id !== toStop.stop_id)\n .forEach(stop => {\n const marker = L.marker([stop.location.lat, stop.location.lng], { icon: stopIcon })\n .bindPopup(`${stop.name}`)\n .addTo(mapInstanceRef.current!);\n markersRef.current.push(marker);\n });\n\n // Draw route line\n const coordinates: [number, number][] = routeStops.map(s => [s.location.lat, s.location.lng]);\n routeLineRef.current = L.polyline(coordinates, {\n color: '#3B82F6',\n weight: 4,\n opacity: 0.7\n }).addTo(mapInstanceRef.current);\n\n // Fit map to route\n const bounds = L.latLngBounds(coordinates);\n mapInstanceRef.current.fitBounds(bounds, { padding: [50, 50] });\n };\n\n const findOptimalRoute = async () => {\n if (!fromStop || !toStop) {\n setError(\"Please select both origin and destination stops.\");\n return;\n }\n\n if (fromStop === toStop) {\n setError(\"Origin and destination cannot be the same.\");\n return;\n }\n\n setSearching(true);\n setError(\"\");\n setResult(null);\n\n try {\n const commonRoutes = routes.filter((route) => {\n const stopIds = route.stops || [];\n return stopIds.includes(fromStop) && stopIds.includes(toStop);\n });\n\n if (commonRoutes.length === 0) {\n setError(\"No direct routes found. Transfer may be required.\");\n return;\n }\n\n const arrivalsRes = await fetch(\n `${API_BASE}/arrival-estimates.json?agencies=${AGENCY_ID}&stops=${fromStop}`,\n {\n headers: {\n \"X-RapidAPI-Key\": API_KEY,\n \"X-RapidAPI-Host\": \"transloc-api-1-2.p.rapidapi.com\",\n } as Record,\n }\n );\n const arrivalsData = await arrivalsRes.json();\n\n let bestRoute: Route | null = null;\n let earliestTime = Infinity;\n\n for (const route of commonRoutes) {\n const arrivals = arrivalsData.data?.[0]?.arrivals || [];\n const routeArrivals = arrivals.filter(\n (a: any) => a.route_id === route.route_id\n );\n if (routeArrivals.length > 0) {\n const nextArrival = new Date(routeArrivals[0].arrival_at).getTime();\n if (nextArrival < earliestTime) {\n earliestTime = nextArrival;\n bestRoute = {\n ...route,\n nextArrival: routeArrivals[0].arrival_at,\n minutesAway: Math.round((nextArrival - Date.now()) / 60000),\n };\n }\n }\n }\n\n const selectedRoute = bestRoute || commonRoutes[0];\n const fromStopData = stops.find((s) => s.stop_id === fromStop)!;\n const toStopData = stops.find((s) => s.stop_id === toStop)!;\n\n // Get all stops on the route between origin and destination\n const routeStopIds = selectedRoute.stops || [];\n const fromIndex = routeStopIds.indexOf(fromStop);\n const toIndex = routeStopIds.indexOf(toStop);\n \n const relevantStopIds = fromIndex < toIndex \n ? routeStopIds.slice(fromIndex, toIndex + 1)\n : routeStopIds.slice(toIndex, fromIndex + 1).reverse();\n\n const routeStops = relevantStopIds\n .map(id => stops.find(s => s.stop_id === id))\n .filter((s): s is Stop => s !== undefined);\n\n setResult({\n route: selectedRoute,\n fromStop: fromStopData,\n toStop: toStopData,\n allRoutes: commonRoutes,\n routeStops,\n });\n } catch (err) {\n setError(\"⚠️ Failed to find route. Please try again.\");\n } finally {\n setSearching(false);\n }\n };\n\n if (loading) {\n return (\n
\n

🚌 Loading GT Bus Data...

\n
\n );\n }\n\n return (\n
\n

🚌 Plan Your GT Trip

\n

Find the best bus route between two GT stops with visual map.

\n\n
\n
\n

Plan Your Route

\n\n
\n \n setFromStop(e.target.value)}\n className={styles.select}\n >\n \n {stops.map((stop) => (\n \n ))}\n \n\n \n setToStop(e.target.value)}\n className={styles.select}\n >\n \n {stops.map((stop) => (\n \n ))}\n \n\n \n\n {error &&

{error}

}\n
\n\n {result && (\n
\n

✅ Best Route: {result.route.long_name}

\n {result.route.minutesAway !== undefined && (\n

🕒 Next bus in {result.route.minutesAway} min

\n )}\n

\n 🟢 From: {result.fromStop.name}\n

\n

\n 🔴 To: {result.toStop.name}\n

\n

\n 📍 Stops on route: {result.routeStops.length}\n

\n \n {result.allRoutes.length > 1 && (\n
\n

Alternative routes:

\n {result.allRoutes\n .filter(r => r.route_id !== result.route.route_id)\n .map(r => (\n

• {r.long_name}

\n ))\n }\n
\n )}\n
\n )}\n
\n\n
\n
\n
\n
\n\n \n ← Return Home\n \n
\n );\n};\n\nexport default PlanTripPage;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/79571b9320ffc5081a70bf80e8f4a949c3be63c481b2ce300e91eb724209f66f.json b/Data-Viz/node_modules/.cache/babel-loader/79571b9320ffc5081a70bf80e8f4a949c3be63c481b2ce300e91eb724209f66f.json new file mode 100644 index 000000000..c779a6358 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/79571b9320ffc5081a70bf80e8f4a949c3be63c481b2ce300e91eb724209f66f.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nmodule.exports = require('../full/global-this');","map":{"version":3,"names":["module","exports","require"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/features/global-this.js"],"sourcesContent":["'use strict';\nmodule.exports = require('../full/global-this');\n"],"mappings":"AAAA,YAAY;;AACZA,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,qBAAqB,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/7aff94554371fea63fabb1d9713007ceadf58b5e6dc7585e96b9535c7d27d540.json b/Data-Viz/node_modules/.cache/babel-loader/7aff94554371fea63fabb1d9713007ceadf58b5e6dc7585e96b9535c7d27d540.json new file mode 100644 index 000000000..2e2486575 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/7aff94554371fea63fabb1d9713007ceadf58b5e6dc7585e96b9535c7d27d540.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'tech-square',\n predictedDelayMinutes: 4,\n routeId: '1',\n eta: generateETA(4)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.studentCenter, SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n },\n // FIXED: Northwest location\n {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'instructional-center',\n predictedDelayMinutes: 15,\n routeId: '2',\n eta: generateETA(15)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.4035\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.studentCenter, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '5',\n eta: generateETA(12)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'tech-square', predictedDelayMinutes: 4, routeId: '1', eta: generateETA(4) },\n { stopId: 'student-center', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.studentCenter,\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 }, // FIXED: Northwest location\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 }\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'instructional-center', predictedDelayMinutes: 15, routeId: '2', eta: generateETA(15) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.4035 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.studentCenter,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '5', eta: generateETA(12) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/7d640d45df3de0f39010e9da28963bcda244f32351380abe2585b6d472195899.json b/Data-Viz/node_modules/.cache/babel-loader/7d640d45df3de0f39010e9da28963bcda244f32351380abe2585b6d472195899.json new file mode 100644 index 000000000..666d41e90 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/7d640d45df3de0f39010e9da28963bcda244f32351380abe2585b6d472195899.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'midtown-marta',\n predictedDelayMinutes: 2,\n routeId: '1',\n eta: generateETA(2)\n }, {\n stopId: 'tech-square',\n predictedDelayMinutes: 6,\n routeId: '1',\n eta: generateETA(6)\n }, {\n stopId: 'klaus',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '1',\n eta: generateETA(12)\n }, {\n stopId: 'weber-turnaround',\n predictedDelayMinutes: 15,\n routeId: '1',\n eta: generateETA(15)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n }, SHARED.crc, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }, SHARED.studentCenter],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'klaus',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 5,\n routeId: '2',\n eta: generateETA(5)\n }, {\n stopId: 'curran',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 17,\n routeId: '2',\n eta: generateETA(17)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7695,\n longitude: -84.3855\n } // FIXED: Southeast corner, near Techwood/North Ave\n ],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'midtown-marta', predictedDelayMinutes: 2, routeId: '1', eta: generateETA(2) },\n { stopId: 'tech-square', predictedDelayMinutes: 6, routeId: '1', eta: generateETA(6) },\n { stopId: 'klaus', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '1', eta: generateETA(12) },\n { stopId: 'weber-turnaround', predictedDelayMinutes: 15, routeId: '1', eta: generateETA(15) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 },\n SHARED.crc,\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 },\n SHARED.studentCenter\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'klaus', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 5, routeId: '2', eta: generateETA(5) },\n { stopId: 'curran', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'student-center', predictedDelayMinutes: 17, routeId: '2', eta: generateETA(17) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7695, longitude: -84.3855 } // FIXED: Southeast corner, near Techwood/North Ave\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/7d7692329f391151874213f0b4551001dfee59cc4dfec4cb8d18057a572117c3.json b/Data-Viz/node_modules/.cache/babel-loader/7d7692329f391151874213f0b4551001dfee59cc4dfec4cb8d18057a572117c3.json new file mode 100644 index 000000000..7cde87938 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/7d7692329f391151874213f0b4551001dfee59cc4dfec4cb8d18057a572117c3.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n// eslint-disable-next-line es/no-global-this -- safe\ncheck(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) ||\n// eslint-disable-next-line no-restricted-globals -- safe\ncheck(typeof self == 'object' && self) || check(typeof global == 'object' && global) || check(typeof this == 'object' && this) ||\n// eslint-disable-next-line no-new-func -- fallback\nfunction () {\n return this;\n}() || Function('return this')();","map":{"version":3,"names":["check","it","Math","module","exports","globalThis","window","self","global","Function"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/global-this.js"],"sourcesContent":["'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n check(typeof this == 'object' && this) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,KAAK,GAAG,SAAAA,CAAUC,EAAE,EAAE;EACxB,OAAOA,EAAE,IAAIA,EAAE,CAACC,IAAI,KAAKA,IAAI,IAAID,EAAE;AACrC,CAAC;;AAED;AACAE,MAAM,CAACC,OAAO;AACZ;AACAJ,KAAK,CAAC,OAAOK,UAAU,IAAI,QAAQ,IAAIA,UAAU,CAAC,IAClDL,KAAK,CAAC,OAAOM,MAAM,IAAI,QAAQ,IAAIA,MAAM,CAAC;AAC1C;AACAN,KAAK,CAAC,OAAOO,IAAI,IAAI,QAAQ,IAAIA,IAAI,CAAC,IACtCP,KAAK,CAAC,OAAOQ,MAAM,IAAI,QAAQ,IAAIA,MAAM,CAAC,IAC1CR,KAAK,CAAC,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI,CAAC;AACtC;AACC,YAAY;EAAE,OAAO,IAAI;AAAE,CAAC,CAAE,CAAC,IAAIS,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/7debdb1932f9969bd49989836c8f52a12772d74945358fd629cf045c8e658f5d.json b/Data-Viz/node_modules/.cache/babel-loader/7debdb1932f9969bd49989836c8f52a12772d74945358fd629cf045c8e658f5d.json new file mode 100644 index 000000000..226defd63 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/7debdb1932f9969bd49989836c8f52a12772d74945358fd629cf045c8e658f5d.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () {\n return 7;\n }\n }).a !== 7;\n});","map":{"version":3,"names":["DESCRIPTORS","require","fails","createElement","module","exports","Object","defineProperty","get","a"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/ie8-dom-define.js"],"sourcesContent":["'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,0BAA0B,CAAC;AACrD,IAAIC,KAAK,GAAGD,OAAO,CAAC,oBAAoB,CAAC;AACzC,IAAIE,aAAa,GAAGF,OAAO,CAAC,sCAAsC,CAAC;;AAEnE;AACAG,MAAM,CAACC,OAAO,GAAG,CAACL,WAAW,IAAI,CAACE,KAAK,CAAC,YAAY;EAClD;EACA,OAAOI,MAAM,CAACC,cAAc,CAACJ,aAAa,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE;IACtDK,GAAG,EAAE,SAAAA,CAAA,EAAY;MAAE,OAAO,CAAC;IAAE;EAC/B,CAAC,CAAC,CAACC,CAAC,KAAK,CAAC;AACZ,CAAC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/7f75b08b1f8975e5881a60a89fa5abe94737983907bfe6049811ca19f2a54667.json b/Data-Viz/node_modules/.cache/babel-loader/7f75b08b1f8975e5881a60a89fa5abe94737983907bfe6049811ca19f2a54667.json new file mode 100644 index 000000000..822b26b0a --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/7f75b08b1f8975e5881a60a89fa5abe94737983907bfe6049811ca19f2a54667.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: SHARED.techSquare.id,\n predictedDelayMinutes: 4,\n routeId: '1',\n eta: generateETA(4)\n }, {\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.studentCenter, SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7795,\n longitude: -84.4010\n }, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: SHARED.kendeda.id,\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'instructional-center',\n predictedDelayMinutes: 15,\n routeId: '2',\n eta: generateETA(15)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.4035\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: SHARED.crc.id,\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.studentCenter, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: SHARED.kendeda.id,\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: SHARED.crc.id,\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }, {\n stopId: SHARED.studentCenter.id,\n predictedDelayMinutes: 12,\n routeId: '5',\n eta: generateETA(12)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: SHARED.techSquare.id, predictedDelayMinutes: 4, routeId: '1', eta: generateETA(4) },\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.studentCenter,\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7795, longitude: -84.4010 },\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 }\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: SHARED.kendeda.id, predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'instructional-center', predictedDelayMinutes: 15, routeId: '2', eta: generateETA(15) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.4035 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: SHARED.crc.id, predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.studentCenter,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: SHARED.kendeda.id, predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: SHARED.crc.id, predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) },\n { stopId: SHARED.studentCenter.id, predictedDelayMinutes: 12, routeId: '5', eta: generateETA(12) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/8397418c755b2d9795f9d1509869fc1d3b76a306e3d2aee0aa70becc3bffb722.json b/Data-Viz/node_modules/.cache/babel-loader/8397418c755b2d9795f9d1509869fc1d3b76a306e3d2aee0aa70becc3bffb722.json new file mode 100644 index 000000000..a6673df9d --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/8397418c755b2d9795f9d1509869fc1d3b76a306e3d2aee0aa70becc3bffb722.json @@ -0,0 +1 @@ +{"ast":null,"code":"/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\n/**\n * @param {(string | number)[]} updatedModules updated modules\n * @param {(string | number)[] | null} renewedModules renewed modules\n */\nmodule.exports = function (updatedModules, renewedModules) {\n var unacceptedModules = updatedModules.filter(function (moduleId) {\n return renewedModules && renewedModules.indexOf(moduleId) < 0;\n });\n var log = require(\"./log\");\n if (unacceptedModules.length > 0) {\n log(\"warning\", \"[HMR] The following modules couldn't be hot updated: (They would need a full reload!)\");\n unacceptedModules.forEach(function (moduleId) {\n log(\"warning\", \"[HMR] - \" + moduleId);\n });\n }\n if (!renewedModules || renewedModules.length === 0) {\n log(\"info\", \"[HMR] Nothing hot updated.\");\n } else {\n log(\"info\", \"[HMR] Updated modules:\");\n renewedModules.forEach(function (moduleId) {\n if (typeof moduleId === \"string\" && moduleId.indexOf(\"!\") !== -1) {\n var parts = moduleId.split(\"!\");\n log.groupCollapsed(\"info\", \"[HMR] - \" + parts.pop());\n log(\"info\", \"[HMR] - \" + moduleId);\n log.groupEnd(\"info\");\n } else {\n log(\"info\", \"[HMR] - \" + moduleId);\n }\n });\n var numberIds = renewedModules.every(function (moduleId) {\n return typeof moduleId === \"number\";\n });\n if (numberIds) log(\"info\", '[HMR] Consider using the optimization.moduleIds: \"named\" for module names.');\n }\n};","map":{"version":3,"names":["module","exports","updatedModules","renewedModules","unacceptedModules","filter","moduleId","indexOf","log","require","length","forEach","parts","split","groupCollapsed","pop","groupEnd","numberIds","every"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack/hot/log-apply-result.js"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\n/**\n * @param {(string | number)[]} updatedModules updated modules\n * @param {(string | number)[] | null} renewedModules renewed modules\n */\nmodule.exports = function (updatedModules, renewedModules) {\n\tvar unacceptedModules = updatedModules.filter(function (moduleId) {\n\t\treturn renewedModules && renewedModules.indexOf(moduleId) < 0;\n\t});\n\tvar log = require(\"./log\");\n\n\tif (unacceptedModules.length > 0) {\n\t\tlog(\n\t\t\t\"warning\",\n\t\t\t\"[HMR] The following modules couldn't be hot updated: (They would need a full reload!)\"\n\t\t);\n\t\tunacceptedModules.forEach(function (moduleId) {\n\t\t\tlog(\"warning\", \"[HMR] - \" + moduleId);\n\t\t});\n\t}\n\n\tif (!renewedModules || renewedModules.length === 0) {\n\t\tlog(\"info\", \"[HMR] Nothing hot updated.\");\n\t} else {\n\t\tlog(\"info\", \"[HMR] Updated modules:\");\n\t\trenewedModules.forEach(function (moduleId) {\n\t\t\tif (typeof moduleId === \"string\" && moduleId.indexOf(\"!\") !== -1) {\n\t\t\t\tvar parts = moduleId.split(\"!\");\n\t\t\t\tlog.groupCollapsed(\"info\", \"[HMR] - \" + parts.pop());\n\t\t\t\tlog(\"info\", \"[HMR] - \" + moduleId);\n\t\t\t\tlog.groupEnd(\"info\");\n\t\t\t} else {\n\t\t\t\tlog(\"info\", \"[HMR] - \" + moduleId);\n\t\t\t}\n\t\t});\n\t\tvar numberIds = renewedModules.every(function (moduleId) {\n\t\t\treturn typeof moduleId === \"number\";\n\t\t});\n\t\tif (numberIds)\n\t\t\tlog(\n\t\t\t\t\"info\",\n\t\t\t\t'[HMR] Consider using the optimization.moduleIds: \"named\" for module names.'\n\t\t\t);\n\t}\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACAA,MAAM,CAACC,OAAO,GAAG,UAAUC,cAAc,EAAEC,cAAc,EAAE;EAC1D,IAAIC,iBAAiB,GAAGF,cAAc,CAACG,MAAM,CAAC,UAAUC,QAAQ,EAAE;IACjE,OAAOH,cAAc,IAAIA,cAAc,CAACI,OAAO,CAACD,QAAQ,CAAC,GAAG,CAAC;EAC9D,CAAC,CAAC;EACF,IAAIE,GAAG,GAAGC,OAAO,CAAC,OAAO,CAAC;EAE1B,IAAIL,iBAAiB,CAACM,MAAM,GAAG,CAAC,EAAE;IACjCF,GAAG,CACF,SAAS,EACT,uFACD,CAAC;IACDJ,iBAAiB,CAACO,OAAO,CAAC,UAAUL,QAAQ,EAAE;MAC7CE,GAAG,CAAC,SAAS,EAAE,WAAW,GAAGF,QAAQ,CAAC;IACvC,CAAC,CAAC;EACH;EAEA,IAAI,CAACH,cAAc,IAAIA,cAAc,CAACO,MAAM,KAAK,CAAC,EAAE;IACnDF,GAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;EAC1C,CAAC,MAAM;IACNA,GAAG,CAAC,MAAM,EAAE,wBAAwB,CAAC;IACrCL,cAAc,CAACQ,OAAO,CAAC,UAAUL,QAAQ,EAAE;MAC1C,IAAI,OAAOA,QAAQ,KAAK,QAAQ,IAAIA,QAAQ,CAACC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE;QACjE,IAAIK,KAAK,GAAGN,QAAQ,CAACO,KAAK,CAAC,GAAG,CAAC;QAC/BL,GAAG,CAACM,cAAc,CAAC,MAAM,EAAE,WAAW,GAAGF,KAAK,CAACG,GAAG,CAAC,CAAC,CAAC;QACrDP,GAAG,CAAC,MAAM,EAAE,WAAW,GAAGF,QAAQ,CAAC;QACnCE,GAAG,CAACQ,QAAQ,CAAC,MAAM,CAAC;MACrB,CAAC,MAAM;QACNR,GAAG,CAAC,MAAM,EAAE,WAAW,GAAGF,QAAQ,CAAC;MACpC;IACD,CAAC,CAAC;IACF,IAAIW,SAAS,GAAGd,cAAc,CAACe,KAAK,CAAC,UAAUZ,QAAQ,EAAE;MACxD,OAAO,OAAOA,QAAQ,KAAK,QAAQ;IACpC,CAAC,CAAC;IACF,IAAIW,SAAS,EACZT,GAAG,CACF,MAAM,EACN,4EACD,CAAC;EACH;AACD,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/85b9daac8ca54461d4e94166659c5664afbc09430f5f8a6f1672cda1a4c544ad.json b/Data-Viz/node_modules/.cache/babel-loader/85b9daac8ca54461d4e94166659c5664afbc09430f5f8a6f1672cda1a4c544ad.json new file mode 100644 index 000000000..c9364b835 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/85b9daac8ca54461d4e94166659c5664afbc09430f5f8a6f1672cda1a4c544ad.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * react-router v7.5.0\n *\n * Copyright (c) Remix Software Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE.md file in the root directory of this source tree.\n *\n * @license MIT\n */\nvar __typeError = msg => {\n throw TypeError(msg);\n};\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\n\n// lib/router/history.ts\nvar Action = /* @__PURE__ */(Action2 => {\n Action2[\"Pop\"] = \"POP\";\n Action2[\"Push\"] = \"PUSH\";\n Action2[\"Replace\"] = \"REPLACE\";\n return Action2;\n})(Action || {});\nvar PopStateEventType = \"popstate\";\nfunction createMemoryHistory(options = {}) {\n let {\n initialEntries = [\"/\"],\n initialIndex,\n v5Compat = false\n } = options;\n let entries;\n entries = initialEntries.map((entry, index2) => createMemoryLocation(entry, typeof entry === \"string\" ? null : entry.state, index2 === 0 ? \"default\" : void 0));\n let index = clampIndex(initialIndex == null ? entries.length - 1 : initialIndex);\n let action = \"POP\" /* Pop */;\n let listener = null;\n function clampIndex(n) {\n return Math.min(Math.max(n, 0), entries.length - 1);\n }\n function getCurrentLocation() {\n return entries[index];\n }\n function createMemoryLocation(to, state = null, key) {\n let location = createLocation(entries ? getCurrentLocation().pathname : \"/\", to, state, key);\n warning(location.pathname.charAt(0) === \"/\", `relative pathnames are not supported in memory history: ${JSON.stringify(to)}`);\n return location;\n }\n function createHref2(to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n let history = {\n get index() {\n return index;\n },\n get action() {\n return action;\n },\n get location() {\n return getCurrentLocation();\n },\n createHref: createHref2,\n createURL(to) {\n return new URL(createHref2(to), \"http://localhost\");\n },\n encodeLocation(to) {\n let path = typeof to === \"string\" ? parsePath(to) : to;\n return {\n pathname: path.pathname || \"\",\n search: path.search || \"\",\n hash: path.hash || \"\"\n };\n },\n push(to, state) {\n action = \"PUSH\" /* Push */;\n let nextLocation = createMemoryLocation(to, state);\n index += 1;\n entries.splice(index, entries.length, nextLocation);\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 1\n });\n }\n },\n replace(to, state) {\n action = \"REPLACE\" /* Replace */;\n let nextLocation = createMemoryLocation(to, state);\n entries[index] = nextLocation;\n if (v5Compat && listener) {\n listener({\n action,\n location: nextLocation,\n delta: 0\n });\n }\n },\n go(delta) {\n action = \"POP\" /* Pop */;\n let nextIndex = clampIndex(index + delta);\n let nextLocation = entries[nextIndex];\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: nextLocation,\n delta\n });\n }\n },\n listen(fn) {\n listener = fn;\n return () => {\n listener = null;\n };\n }\n };\n return history;\n}\nfunction createBrowserHistory(options = {}) {\n function createBrowserLocation(window2, globalHistory) {\n let {\n pathname,\n search,\n hash\n } = window2.location;\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createBrowserHref(window2, to) {\n return typeof to === \"string\" ? to : createPath(to);\n }\n return getUrlBasedHistory(createBrowserLocation, createBrowserHref, null, options);\n}\nfunction createHashHistory(options = {}) {\n function createHashLocation(window2, globalHistory) {\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n } = parsePath(window2.location.hash.substring(1));\n if (!pathname.startsWith(\"/\") && !pathname.startsWith(\".\")) {\n pathname = \"/\" + pathname;\n }\n return createLocation(\"\", {\n pathname,\n search,\n hash\n },\n // state defaults to `null` because `window.history.state` does\n globalHistory.state && globalHistory.state.usr || null, globalHistory.state && globalHistory.state.key || \"default\");\n }\n function createHashHref(window2, to) {\n let base = window2.document.querySelector(\"base\");\n let href2 = \"\";\n if (base && base.getAttribute(\"href\")) {\n let url = window2.location.href;\n let hashIndex = url.indexOf(\"#\");\n href2 = hashIndex === -1 ? url : url.slice(0, hashIndex);\n }\n return href2 + \"#\" + (typeof to === \"string\" ? to : createPath(to));\n }\n function validateHashLocation(location, to) {\n warning(location.pathname.charAt(0) === \"/\", `relative pathnames are not supported in hash history.push(${JSON.stringify(to)})`);\n }\n return getUrlBasedHistory(createHashLocation, createHashHref, validateHashLocation, options);\n}\nfunction invariant(value, message) {\n if (value === false || value === null || typeof value === \"undefined\") {\n throw new Error(message);\n }\n}\nfunction warning(cond, message) {\n if (!cond) {\n if (typeof console !== \"undefined\") console.warn(message);\n try {\n throw new Error(message);\n } catch (e) {}\n }\n}\nfunction createKey() {\n return Math.random().toString(36).substring(2, 10);\n}\nfunction getHistoryState(location, index) {\n return {\n usr: location.state,\n key: location.key,\n idx: index\n };\n}\nfunction createLocation(current, to, state = null, key) {\n let location = {\n pathname: typeof current === \"string\" ? current : current.pathname,\n search: \"\",\n hash: \"\",\n ...(typeof to === \"string\" ? parsePath(to) : to),\n state,\n // TODO: This could be cleaned up. push/replace should probably just take\n // full Locations now and avoid the need to run through this flow at all\n // But that's a pretty big refactor to the current test suite so going to\n // keep as is for the time being and just let any incoming keys take precedence\n key: to && to.key || key || createKey()\n };\n return location;\n}\nfunction createPath({\n pathname = \"/\",\n search = \"\",\n hash = \"\"\n}) {\n if (search && search !== \"?\") pathname += search.charAt(0) === \"?\" ? search : \"?\" + search;\n if (hash && hash !== \"#\") pathname += hash.charAt(0) === \"#\" ? hash : \"#\" + hash;\n return pathname;\n}\nfunction parsePath(path) {\n let parsedPath = {};\n if (path) {\n let hashIndex = path.indexOf(\"#\");\n if (hashIndex >= 0) {\n parsedPath.hash = path.substring(hashIndex);\n path = path.substring(0, hashIndex);\n }\n let searchIndex = path.indexOf(\"?\");\n if (searchIndex >= 0) {\n parsedPath.search = path.substring(searchIndex);\n path = path.substring(0, searchIndex);\n }\n if (path) {\n parsedPath.pathname = path;\n }\n }\n return parsedPath;\n}\nfunction getUrlBasedHistory(getLocation, createHref2, validateLocation, options = {}) {\n let {\n window: window2 = document.defaultView,\n v5Compat = false\n } = options;\n let globalHistory = window2.history;\n let action = \"POP\" /* Pop */;\n let listener = null;\n let index = getIndex();\n if (index == null) {\n index = 0;\n globalHistory.replaceState({\n ...globalHistory.state,\n idx: index\n }, \"\");\n }\n function getIndex() {\n let state = globalHistory.state || {\n idx: null\n };\n return state.idx;\n }\n function handlePop() {\n action = \"POP\" /* Pop */;\n let nextIndex = getIndex();\n let delta = nextIndex == null ? null : nextIndex - index;\n index = nextIndex;\n if (listener) {\n listener({\n action,\n location: history.location,\n delta\n });\n }\n }\n function push(to, state) {\n action = \"PUSH\" /* Push */;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex() + 1;\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n try {\n globalHistory.pushState(historyState, \"\", url);\n } catch (error) {\n if (error instanceof DOMException && error.name === \"DataCloneError\") {\n throw error;\n }\n window2.location.assign(url);\n }\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 1\n });\n }\n }\n function replace2(to, state) {\n action = \"REPLACE\" /* Replace */;\n let location = createLocation(history.location, to, state);\n if (validateLocation) validateLocation(location, to);\n index = getIndex();\n let historyState = getHistoryState(location, index);\n let url = history.createHref(location);\n globalHistory.replaceState(historyState, \"\", url);\n if (v5Compat && listener) {\n listener({\n action,\n location: history.location,\n delta: 0\n });\n }\n }\n function createURL(to) {\n let base = window2.location.origin !== \"null\" ? window2.location.origin : window2.location.href;\n let href2 = typeof to === \"string\" ? to : createPath(to);\n href2 = href2.replace(/ $/, \"%20\");\n invariant(base, `No window.location.(origin|href) available to create URL for href: ${href2}`);\n return new URL(href2, base);\n }\n let history = {\n get action() {\n return action;\n },\n get location() {\n return getLocation(window2, globalHistory);\n },\n listen(fn) {\n if (listener) {\n throw new Error(\"A history only accepts one active listener\");\n }\n window2.addEventListener(PopStateEventType, handlePop);\n listener = fn;\n return () => {\n window2.removeEventListener(PopStateEventType, handlePop);\n listener = null;\n };\n },\n createHref(to) {\n return createHref2(window2, to);\n },\n createURL,\n encodeLocation(to) {\n let url = createURL(to);\n return {\n pathname: url.pathname,\n search: url.search,\n hash: url.hash\n };\n },\n push,\n replace: replace2,\n go(n) {\n return globalHistory.go(n);\n }\n };\n return history;\n}\n\n// lib/router/utils.ts\nfunction unstable_createContext(defaultValue) {\n return {\n defaultValue\n };\n}\nvar _map;\nvar unstable_RouterContextProvider = class {\n constructor(init) {\n __privateAdd(this, _map, /* @__PURE__ */new Map());\n if (init) {\n for (let [context, value] of init) {\n this.set(context, value);\n }\n }\n }\n get(context) {\n if (__privateGet(this, _map).has(context)) {\n return __privateGet(this, _map).get(context);\n }\n if (context.defaultValue !== void 0) {\n return context.defaultValue;\n }\n throw new Error(\"No value found for context\");\n }\n set(context, value) {\n __privateGet(this, _map).set(context, value);\n }\n};\n_map = new WeakMap();\nvar unsupportedLazyRouteObjectKeys = /* @__PURE__ */new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"children\"]);\nfunction isUnsupportedLazyRouteObjectKey(key) {\n return unsupportedLazyRouteObjectKeys.has(key);\n}\nvar unsupportedLazyRouteFunctionKeys = /* @__PURE__ */new Set([\"lazy\", \"caseSensitive\", \"path\", \"id\", \"index\", \"unstable_middleware\", \"children\"]);\nfunction isUnsupportedLazyRouteFunctionKey(key) {\n return unsupportedLazyRouteFunctionKeys.has(key);\n}\nfunction isIndexRoute(route) {\n return route.index === true;\n}\nfunction convertRoutesToDataRoutes(routes, mapRouteProperties2, parentPath = [], manifest = {}) {\n return routes.map((route, index) => {\n let treePath = [...parentPath, String(index)];\n let id = typeof route.id === \"string\" ? route.id : treePath.join(\"-\");\n invariant(route.index !== true || !route.children, `Cannot specify children on an index route`);\n invariant(!manifest[id], `Found a route id collision on id \"${id}\". Route id's must be globally unique within Data Router usages`);\n if (isIndexRoute(route)) {\n let indexRoute = {\n ...route,\n ...mapRouteProperties2(route),\n id\n };\n manifest[id] = indexRoute;\n return indexRoute;\n } else {\n let pathOrLayoutRoute = {\n ...route,\n ...mapRouteProperties2(route),\n id,\n children: void 0\n };\n manifest[id] = pathOrLayoutRoute;\n if (route.children) {\n pathOrLayoutRoute.children = convertRoutesToDataRoutes(route.children, mapRouteProperties2, treePath, manifest);\n }\n return pathOrLayoutRoute;\n }\n });\n}\nfunction matchRoutes(routes, locationArg, basename = \"/\") {\n return matchRoutesImpl(routes, locationArg, basename, false);\n}\nfunction matchRoutesImpl(routes, locationArg, basename, allowPartial) {\n let location = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n let pathname = stripBasename(location.pathname || \"/\", basename);\n if (pathname == null) {\n return null;\n }\n let branches = flattenRoutes(routes);\n rankRouteBranches(branches);\n let matches = null;\n for (let i = 0; matches == null && i < branches.length; ++i) {\n let decoded = decodePath(pathname);\n matches = matchRouteBranch(branches[i], decoded, allowPartial);\n }\n return matches;\n}\nfunction convertRouteMatchToUiMatch(match, loaderData) {\n let {\n route,\n pathname,\n params\n } = match;\n return {\n id: route.id,\n pathname,\n params,\n data: loaderData[route.id],\n handle: route.handle\n };\n}\nfunction flattenRoutes(routes, branches = [], parentsMeta = [], parentPath = \"\") {\n let flattenRoute = (route, index, relativePath) => {\n let meta = {\n relativePath: relativePath === void 0 ? route.path || \"\" : relativePath,\n caseSensitive: route.caseSensitive === true,\n childrenIndex: index,\n route\n };\n if (meta.relativePath.startsWith(\"/\")) {\n invariant(meta.relativePath.startsWith(parentPath), `Absolute route path \"${meta.relativePath}\" nested under path \"${parentPath}\" is not valid. An absolute child route path must start with the combined path of all its parent routes.`);\n meta.relativePath = meta.relativePath.slice(parentPath.length);\n }\n let path = joinPaths([parentPath, meta.relativePath]);\n let routesMeta = parentsMeta.concat(meta);\n if (route.children && route.children.length > 0) {\n invariant(\n // Our types know better, but runtime JS may not!\n // @ts-expect-error\n route.index !== true, `Index routes must not have child routes. Please remove all child routes from route path \"${path}\".`);\n flattenRoutes(route.children, branches, routesMeta, path);\n }\n if (route.path == null && !route.index) {\n return;\n }\n branches.push({\n path,\n score: computeScore(path, route.index),\n routesMeta\n });\n };\n routes.forEach((route, index) => {\n if (route.path === \"\" || !route.path?.includes(\"?\")) {\n flattenRoute(route, index);\n } else {\n for (let exploded of explodeOptionalSegments(route.path)) {\n flattenRoute(route, index, exploded);\n }\n }\n });\n return branches;\n}\nfunction explodeOptionalSegments(path) {\n let segments = path.split(\"/\");\n if (segments.length === 0) return [];\n let [first, ...rest] = segments;\n let isOptional = first.endsWith(\"?\");\n let required = first.replace(/\\?$/, \"\");\n if (rest.length === 0) {\n return isOptional ? [required, \"\"] : [required];\n }\n let restExploded = explodeOptionalSegments(rest.join(\"/\"));\n let result = [];\n result.push(...restExploded.map(subpath => subpath === \"\" ? required : [required, subpath].join(\"/\")));\n if (isOptional) {\n result.push(...restExploded);\n }\n return result.map(exploded => path.startsWith(\"/\") && exploded === \"\" ? \"/\" : exploded);\n}\nfunction rankRouteBranches(branches) {\n branches.sort((a, b) => a.score !== b.score ? b.score - a.score : compareIndexes(a.routesMeta.map(meta => meta.childrenIndex), b.routesMeta.map(meta => meta.childrenIndex)));\n}\nvar paramRe = /^:[\\w-]+$/;\nvar dynamicSegmentValue = 3;\nvar indexRouteValue = 2;\nvar emptySegmentValue = 1;\nvar staticSegmentValue = 10;\nvar splatPenalty = -2;\nvar isSplat = s => s === \"*\";\nfunction computeScore(path, index) {\n let segments = path.split(\"/\");\n let initialScore = segments.length;\n if (segments.some(isSplat)) {\n initialScore += splatPenalty;\n }\n if (index) {\n initialScore += indexRouteValue;\n }\n return segments.filter(s => !isSplat(s)).reduce((score, segment) => score + (paramRe.test(segment) ? dynamicSegmentValue : segment === \"\" ? emptySegmentValue : staticSegmentValue), initialScore);\n}\nfunction compareIndexes(a, b) {\n let siblings = a.length === b.length && a.slice(0, -1).every((n, i) => n === b[i]);\n return siblings ?\n // If two routes are siblings, we should try to match the earlier sibling\n // first. This allows people to have fine-grained control over the matching\n // behavior by simply putting routes with identical paths in the order they\n // want them tried.\n a[a.length - 1] - b[b.length - 1] :\n // Otherwise, it doesn't really make sense to rank non-siblings by index,\n // so they sort equally.\n 0;\n}\nfunction matchRouteBranch(branch, pathname, allowPartial = false) {\n let {\n routesMeta\n } = branch;\n let matchedParams = {};\n let matchedPathname = \"/\";\n let matches = [];\n for (let i = 0; i < routesMeta.length; ++i) {\n let meta = routesMeta[i];\n let end = i === routesMeta.length - 1;\n let remainingPathname = matchedPathname === \"/\" ? pathname : pathname.slice(matchedPathname.length) || \"/\";\n let match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end\n }, remainingPathname);\n let route = meta.route;\n if (!match && end && allowPartial && !routesMeta[routesMeta.length - 1].route.index) {\n match = matchPath({\n path: meta.relativePath,\n caseSensitive: meta.caseSensitive,\n end: false\n }, remainingPathname);\n }\n if (!match) {\n return null;\n }\n Object.assign(matchedParams, match.params);\n matches.push({\n // TODO: Can this as be avoided?\n params: matchedParams,\n pathname: joinPaths([matchedPathname, match.pathname]),\n pathnameBase: normalizePathname(joinPaths([matchedPathname, match.pathnameBase])),\n route\n });\n if (match.pathnameBase !== \"/\") {\n matchedPathname = joinPaths([matchedPathname, match.pathnameBase]);\n }\n }\n return matches;\n}\nfunction generatePath(originalPath, params = {}) {\n let path = originalPath;\n if (path.endsWith(\"*\") && path !== \"*\" && !path.endsWith(\"/*\")) {\n warning(false, `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`);\n path = path.replace(/\\*$/, \"/*\");\n }\n const prefix = path.startsWith(\"/\") ? \"/\" : \"\";\n const stringify = p => p == null ? \"\" : typeof p === \"string\" ? p : String(p);\n const segments = path.split(/\\/+/).map((segment, index, array) => {\n const isLastSegment = index === array.length - 1;\n if (isLastSegment && segment === \"*\") {\n const star = \"*\";\n return stringify(params[star]);\n }\n const keyMatch = segment.match(/^:([\\w-]+)(\\??)$/);\n if (keyMatch) {\n const [, key, optional] = keyMatch;\n let param = params[key];\n invariant(optional === \"?\" || param != null, `Missing \":${key}\" param`);\n return stringify(param);\n }\n return segment.replace(/\\?$/g, \"\");\n }).filter(segment => !!segment);\n return prefix + segments.join(\"/\");\n}\nfunction matchPath(pattern, pathname) {\n if (typeof pattern === \"string\") {\n pattern = {\n path: pattern,\n caseSensitive: false,\n end: true\n };\n }\n let [matcher, compiledParams] = compilePath(pattern.path, pattern.caseSensitive, pattern.end);\n let match = pathname.match(matcher);\n if (!match) return null;\n let matchedPathname = match[0];\n let pathnameBase = matchedPathname.replace(/(.)\\/+$/, \"$1\");\n let captureGroups = match.slice(1);\n let params = compiledParams.reduce((memo2, {\n paramName,\n isOptional\n }, index) => {\n if (paramName === \"*\") {\n let splatValue = captureGroups[index] || \"\";\n pathnameBase = matchedPathname.slice(0, matchedPathname.length - splatValue.length).replace(/(.)\\/+$/, \"$1\");\n }\n const value = captureGroups[index];\n if (isOptional && !value) {\n memo2[paramName] = void 0;\n } else {\n memo2[paramName] = (value || \"\").replace(/%2F/g, \"/\");\n }\n return memo2;\n }, {});\n return {\n params,\n pathname: matchedPathname,\n pathnameBase,\n pattern\n };\n}\nfunction compilePath(path, caseSensitive = false, end = true) {\n warning(path === \"*\" || !path.endsWith(\"*\") || path.endsWith(\"/*\"), `Route path \"${path}\" will be treated as if it were \"${path.replace(/\\*$/, \"/*\")}\" because the \\`*\\` character must always follow a \\`/\\` in the pattern. To get rid of this warning, please change the route path to \"${path.replace(/\\*$/, \"/*\")}\".`);\n let params = [];\n let regexpSource = \"^\" + path.replace(/\\/*\\*?$/, \"\").replace(/^\\/*/, \"/\").replace(/[\\\\.*+^${}|()[\\]]/g, \"\\\\$&\").replace(/\\/:([\\w-]+)(\\?)?/g, (_, paramName, isOptional) => {\n params.push({\n paramName,\n isOptional: isOptional != null\n });\n return isOptional ? \"/?([^\\\\/]+)?\" : \"/([^\\\\/]+)\";\n });\n if (path.endsWith(\"*\")) {\n params.push({\n paramName: \"*\"\n });\n regexpSource += path === \"*\" || path === \"/*\" ? \"(.*)$\" : \"(?:\\\\/(.+)|\\\\/*)$\";\n } else if (end) {\n regexpSource += \"\\\\/*$\";\n } else if (path !== \"\" && path !== \"/\") {\n regexpSource += \"(?:(?=\\\\/|$))\";\n } else {}\n let matcher = new RegExp(regexpSource, caseSensitive ? void 0 : \"i\");\n return [matcher, params];\n}\nfunction decodePath(value) {\n try {\n return value.split(\"/\").map(v => decodeURIComponent(v).replace(/\\//g, \"%2F\")).join(\"/\");\n } catch (error) {\n warning(false, `The URL path \"${value}\" could not be decoded because it is a malformed URL segment. This is probably due to a bad percent encoding (${error}).`);\n return value;\n }\n}\nfunction stripBasename(pathname, basename) {\n if (basename === \"/\") return pathname;\n if (!pathname.toLowerCase().startsWith(basename.toLowerCase())) {\n return null;\n }\n let startIndex = basename.endsWith(\"/\") ? basename.length - 1 : basename.length;\n let nextChar = pathname.charAt(startIndex);\n if (nextChar && nextChar !== \"/\") {\n return null;\n }\n return pathname.slice(startIndex) || \"/\";\n}\nfunction resolvePath(to, fromPathname = \"/\") {\n let {\n pathname: toPathname,\n search = \"\",\n hash = \"\"\n } = typeof to === \"string\" ? parsePath(to) : to;\n let pathname = toPathname ? toPathname.startsWith(\"/\") ? toPathname : resolvePathname(toPathname, fromPathname) : fromPathname;\n return {\n pathname,\n search: normalizeSearch(search),\n hash: normalizeHash(hash)\n };\n}\nfunction resolvePathname(relativePath, fromPathname) {\n let segments = fromPathname.replace(/\\/+$/, \"\").split(\"/\");\n let relativeSegments = relativePath.split(\"/\");\n relativeSegments.forEach(segment => {\n if (segment === \"..\") {\n if (segments.length > 1) segments.pop();\n } else if (segment !== \".\") {\n segments.push(segment);\n }\n });\n return segments.length > 1 ? segments.join(\"/\") : \"/\";\n}\nfunction getInvalidPathError(char, field, dest, path) {\n return `Cannot include a '${char}' character in a manually specified \\`to.${field}\\` field [${JSON.stringify(path)}]. Please separate it out to the \\`to.${dest}\\` field. Alternatively you may provide the full path as a string in and the router will parse it for you.`;\n}\nfunction getPathContributingMatches(matches) {\n return matches.filter((match, index) => index === 0 || match.route.path && match.route.path.length > 0);\n}\nfunction getResolveToMatches(matches) {\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches.map((match, idx) => idx === pathMatches.length - 1 ? match.pathname : match.pathnameBase);\n}\nfunction resolveTo(toArg, routePathnames, locationPathname, isPathRelative = false) {\n let to;\n if (typeof toArg === \"string\") {\n to = parsePath(toArg);\n } else {\n to = {\n ...toArg\n };\n invariant(!to.pathname || !to.pathname.includes(\"?\"), getInvalidPathError(\"?\", \"pathname\", \"search\", to));\n invariant(!to.pathname || !to.pathname.includes(\"#\"), getInvalidPathError(\"#\", \"pathname\", \"hash\", to));\n invariant(!to.search || !to.search.includes(\"#\"), getInvalidPathError(\"#\", \"search\", \"hash\", to));\n }\n let isEmptyPath = toArg === \"\" || to.pathname === \"\";\n let toPathname = isEmptyPath ? \"/\" : to.pathname;\n let from;\n if (toPathname == null) {\n from = locationPathname;\n } else {\n let routePathnameIndex = routePathnames.length - 1;\n if (!isPathRelative && toPathname.startsWith(\"..\")) {\n let toSegments = toPathname.split(\"/\");\n while (toSegments[0] === \"..\") {\n toSegments.shift();\n routePathnameIndex -= 1;\n }\n to.pathname = toSegments.join(\"/\");\n }\n from = routePathnameIndex >= 0 ? routePathnames[routePathnameIndex] : \"/\";\n }\n let path = resolvePath(to, from);\n let hasExplicitTrailingSlash = toPathname && toPathname !== \"/\" && toPathname.endsWith(\"/\");\n let hasCurrentTrailingSlash = (isEmptyPath || toPathname === \".\") && locationPathname.endsWith(\"/\");\n if (!path.pathname.endsWith(\"/\") && (hasExplicitTrailingSlash || hasCurrentTrailingSlash)) {\n path.pathname += \"/\";\n }\n return path;\n}\nvar joinPaths = paths => paths.join(\"/\").replace(/\\/\\/+/g, \"/\");\nvar normalizePathname = pathname => pathname.replace(/\\/+$/, \"\").replace(/^\\/*/, \"/\");\nvar normalizeSearch = search => !search || search === \"?\" ? \"\" : search.startsWith(\"?\") ? search : \"?\" + search;\nvar normalizeHash = hash => !hash || hash === \"#\" ? \"\" : hash.startsWith(\"#\") ? hash : \"#\" + hash;\nvar DataWithResponseInit = class {\n constructor(data2, init) {\n this.type = \"DataWithResponseInit\";\n this.data = data2;\n this.init = init || null;\n }\n};\nfunction data(data2, init) {\n return new DataWithResponseInit(data2, typeof init === \"number\" ? {\n status: init\n } : init);\n}\nvar redirect = (url, init = 302) => {\n let responseInit = init;\n if (typeof responseInit === \"number\") {\n responseInit = {\n status: responseInit\n };\n } else if (typeof responseInit.status === \"undefined\") {\n responseInit.status = 302;\n }\n let headers = new Headers(responseInit.headers);\n headers.set(\"Location\", url);\n return new Response(null, {\n ...responseInit,\n headers\n });\n};\nvar redirectDocument = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Reload-Document\", \"true\");\n return response;\n};\nvar replace = (url, init) => {\n let response = redirect(url, init);\n response.headers.set(\"X-Remix-Replace\", \"true\");\n return response;\n};\nvar ErrorResponseImpl = class {\n constructor(status, statusText, data2, internal = false) {\n this.status = status;\n this.statusText = statusText || \"\";\n this.internal = internal;\n if (data2 instanceof Error) {\n this.data = data2.toString();\n this.error = data2;\n } else {\n this.data = data2;\n }\n }\n};\nfunction isRouteErrorResponse(error) {\n return error != null && typeof error.status === \"number\" && typeof error.statusText === \"string\" && typeof error.internal === \"boolean\" && \"data\" in error;\n}\n\n// lib/router/router.ts\nvar validMutationMethodsArr = [\"POST\", \"PUT\", \"PATCH\", \"DELETE\"];\nvar validMutationMethods = new Set(validMutationMethodsArr);\nvar validRequestMethodsArr = [\"GET\", ...validMutationMethodsArr];\nvar validRequestMethods = new Set(validRequestMethodsArr);\nvar redirectStatusCodes = /* @__PURE__ */new Set([301, 302, 303, 307, 308]);\nvar redirectPreserveMethodStatusCodes = /* @__PURE__ */new Set([307, 308]);\nvar IDLE_NAVIGATION = {\n state: \"idle\",\n location: void 0,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n};\nvar IDLE_FETCHER = {\n state: \"idle\",\n data: void 0,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n};\nvar IDLE_BLOCKER = {\n state: \"unblocked\",\n proceed: void 0,\n reset: void 0,\n location: void 0\n};\nvar ABSOLUTE_URL_REGEX = /^(?:[a-z][a-z0-9+.-]*:|\\/\\/)/i;\nvar defaultMapRouteProperties = route => ({\n hasErrorBoundary: Boolean(route.hasErrorBoundary)\n});\nvar TRANSITIONS_STORAGE_KEY = \"remix-router-transitions\";\nvar ResetLoaderDataSymbol = Symbol(\"ResetLoaderData\");\nfunction createRouter(init) {\n const routerWindow = init.window ? init.window : typeof window !== \"undefined\" ? window : void 0;\n const isBrowser2 = typeof routerWindow !== \"undefined\" && typeof routerWindow.document !== \"undefined\" && typeof routerWindow.document.createElement !== \"undefined\";\n invariant(init.routes.length > 0, \"You must provide a non-empty routes array to createRouter\");\n let mapRouteProperties2 = init.mapRouteProperties || defaultMapRouteProperties;\n let manifest = {};\n let dataRoutes = convertRoutesToDataRoutes(init.routes, mapRouteProperties2, void 0, manifest);\n let inFlightDataRoutes;\n let basename = init.basename || \"/\";\n let dataStrategyImpl = init.dataStrategy || defaultDataStrategyWithMiddleware;\n let future = {\n unstable_middleware: false,\n ...init.future\n };\n let unlistenHistory = null;\n let subscribers = /* @__PURE__ */new Set();\n let savedScrollPositions2 = null;\n let getScrollRestorationKey2 = null;\n let getScrollPosition = null;\n let initialScrollRestored = init.hydrationData != null;\n let initialMatches = matchRoutes(dataRoutes, init.history.location, basename);\n let initialMatchesIsFOW = false;\n let initialErrors = null;\n if (initialMatches == null && !init.patchRoutesOnNavigation) {\n let error = getInternalRouterError(404, {\n pathname: init.history.location.pathname\n });\n let {\n matches,\n route\n } = getShortCircuitMatches(dataRoutes);\n initialMatches = matches;\n initialErrors = {\n [route.id]: error\n };\n }\n if (initialMatches && !init.hydrationData) {\n let fogOfWar = checkFogOfWar(initialMatches, dataRoutes, init.history.location.pathname);\n if (fogOfWar.active) {\n initialMatches = null;\n }\n }\n let initialized;\n if (!initialMatches) {\n initialized = false;\n initialMatches = [];\n let fogOfWar = checkFogOfWar(null, dataRoutes, init.history.location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n initialMatchesIsFOW = true;\n initialMatches = fogOfWar.matches;\n }\n } else if (initialMatches.some(m => m.route.lazy)) {\n initialized = false;\n } else if (!initialMatches.some(m => m.route.loader)) {\n initialized = true;\n } else {\n let loaderData = init.hydrationData ? init.hydrationData.loaderData : null;\n let errors = init.hydrationData ? init.hydrationData.errors : null;\n if (errors) {\n let idx = initialMatches.findIndex(m => errors[m.route.id] !== void 0);\n initialized = initialMatches.slice(0, idx + 1).every(m => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n } else {\n initialized = initialMatches.every(m => !shouldLoadRouteOnHydration(m.route, loaderData, errors));\n }\n }\n let router;\n let state = {\n historyAction: init.history.action,\n location: init.history.location,\n matches: initialMatches,\n initialized,\n navigation: IDLE_NAVIGATION,\n // Don't restore on initial updateState() if we were SSR'd\n restoreScrollPosition: init.hydrationData != null ? false : null,\n preventScrollReset: false,\n revalidation: \"idle\",\n loaderData: init.hydrationData && init.hydrationData.loaderData || {},\n actionData: init.hydrationData && init.hydrationData.actionData || null,\n errors: init.hydrationData && init.hydrationData.errors || initialErrors,\n fetchers: /* @__PURE__ */new Map(),\n blockers: /* @__PURE__ */new Map()\n };\n let pendingAction = \"POP\" /* Pop */;\n let pendingPreventScrollReset = false;\n let pendingNavigationController;\n let pendingViewTransitionEnabled = false;\n let appliedViewTransitions = /* @__PURE__ */new Map();\n let removePageHideEventListener = null;\n let isUninterruptedRevalidation = false;\n let isRevalidationRequired = false;\n let cancelledFetcherLoads = /* @__PURE__ */new Set();\n let fetchControllers = /* @__PURE__ */new Map();\n let incrementingLoadId = 0;\n let pendingNavigationLoadId = -1;\n let fetchReloadIds = /* @__PURE__ */new Map();\n let fetchRedirectIds = /* @__PURE__ */new Set();\n let fetchLoadMatches = /* @__PURE__ */new Map();\n let activeFetchers = /* @__PURE__ */new Map();\n let fetchersQueuedForDeletion = /* @__PURE__ */new Set();\n let blockerFunctions = /* @__PURE__ */new Map();\n let unblockBlockerHistoryUpdate = void 0;\n let pendingRevalidationDfd = null;\n function initialize() {\n unlistenHistory = init.history.listen(({\n action: historyAction,\n location,\n delta\n }) => {\n if (unblockBlockerHistoryUpdate) {\n unblockBlockerHistoryUpdate();\n unblockBlockerHistoryUpdate = void 0;\n return;\n }\n warning(blockerFunctions.size === 0 || delta != null, \"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.\");\n let blockerKey = shouldBlockNavigation({\n currentLocation: state.location,\n nextLocation: location,\n historyAction\n });\n if (blockerKey && delta != null) {\n let nextHistoryUpdatePromise = new Promise(resolve => {\n unblockBlockerHistoryUpdate = resolve;\n });\n init.history.go(delta * -1);\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: void 0,\n reset: void 0,\n location\n });\n nextHistoryUpdatePromise.then(() => init.history.go(delta));\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n return startNavigation(historyAction, location);\n });\n if (isBrowser2) {\n restoreAppliedTransitions(routerWindow, appliedViewTransitions);\n let _saveAppliedTransitions = () => persistAppliedTransitions(routerWindow, appliedViewTransitions);\n routerWindow.addEventListener(\"pagehide\", _saveAppliedTransitions);\n removePageHideEventListener = () => routerWindow.removeEventListener(\"pagehide\", _saveAppliedTransitions);\n }\n if (!state.initialized) {\n startNavigation(\"POP\" /* Pop */, state.location, {\n initialHydration: true\n });\n }\n return router;\n }\n function dispose() {\n if (unlistenHistory) {\n unlistenHistory();\n }\n if (removePageHideEventListener) {\n removePageHideEventListener();\n }\n subscribers.clear();\n pendingNavigationController && pendingNavigationController.abort();\n state.fetchers.forEach((_, key) => deleteFetcher(key));\n state.blockers.forEach((_, key) => deleteBlocker(key));\n }\n function subscribe(fn) {\n subscribers.add(fn);\n return () => subscribers.delete(fn);\n }\n function updateState(newState, opts = {}) {\n state = {\n ...state,\n ...newState\n };\n let unmountedFetchers = [];\n let mountedFetchers = [];\n state.fetchers.forEach((fetcher, key) => {\n if (fetcher.state === \"idle\") {\n if (fetchersQueuedForDeletion.has(key)) {\n unmountedFetchers.push(key);\n } else {\n mountedFetchers.push(key);\n }\n }\n });\n fetchersQueuedForDeletion.forEach(key => {\n if (!state.fetchers.has(key) && !fetchControllers.has(key)) {\n unmountedFetchers.push(key);\n }\n });\n [...subscribers].forEach(subscriber => subscriber(state, {\n deletedFetchers: unmountedFetchers,\n viewTransitionOpts: opts.viewTransitionOpts,\n flushSync: opts.flushSync === true\n }));\n unmountedFetchers.forEach(key => deleteFetcher(key));\n mountedFetchers.forEach(key => state.fetchers.delete(key));\n }\n function completeNavigation(location, newState, {\n flushSync\n } = {}) {\n let isActionReload = state.actionData != null && state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && state.navigation.state === \"loading\" && location.state?._isRedirect !== true;\n let actionData;\n if (newState.actionData) {\n if (Object.keys(newState.actionData).length > 0) {\n actionData = newState.actionData;\n } else {\n actionData = null;\n }\n } else if (isActionReload) {\n actionData = state.actionData;\n } else {\n actionData = null;\n }\n let loaderData = newState.loaderData ? mergeLoaderData(state.loaderData, newState.loaderData, newState.matches || [], newState.errors) : state.loaderData;\n let blockers = state.blockers;\n if (blockers.size > 0) {\n blockers = new Map(blockers);\n blockers.forEach((_, k) => blockers.set(k, IDLE_BLOCKER));\n }\n let preventScrollReset = pendingPreventScrollReset === true || state.navigation.formMethod != null && isMutationMethod(state.navigation.formMethod) && location.state?._isRedirect !== true;\n if (inFlightDataRoutes) {\n dataRoutes = inFlightDataRoutes;\n inFlightDataRoutes = void 0;\n }\n if (isUninterruptedRevalidation) {} else if (pendingAction === \"POP\" /* Pop */) {} else if (pendingAction === \"PUSH\" /* Push */) {\n init.history.push(location, location.state);\n } else if (pendingAction === \"REPLACE\" /* Replace */) {\n init.history.replace(location, location.state);\n }\n let viewTransitionOpts;\n if (pendingAction === \"POP\" /* Pop */) {\n let priorPaths = appliedViewTransitions.get(state.location.pathname);\n if (priorPaths && priorPaths.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n } else if (appliedViewTransitions.has(location.pathname)) {\n viewTransitionOpts = {\n currentLocation: location,\n nextLocation: state.location\n };\n }\n } else if (pendingViewTransitionEnabled) {\n let toPaths = appliedViewTransitions.get(state.location.pathname);\n if (toPaths) {\n toPaths.add(location.pathname);\n } else {\n toPaths = /* @__PURE__ */new Set([location.pathname]);\n appliedViewTransitions.set(state.location.pathname, toPaths);\n }\n viewTransitionOpts = {\n currentLocation: state.location,\n nextLocation: location\n };\n }\n updateState({\n ...newState,\n // matches, errors, fetchers go through as-is\n actionData,\n loaderData,\n historyAction: pendingAction,\n location,\n initialized: true,\n navigation: IDLE_NAVIGATION,\n revalidation: \"idle\",\n restoreScrollPosition: getSavedScrollPosition(location, newState.matches || state.matches),\n preventScrollReset,\n blockers\n }, {\n viewTransitionOpts,\n flushSync: flushSync === true\n });\n pendingAction = \"POP\" /* Pop */;\n pendingPreventScrollReset = false;\n pendingViewTransitionEnabled = false;\n isUninterruptedRevalidation = false;\n isRevalidationRequired = false;\n pendingRevalidationDfd?.resolve();\n pendingRevalidationDfd = null;\n }\n async function navigate(to, opts) {\n if (typeof to === \"number\") {\n init.history.go(to);\n return;\n }\n let normalizedPath = normalizeTo(state.location, state.matches, basename, to, opts?.fromRouteId, opts?.relative);\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(false, normalizedPath, opts);\n let currentLocation = state.location;\n let nextLocation = createLocation(state.location, path, opts && opts.state);\n nextLocation = {\n ...nextLocation,\n ...init.history.encodeLocation(nextLocation)\n };\n let userReplace = opts && opts.replace != null ? opts.replace : void 0;\n let historyAction = \"PUSH\" /* Push */;\n if (userReplace === true) {\n historyAction = \"REPLACE\" /* Replace */;\n } else if (userReplace === false) {} else if (submission != null && isMutationMethod(submission.formMethod) && submission.formAction === state.location.pathname + state.location.search) {\n historyAction = \"REPLACE\" /* Replace */;\n }\n let preventScrollReset = opts && \"preventScrollReset\" in opts ? opts.preventScrollReset === true : void 0;\n let flushSync = (opts && opts.flushSync) === true;\n let blockerKey = shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n });\n if (blockerKey) {\n updateBlocker(blockerKey, {\n state: \"blocked\",\n location: nextLocation,\n proceed() {\n updateBlocker(blockerKey, {\n state: \"proceeding\",\n proceed: void 0,\n reset: void 0,\n location: nextLocation\n });\n navigate(to, opts);\n },\n reset() {\n let blockers = new Map(state.blockers);\n blockers.set(blockerKey, IDLE_BLOCKER);\n updateState({\n blockers\n });\n }\n });\n return;\n }\n await startNavigation(historyAction, nextLocation, {\n submission,\n // Send through the formData serialization error if we have one so we can\n // render at the right error boundary after we match routes\n pendingError: error,\n preventScrollReset,\n replace: opts && opts.replace,\n enableViewTransition: opts && opts.viewTransition,\n flushSync\n });\n }\n function revalidate() {\n if (!pendingRevalidationDfd) {\n pendingRevalidationDfd = createDeferred();\n }\n interruptActiveLoads();\n updateState({\n revalidation: \"loading\"\n });\n let promise = pendingRevalidationDfd.promise;\n if (state.navigation.state === \"submitting\") {\n return promise;\n }\n if (state.navigation.state === \"idle\") {\n startNavigation(state.historyAction, state.location, {\n startUninterruptedRevalidation: true\n });\n return promise;\n }\n startNavigation(pendingAction || state.historyAction, state.navigation.location, {\n overrideNavigation: state.navigation,\n // Proxy through any rending view transition\n enableViewTransition: pendingViewTransitionEnabled === true\n });\n return promise;\n }\n async function startNavigation(historyAction, location, opts) {\n pendingNavigationController && pendingNavigationController.abort();\n pendingNavigationController = null;\n pendingAction = historyAction;\n isUninterruptedRevalidation = (opts && opts.startUninterruptedRevalidation) === true;\n saveScrollPosition(state.location, state.matches);\n pendingPreventScrollReset = (opts && opts.preventScrollReset) === true;\n pendingViewTransitionEnabled = (opts && opts.enableViewTransition) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let loadingNavigation = opts && opts.overrideNavigation;\n let matches = opts?.initialHydration && state.matches && state.matches.length > 0 && !initialMatchesIsFOW ?\n // `matchRoutes()` has already been called if we're in here via `router.initialize()`\n state.matches : matchRoutes(routesToUse, location, basename);\n let flushSync = (opts && opts.flushSync) === true;\n if (matches && state.initialized && !isRevalidationRequired && isHashChangeOnly(state.location, location) && !(opts && opts.submission && isMutationMethod(opts.submission.formMethod))) {\n completeNavigation(location, {\n matches\n }, {\n flushSync\n });\n return;\n }\n let fogOfWar = checkFogOfWar(matches, routesToUse, location.pathname);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n if (!matches) {\n let {\n error,\n notFoundMatches,\n route\n } = handleNavigational404(location.pathname);\n completeNavigation(location, {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n }, {\n flushSync\n });\n return;\n }\n pendingNavigationController = new AbortController();\n let request = createClientSideRequest(init.history, location, pendingNavigationController.signal, opts && opts.submission);\n let scopedContext = new unstable_RouterContextProvider(init.unstable_getContext ? await init.unstable_getContext() : void 0);\n let pendingActionResult;\n if (opts && opts.pendingError) {\n pendingActionResult = [findNearestBoundary(matches).route.id, {\n type: \"error\" /* error */,\n error: opts.pendingError\n }];\n } else if (opts && opts.submission && isMutationMethod(opts.submission.formMethod)) {\n let actionResult = await handleAction(request, location, opts.submission, matches, scopedContext, fogOfWar.active, {\n replace: opts.replace,\n flushSync\n });\n if (actionResult.shortCircuited) {\n return;\n }\n if (actionResult.pendingActionResult) {\n let [routeId, result] = actionResult.pendingActionResult;\n if (isErrorResult(result) && isRouteErrorResponse(result.error) && result.error.status === 404) {\n pendingNavigationController = null;\n completeNavigation(location, {\n matches: actionResult.matches,\n loaderData: {},\n errors: {\n [routeId]: result.error\n }\n });\n return;\n }\n }\n matches = actionResult.matches || matches;\n pendingActionResult = actionResult.pendingActionResult;\n loadingNavigation = getLoadingNavigation(location, opts.submission);\n flushSync = false;\n fogOfWar.active = false;\n request = createClientSideRequest(init.history, request.url, request.signal);\n }\n let {\n shortCircuited,\n matches: updatedMatches,\n loaderData,\n errors\n } = await handleLoaders(request, location, matches, scopedContext, fogOfWar.active, loadingNavigation, opts && opts.submission, opts && opts.fetcherSubmission, opts && opts.replace, opts && opts.initialHydration === true, flushSync, pendingActionResult);\n if (shortCircuited) {\n return;\n }\n pendingNavigationController = null;\n completeNavigation(location, {\n matches: updatedMatches || matches,\n ...getActionDataForCommit(pendingActionResult),\n loaderData,\n errors\n });\n }\n async function handleAction(request, location, submission, matches, scopedContext, isFogOfWar, opts = {}) {\n interruptActiveLoads();\n let navigation = getSubmittingNavigation(location, submission);\n updateState({\n navigation\n }, {\n flushSync: opts.flushSync === true\n });\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(matches, location.pathname, request.signal);\n if (discoverResult.type === \"aborted\") {\n return {\n shortCircuited: true\n };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n return {\n matches: discoverResult.partialMatches,\n pendingActionResult: [boundaryId, {\n type: \"error\" /* error */,\n error: discoverResult.error\n }]\n };\n } else if (!discoverResult.matches) {\n let {\n notFoundMatches,\n error,\n route\n } = handleNavigational404(location.pathname);\n return {\n matches: notFoundMatches,\n pendingActionResult: [route.id, {\n type: \"error\" /* error */,\n error\n }]\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n let result;\n let actionMatch = getTargetMatch(matches, location);\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n result = {\n type: \"error\" /* error */,\n error: getInternalRouterError(405, {\n method: request.method,\n pathname: location.pathname,\n routeId: actionMatch.route.id\n })\n };\n } else {\n let results = await callDataStrategy(\"action\", request, [actionMatch], matches, scopedContext, null);\n result = results[actionMatch.route.id];\n if (!result) {\n for (let match of matches) {\n if (results[match.route.id]) {\n result = results[match.route.id];\n break;\n }\n }\n }\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n }\n if (isRedirectResult(result)) {\n let replace2;\n if (opts && opts.replace != null) {\n replace2 = opts.replace;\n } else {\n let location2 = normalizeRedirectLocation(result.response.headers.get(\"Location\"), new URL(request.url), basename);\n replace2 = location2 === state.location.pathname + state.location.search;\n }\n await startRedirectNavigation(request, result, true, {\n submission,\n replace: replace2\n });\n return {\n shortCircuited: true\n };\n }\n if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(matches, actionMatch.route.id);\n if ((opts && opts.replace) !== true) {\n pendingAction = \"PUSH\" /* Push */;\n }\n return {\n matches,\n pendingActionResult: [boundaryMatch.route.id, result]\n };\n }\n return {\n matches,\n pendingActionResult: [actionMatch.route.id, result]\n };\n }\n async function handleLoaders(request, location, matches, scopedContext, isFogOfWar, overrideNavigation, submission, fetcherSubmission, replace2, initialHydration, flushSync, pendingActionResult) {\n let loadingNavigation = overrideNavigation || getLoadingNavigation(location, submission);\n let activeSubmission = submission || fetcherSubmission || getSubmissionFromNavigation(loadingNavigation);\n let shouldUpdateNavigationState = !isUninterruptedRevalidation && !initialHydration;\n if (isFogOfWar) {\n if (shouldUpdateNavigationState) {\n let actionData = getUpdatedActionData(pendingActionResult);\n updateState({\n navigation: loadingNavigation,\n ...(actionData !== void 0 ? {\n actionData\n } : {})\n }, {\n flushSync\n });\n }\n let discoverResult = await discoverRoutes(matches, location.pathname, request.signal);\n if (discoverResult.type === \"aborted\") {\n return {\n shortCircuited: true\n };\n } else if (discoverResult.type === \"error\") {\n let boundaryId = findNearestBoundary(discoverResult.partialMatches).route.id;\n return {\n matches: discoverResult.partialMatches,\n loaderData: {},\n errors: {\n [boundaryId]: discoverResult.error\n }\n };\n } else if (!discoverResult.matches) {\n let {\n error,\n notFoundMatches,\n route\n } = handleNavigational404(location.pathname);\n return {\n matches: notFoundMatches,\n loaderData: {},\n errors: {\n [route.id]: error\n }\n };\n } else {\n matches = discoverResult.matches;\n }\n }\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, activeSubmission, location, initialHydration === true, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult);\n pendingNavigationLoadId = ++incrementingLoadId;\n if (matchesToLoad.length === 0 && revalidatingFetchers.length === 0) {\n let updatedFetchers2 = markFetchRedirectsDone();\n completeNavigation(location, {\n matches,\n loaderData: {},\n // Commit pending error if we're short circuiting\n errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n [pendingActionResult[0]]: pendingActionResult[1].error\n } : null,\n ...getActionDataForCommit(pendingActionResult),\n ...(updatedFetchers2 ? {\n fetchers: new Map(state.fetchers)\n } : {})\n }, {\n flushSync\n });\n return {\n shortCircuited: true\n };\n }\n if (shouldUpdateNavigationState) {\n let updates = {};\n if (!isFogOfWar) {\n updates.navigation = loadingNavigation;\n let actionData = getUpdatedActionData(pendingActionResult);\n if (actionData !== void 0) {\n updates.actionData = actionData;\n }\n }\n if (revalidatingFetchers.length > 0) {\n updates.fetchers = getUpdatedRevalidatingFetchers(revalidatingFetchers);\n }\n updateState(updates, {\n flushSync\n });\n }\n revalidatingFetchers.forEach(rf => {\n abortFetcher(rf.key);\n if (rf.controller) {\n fetchControllers.set(rf.key, rf.controller);\n }\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(f => abortFetcher(f.key));\n if (pendingNavigationController) {\n pendingNavigationController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n let {\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(matches, matchesToLoad, revalidatingFetchers, request, scopedContext);\n if (request.signal.aborted) {\n return {\n shortCircuited: true\n };\n }\n if (pendingNavigationController) {\n pendingNavigationController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n }\n revalidatingFetchers.forEach(rf => fetchControllers.delete(rf.key));\n let redirect2 = findRedirect(loaderResults);\n if (redirect2) {\n await startRedirectNavigation(request, redirect2.result, true, {\n replace: replace2\n });\n return {\n shortCircuited: true\n };\n }\n redirect2 = findRedirect(fetcherResults);\n if (redirect2) {\n fetchRedirectIds.add(redirect2.key);\n await startRedirectNavigation(request, redirect2.result, true, {\n replace: replace2\n });\n return {\n shortCircuited: true\n };\n }\n let {\n loaderData,\n errors\n } = processLoaderData(state, matches, loaderResults, pendingActionResult, revalidatingFetchers, fetcherResults);\n if (initialHydration && state.errors) {\n errors = {\n ...state.errors,\n ...errors\n };\n }\n let updatedFetchers = markFetchRedirectsDone();\n let didAbortFetchLoads = abortStaleFetchLoads(pendingNavigationLoadId);\n let shouldUpdateFetchers = updatedFetchers || didAbortFetchLoads || revalidatingFetchers.length > 0;\n return {\n matches,\n loaderData,\n errors,\n ...(shouldUpdateFetchers ? {\n fetchers: new Map(state.fetchers)\n } : {})\n };\n }\n function getUpdatedActionData(pendingActionResult) {\n if (pendingActionResult && !isErrorResult(pendingActionResult[1])) {\n return {\n [pendingActionResult[0]]: pendingActionResult[1].data\n };\n } else if (state.actionData) {\n if (Object.keys(state.actionData).length === 0) {\n return null;\n } else {\n return state.actionData;\n }\n }\n }\n function getUpdatedRevalidatingFetchers(revalidatingFetchers) {\n revalidatingFetchers.forEach(rf => {\n let fetcher = state.fetchers.get(rf.key);\n let revalidatingFetcher = getLoadingFetcher(void 0, fetcher ? fetcher.data : void 0);\n state.fetchers.set(rf.key, revalidatingFetcher);\n });\n return new Map(state.fetchers);\n }\n async function fetch2(key, routeId, href2, opts) {\n abortFetcher(key);\n let flushSync = (opts && opts.flushSync) === true;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let normalizedPath = normalizeTo(state.location, state.matches, basename, href2, routeId, opts?.relative);\n let matches = matchRoutes(routesToUse, normalizedPath, basename);\n let fogOfWar = checkFogOfWar(matches, routesToUse, normalizedPath);\n if (fogOfWar.active && fogOfWar.matches) {\n matches = fogOfWar.matches;\n }\n if (!matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: normalizedPath\n }), {\n flushSync\n });\n return;\n }\n let {\n path,\n submission,\n error\n } = normalizeNavigateOptions(true, normalizedPath, opts);\n if (error) {\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return;\n }\n let match = getTargetMatch(matches, path);\n let scopedContext = new unstable_RouterContextProvider(init.unstable_getContext ? await init.unstable_getContext() : void 0);\n let preventScrollReset = (opts && opts.preventScrollReset) === true;\n if (submission && isMutationMethod(submission.formMethod)) {\n await handleFetcherAction(key, routeId, path, match, matches, scopedContext, fogOfWar.active, flushSync, preventScrollReset, submission);\n return;\n }\n fetchLoadMatches.set(key, {\n routeId,\n path\n });\n await handleFetcherLoader(key, routeId, path, match, matches, scopedContext, fogOfWar.active, flushSync, preventScrollReset, submission);\n }\n async function handleFetcherAction(key, routeId, path, match, requestMatches, scopedContext, isFogOfWar, flushSync, preventScrollReset, submission) {\n interruptActiveLoads();\n fetchLoadMatches.delete(key);\n function detectAndHandle405Error(m) {\n if (!m.route.action && !m.route.lazy) {\n let error = getInternalRouterError(405, {\n method: submission.formMethod,\n pathname: path,\n routeId\n });\n setFetcherError(key, routeId, error, {\n flushSync\n });\n return true;\n }\n return false;\n }\n if (!isFogOfWar && detectAndHandle405Error(match)) {\n return;\n }\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getSubmittingFetcher(submission, existingFetcher), {\n flushSync\n });\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal, submission);\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(requestMatches, path, fetchRequest.signal, key);\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, {\n flushSync\n });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: path\n }), {\n flushSync\n });\n return;\n } else {\n requestMatches = discoverResult.matches;\n match = getTargetMatch(requestMatches, path);\n if (detectAndHandle405Error(match)) {\n return;\n }\n }\n }\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let actionResults = await callDataStrategy(\"action\", fetchRequest, [match], requestMatches, scopedContext, key);\n let actionResult = actionResults[match.route.id];\n if (fetchRequest.signal.aborted) {\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n return;\n }\n if (fetchersQueuedForDeletion.has(key)) {\n if (isRedirectResult(actionResult) || isErrorResult(actionResult)) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n }\n } else {\n if (isRedirectResult(actionResult)) {\n fetchControllers.delete(key);\n if (pendingNavigationLoadId > originatingLoadId) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n } else {\n fetchRedirectIds.add(key);\n updateFetcherState(key, getLoadingFetcher(submission));\n return startRedirectNavigation(fetchRequest, actionResult, false, {\n fetcherSubmission: submission,\n preventScrollReset\n });\n }\n }\n if (isErrorResult(actionResult)) {\n setFetcherError(key, routeId, actionResult.error);\n return;\n }\n }\n let nextLocation = state.navigation.location || state.location;\n let revalidationRequest = createClientSideRequest(init.history, nextLocation, abortController.signal);\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let matches = state.navigation.state !== \"idle\" ? matchRoutes(routesToUse, state.navigation.location, basename) : state.matches;\n invariant(matches, \"Didn't find any matches after fetcher action\");\n let loadId = ++incrementingLoadId;\n fetchReloadIds.set(key, loadId);\n let loadFetcher = getLoadingFetcher(submission, actionResult.data);\n state.fetchers.set(key, loadFetcher);\n let [matchesToLoad, revalidatingFetchers] = getMatchesToLoad(init.history, state, matches, submission, nextLocation, false, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, [match.route.id, actionResult]);\n revalidatingFetchers.filter(rf => rf.key !== key).forEach(rf => {\n let staleKey = rf.key;\n let existingFetcher2 = state.fetchers.get(staleKey);\n let revalidatingFetcher = getLoadingFetcher(void 0, existingFetcher2 ? existingFetcher2.data : void 0);\n state.fetchers.set(staleKey, revalidatingFetcher);\n abortFetcher(staleKey);\n if (rf.controller) {\n fetchControllers.set(staleKey, rf.controller);\n }\n });\n updateState({\n fetchers: new Map(state.fetchers)\n });\n let abortPendingFetchRevalidations = () => revalidatingFetchers.forEach(rf => abortFetcher(rf.key));\n abortController.signal.addEventListener(\"abort\", abortPendingFetchRevalidations);\n let {\n loaderResults,\n fetcherResults\n } = await callLoadersAndMaybeResolveData(matches, matchesToLoad, revalidatingFetchers, revalidationRequest, scopedContext);\n if (abortController.signal.aborted) {\n return;\n }\n abortController.signal.removeEventListener(\"abort\", abortPendingFetchRevalidations);\n fetchReloadIds.delete(key);\n fetchControllers.delete(key);\n revalidatingFetchers.forEach(r => fetchControllers.delete(r.key));\n let redirect2 = findRedirect(loaderResults);\n if (redirect2) {\n return startRedirectNavigation(revalidationRequest, redirect2.result, false, {\n preventScrollReset\n });\n }\n redirect2 = findRedirect(fetcherResults);\n if (redirect2) {\n fetchRedirectIds.add(redirect2.key);\n return startRedirectNavigation(revalidationRequest, redirect2.result, false, {\n preventScrollReset\n });\n }\n let {\n loaderData,\n errors\n } = processLoaderData(state, matches, loaderResults, void 0, revalidatingFetchers, fetcherResults);\n if (state.fetchers.has(key)) {\n let doneFetcher = getDoneFetcher(actionResult.data);\n state.fetchers.set(key, doneFetcher);\n }\n abortStaleFetchLoads(loadId);\n if (state.navigation.state === \"loading\" && loadId > pendingNavigationLoadId) {\n invariant(pendingAction, \"Expected pending action\");\n pendingNavigationController && pendingNavigationController.abort();\n completeNavigation(state.navigation.location, {\n matches,\n loaderData,\n errors,\n fetchers: new Map(state.fetchers)\n });\n } else {\n updateState({\n errors,\n loaderData: mergeLoaderData(state.loaderData, loaderData, matches, errors),\n fetchers: new Map(state.fetchers)\n });\n isRevalidationRequired = false;\n }\n }\n async function handleFetcherLoader(key, routeId, path, match, matches, scopedContext, isFogOfWar, flushSync, preventScrollReset, submission) {\n let existingFetcher = state.fetchers.get(key);\n updateFetcherState(key, getLoadingFetcher(submission, existingFetcher ? existingFetcher.data : void 0), {\n flushSync\n });\n let abortController = new AbortController();\n let fetchRequest = createClientSideRequest(init.history, path, abortController.signal);\n if (isFogOfWar) {\n let discoverResult = await discoverRoutes(matches, path, fetchRequest.signal, key);\n if (discoverResult.type === \"aborted\") {\n return;\n } else if (discoverResult.type === \"error\") {\n setFetcherError(key, routeId, discoverResult.error, {\n flushSync\n });\n return;\n } else if (!discoverResult.matches) {\n setFetcherError(key, routeId, getInternalRouterError(404, {\n pathname: path\n }), {\n flushSync\n });\n return;\n } else {\n matches = discoverResult.matches;\n match = getTargetMatch(matches, path);\n }\n }\n fetchControllers.set(key, abortController);\n let originatingLoadId = incrementingLoadId;\n let results = await callDataStrategy(\"loader\", fetchRequest, [match], matches, scopedContext, key);\n let result = results[match.route.id];\n if (fetchControllers.get(key) === abortController) {\n fetchControllers.delete(key);\n }\n if (fetchRequest.signal.aborted) {\n return;\n }\n if (fetchersQueuedForDeletion.has(key)) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n }\n if (isRedirectResult(result)) {\n if (pendingNavigationLoadId > originatingLoadId) {\n updateFetcherState(key, getDoneFetcher(void 0));\n return;\n } else {\n fetchRedirectIds.add(key);\n await startRedirectNavigation(fetchRequest, result, false, {\n preventScrollReset\n });\n return;\n }\n }\n if (isErrorResult(result)) {\n setFetcherError(key, routeId, result.error);\n return;\n }\n updateFetcherState(key, getDoneFetcher(result.data));\n }\n async function startRedirectNavigation(request, redirect2, isNavigation, {\n submission,\n fetcherSubmission,\n preventScrollReset,\n replace: replace2\n } = {}) {\n if (redirect2.response.headers.has(\"X-Remix-Revalidate\")) {\n isRevalidationRequired = true;\n }\n let location = redirect2.response.headers.get(\"Location\");\n invariant(location, \"Expected a Location header on the redirect Response\");\n location = normalizeRedirectLocation(location, new URL(request.url), basename);\n let redirectLocation = createLocation(state.location, location, {\n _isRedirect: true\n });\n if (isBrowser2) {\n let isDocumentReload = false;\n if (redirect2.response.headers.has(\"X-Remix-Reload-Document\")) {\n isDocumentReload = true;\n } else if (ABSOLUTE_URL_REGEX.test(location)) {\n const url = init.history.createURL(location);\n isDocumentReload =\n // Hard reload if it's an absolute URL to a new origin\n url.origin !== routerWindow.location.origin ||\n // Hard reload if it's an absolute URL that does not match our basename\n stripBasename(url.pathname, basename) == null;\n }\n if (isDocumentReload) {\n if (replace2) {\n routerWindow.location.replace(location);\n } else {\n routerWindow.location.assign(location);\n }\n return;\n }\n }\n pendingNavigationController = null;\n let redirectNavigationType = replace2 === true || redirect2.response.headers.has(\"X-Remix-Replace\") ? \"REPLACE\" /* Replace */ : \"PUSH\" /* Push */;\n let {\n formMethod,\n formAction,\n formEncType\n } = state.navigation;\n if (!submission && !fetcherSubmission && formMethod && formAction && formEncType) {\n submission = getSubmissionFromNavigation(state.navigation);\n }\n let activeSubmission = submission || fetcherSubmission;\n if (redirectPreserveMethodStatusCodes.has(redirect2.response.status) && activeSubmission && isMutationMethod(activeSubmission.formMethod)) {\n await startNavigation(redirectNavigationType, redirectLocation, {\n submission: {\n ...activeSubmission,\n formAction: location\n },\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n });\n } else {\n let overrideNavigation = getLoadingNavigation(redirectLocation, submission);\n await startNavigation(redirectNavigationType, redirectLocation, {\n overrideNavigation,\n // Send fetcher submissions through for shouldRevalidate\n fetcherSubmission,\n // Preserve these flags across redirects\n preventScrollReset: preventScrollReset || pendingPreventScrollReset,\n enableViewTransition: isNavigation ? pendingViewTransitionEnabled : void 0\n });\n }\n }\n async function callDataStrategy(type, request, matchesToLoad, matches, scopedContext, fetcherKey) {\n let results;\n let dataResults = {};\n try {\n results = await callDataStrategyImpl(dataStrategyImpl, type, request, matchesToLoad, matches, fetcherKey, manifest, mapRouteProperties2, scopedContext);\n } catch (e) {\n matchesToLoad.forEach(m => {\n dataResults[m.route.id] = {\n type: \"error\" /* error */,\n error: e\n };\n });\n return dataResults;\n }\n for (let [routeId, result] of Object.entries(results)) {\n if (isRedirectDataStrategyResult(result)) {\n let response = result.result;\n dataResults[routeId] = {\n type: \"redirect\" /* redirect */,\n response: normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename)\n };\n } else {\n dataResults[routeId] = await convertDataStrategyResultToDataResult(result);\n }\n }\n return dataResults;\n }\n async function callLoadersAndMaybeResolveData(matches, matchesToLoad, fetchersToLoad, request, scopedContext) {\n let loaderResultsPromise = callDataStrategy(\"loader\", request, matchesToLoad, matches, scopedContext, null);\n let fetcherResultsPromise = Promise.all(fetchersToLoad.map(async f => {\n if (f.matches && f.match && f.controller) {\n let results = await callDataStrategy(\"loader\", createClientSideRequest(init.history, f.path, f.controller.signal), [f.match], f.matches, scopedContext, f.key);\n let result = results[f.match.route.id];\n return {\n [f.key]: result\n };\n } else {\n return Promise.resolve({\n [f.key]: {\n type: \"error\" /* error */,\n error: getInternalRouterError(404, {\n pathname: f.path\n })\n }\n });\n }\n }));\n let loaderResults = await loaderResultsPromise;\n let fetcherResults = (await fetcherResultsPromise).reduce((acc, r) => Object.assign(acc, r), {});\n return {\n loaderResults,\n fetcherResults\n };\n }\n function interruptActiveLoads() {\n isRevalidationRequired = true;\n fetchLoadMatches.forEach((_, key) => {\n if (fetchControllers.has(key)) {\n cancelledFetcherLoads.add(key);\n }\n abortFetcher(key);\n });\n }\n function updateFetcherState(key, fetcher, opts = {}) {\n state.fetchers.set(key, fetcher);\n updateState({\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function setFetcherError(key, routeId, error, opts = {}) {\n let boundaryMatch = findNearestBoundary(state.matches, routeId);\n deleteFetcher(key);\n updateState({\n errors: {\n [boundaryMatch.route.id]: error\n },\n fetchers: new Map(state.fetchers)\n }, {\n flushSync: (opts && opts.flushSync) === true\n });\n }\n function getFetcher(key) {\n activeFetchers.set(key, (activeFetchers.get(key) || 0) + 1);\n if (fetchersQueuedForDeletion.has(key)) {\n fetchersQueuedForDeletion.delete(key);\n }\n return state.fetchers.get(key) || IDLE_FETCHER;\n }\n function deleteFetcher(key) {\n let fetcher = state.fetchers.get(key);\n if (fetchControllers.has(key) && !(fetcher && fetcher.state === \"loading\" && fetchReloadIds.has(key))) {\n abortFetcher(key);\n }\n fetchLoadMatches.delete(key);\n fetchReloadIds.delete(key);\n fetchRedirectIds.delete(key);\n fetchersQueuedForDeletion.delete(key);\n cancelledFetcherLoads.delete(key);\n state.fetchers.delete(key);\n }\n function queueFetcherForDeletion(key) {\n let count = (activeFetchers.get(key) || 0) - 1;\n if (count <= 0) {\n activeFetchers.delete(key);\n fetchersQueuedForDeletion.add(key);\n } else {\n activeFetchers.set(key, count);\n }\n updateState({\n fetchers: new Map(state.fetchers)\n });\n }\n function abortFetcher(key) {\n let controller = fetchControllers.get(key);\n if (controller) {\n controller.abort();\n fetchControllers.delete(key);\n }\n }\n function markFetchersDone(keys) {\n for (let key of keys) {\n let fetcher = getFetcher(key);\n let doneFetcher = getDoneFetcher(fetcher.data);\n state.fetchers.set(key, doneFetcher);\n }\n }\n function markFetchRedirectsDone() {\n let doneKeys = [];\n let updatedFetchers = false;\n for (let key of fetchRedirectIds) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n fetchRedirectIds.delete(key);\n doneKeys.push(key);\n updatedFetchers = true;\n }\n }\n markFetchersDone(doneKeys);\n return updatedFetchers;\n }\n function abortStaleFetchLoads(landedId) {\n let yeetedKeys = [];\n for (let [key, id] of fetchReloadIds) {\n if (id < landedId) {\n let fetcher = state.fetchers.get(key);\n invariant(fetcher, `Expected fetcher: ${key}`);\n if (fetcher.state === \"loading\") {\n abortFetcher(key);\n fetchReloadIds.delete(key);\n yeetedKeys.push(key);\n }\n }\n }\n markFetchersDone(yeetedKeys);\n return yeetedKeys.length > 0;\n }\n function getBlocker(key, fn) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n if (blockerFunctions.get(key) !== fn) {\n blockerFunctions.set(key, fn);\n }\n return blocker;\n }\n function deleteBlocker(key) {\n state.blockers.delete(key);\n blockerFunctions.delete(key);\n }\n function updateBlocker(key, newBlocker) {\n let blocker = state.blockers.get(key) || IDLE_BLOCKER;\n invariant(blocker.state === \"unblocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"blocked\" || blocker.state === \"blocked\" && newBlocker.state === \"proceeding\" || blocker.state === \"blocked\" && newBlocker.state === \"unblocked\" || blocker.state === \"proceeding\" && newBlocker.state === \"unblocked\", `Invalid blocker state transition: ${blocker.state} -> ${newBlocker.state}`);\n let blockers = new Map(state.blockers);\n blockers.set(key, newBlocker);\n updateState({\n blockers\n });\n }\n function shouldBlockNavigation({\n currentLocation,\n nextLocation,\n historyAction\n }) {\n if (blockerFunctions.size === 0) {\n return;\n }\n if (blockerFunctions.size > 1) {\n warning(false, \"A router only supports one blocker at a time\");\n }\n let entries = Array.from(blockerFunctions.entries());\n let [blockerKey, blockerFunction] = entries[entries.length - 1];\n let blocker = state.blockers.get(blockerKey);\n if (blocker && blocker.state === \"proceeding\") {\n return;\n }\n if (blockerFunction({\n currentLocation,\n nextLocation,\n historyAction\n })) {\n return blockerKey;\n }\n }\n function handleNavigational404(pathname) {\n let error = getInternalRouterError(404, {\n pathname\n });\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let {\n matches,\n route\n } = getShortCircuitMatches(routesToUse);\n return {\n notFoundMatches: matches,\n route,\n error\n };\n }\n function enableScrollRestoration(positions, getPosition, getKey) {\n savedScrollPositions2 = positions;\n getScrollPosition = getPosition;\n getScrollRestorationKey2 = getKey || null;\n if (!initialScrollRestored && state.navigation === IDLE_NAVIGATION) {\n initialScrollRestored = true;\n let y = getSavedScrollPosition(state.location, state.matches);\n if (y != null) {\n updateState({\n restoreScrollPosition: y\n });\n }\n }\n return () => {\n savedScrollPositions2 = null;\n getScrollPosition = null;\n getScrollRestorationKey2 = null;\n };\n }\n function getScrollKey(location, matches) {\n if (getScrollRestorationKey2) {\n let key = getScrollRestorationKey2(location, matches.map(m => convertRouteMatchToUiMatch(m, state.loaderData)));\n return key || location.key;\n }\n return location.key;\n }\n function saveScrollPosition(location, matches) {\n if (savedScrollPositions2 && getScrollPosition) {\n let key = getScrollKey(location, matches);\n savedScrollPositions2[key] = getScrollPosition();\n }\n }\n function getSavedScrollPosition(location, matches) {\n if (savedScrollPositions2) {\n let key = getScrollKey(location, matches);\n let y = savedScrollPositions2[key];\n if (typeof y === \"number\") {\n return y;\n }\n }\n return null;\n }\n function checkFogOfWar(matches, routesToUse, pathname) {\n if (init.patchRoutesOnNavigation) {\n if (!matches) {\n let fogMatches = matchRoutesImpl(routesToUse, pathname, basename, true);\n return {\n active: true,\n matches: fogMatches || []\n };\n } else {\n if (Object.keys(matches[0].params).length > 0) {\n let partialMatches = matchRoutesImpl(routesToUse, pathname, basename, true);\n return {\n active: true,\n matches: partialMatches\n };\n }\n }\n }\n return {\n active: false,\n matches: null\n };\n }\n async function discoverRoutes(matches, pathname, signal, fetcherKey) {\n if (!init.patchRoutesOnNavigation) {\n return {\n type: \"success\",\n matches\n };\n }\n let partialMatches = matches;\n while (true) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n let localManifest = manifest;\n try {\n await init.patchRoutesOnNavigation({\n signal,\n path: pathname,\n matches: partialMatches,\n fetcherKey,\n patch: (routeId, children) => {\n if (signal.aborted) return;\n patchRoutesImpl(routeId, children, routesToUse, localManifest, mapRouteProperties2);\n }\n });\n } catch (e) {\n return {\n type: \"error\",\n error: e,\n partialMatches\n };\n } finally {\n if (isNonHMR && !signal.aborted) {\n dataRoutes = [...dataRoutes];\n }\n }\n if (signal.aborted) {\n return {\n type: \"aborted\"\n };\n }\n let newMatches = matchRoutes(routesToUse, pathname, basename);\n if (newMatches) {\n return {\n type: \"success\",\n matches: newMatches\n };\n }\n let newPartialMatches = matchRoutesImpl(routesToUse, pathname, basename, true);\n if (!newPartialMatches || partialMatches.length === newPartialMatches.length && partialMatches.every((m, i) => m.route.id === newPartialMatches[i].route.id)) {\n return {\n type: \"success\",\n matches: null\n };\n }\n partialMatches = newPartialMatches;\n }\n }\n function _internalSetRoutes(newRoutes) {\n manifest = {};\n inFlightDataRoutes = convertRoutesToDataRoutes(newRoutes, mapRouteProperties2, void 0, manifest);\n }\n function patchRoutes(routeId, children) {\n let isNonHMR = inFlightDataRoutes == null;\n let routesToUse = inFlightDataRoutes || dataRoutes;\n patchRoutesImpl(routeId, children, routesToUse, manifest, mapRouteProperties2);\n if (isNonHMR) {\n dataRoutes = [...dataRoutes];\n updateState({});\n }\n }\n router = {\n get basename() {\n return basename;\n },\n get future() {\n return future;\n },\n get state() {\n return state;\n },\n get routes() {\n return dataRoutes;\n },\n get window() {\n return routerWindow;\n },\n initialize,\n subscribe,\n enableScrollRestoration,\n navigate,\n fetch: fetch2,\n revalidate,\n // Passthrough to history-aware createHref used by useHref so we get proper\n // hash-aware URLs in DOM paths\n createHref: to => init.history.createHref(to),\n encodeLocation: to => init.history.encodeLocation(to),\n getFetcher,\n deleteFetcher: queueFetcherForDeletion,\n dispose,\n getBlocker,\n deleteBlocker,\n patchRoutes,\n _internalFetchControllers: fetchControllers,\n // TODO: Remove setRoutes, it's temporary to avoid dealing with\n // updating the tree while validating the update algorithm.\n _internalSetRoutes\n };\n return router;\n}\nfunction createStaticHandler(routes, opts) {\n invariant(routes.length > 0, \"You must provide a non-empty routes array to createStaticHandler\");\n let manifest = {};\n let basename = (opts ? opts.basename : null) || \"/\";\n let mapRouteProperties2 = opts?.mapRouteProperties || defaultMapRouteProperties;\n let dataRoutes = convertRoutesToDataRoutes(routes, mapRouteProperties2, void 0, manifest);\n async function query(request, {\n requestContext,\n filterMatchesToLoad,\n skipLoaderErrorBubbling,\n skipRevalidation,\n dataStrategy,\n unstable_respond: respond\n } = {}) {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n requestContext = requestContext != null ? requestContext : new unstable_RouterContextProvider();\n if (!isValidMethod(method) && method !== \"HEAD\") {\n let error = getInternalRouterError(405, {\n method\n });\n let {\n matches: methodNotAllowedMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n let staticContext = {\n basename,\n location,\n matches: methodNotAllowedMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {}\n };\n return respond ? respond(staticContext) : staticContext;\n } else if (!matches) {\n let error = getInternalRouterError(404, {\n pathname: location.pathname\n });\n let {\n matches: notFoundMatches,\n route\n } = getShortCircuitMatches(dataRoutes);\n let staticContext = {\n basename,\n location,\n matches: notFoundMatches,\n loaderData: {},\n actionData: null,\n errors: {\n [route.id]: error\n },\n statusCode: error.status,\n loaderHeaders: {},\n actionHeaders: {}\n };\n return respond ? respond(staticContext) : staticContext;\n }\n if (respond && matches.some(m => m.route.unstable_middleware || typeof m.route.lazy === \"object\" && m.route.lazy.unstable_middleware)) {\n invariant(requestContext instanceof unstable_RouterContextProvider, \"When using middleware in `staticHandler.query()`, any provided `requestContext` must be an instance of `unstable_RouterContextProvider`\");\n try {\n await loadLazyMiddlewareForMatches(matches, manifest, mapRouteProperties2);\n let renderedStaticContext;\n let response = await runMiddlewarePipeline({\n request,\n matches,\n params: matches[0].params,\n // If we're calling middleware then it must be enabled so we can cast\n // this to the proper type knowing it's not an `AppLoadContext`\n context: requestContext\n }, true, async () => {\n let result2 = await queryImpl(request, location, matches, requestContext, dataStrategy || null, skipLoaderErrorBubbling === true, null, filterMatchesToLoad || null, skipRevalidation === true);\n if (isResponse(result2)) {\n return result2;\n }\n renderedStaticContext = {\n location,\n basename,\n ...result2\n };\n let res = await respond(renderedStaticContext);\n return res;\n }, async (error, routeId) => {\n if (isResponse(error)) {\n return error;\n }\n if (renderedStaticContext) {\n if (routeId in renderedStaticContext.loaderData) {\n renderedStaticContext.loaderData[routeId] = void 0;\n }\n return respond(getStaticContextFromError(dataRoutes, renderedStaticContext, error, findNearestBoundary(matches, routeId).route.id));\n } else {\n let loaderIdx = matches.findIndex(m => m.route.loader);\n let boundary = loaderIdx >= 0 ? findNearestBoundary(matches, matches[loaderIdx].route.id) : findNearestBoundary(matches);\n return respond({\n matches,\n location,\n basename,\n loaderData: {},\n actionData: null,\n errors: {\n [boundary.route.id]: error\n },\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n actionHeaders: {},\n loaderHeaders: {}\n });\n }\n });\n invariant(isResponse(response), \"Expected a response in query()\");\n return response;\n } catch (e) {\n if (isResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n let result = await queryImpl(request, location, matches, requestContext, dataStrategy || null, skipLoaderErrorBubbling === true, null, filterMatchesToLoad || null, skipRevalidation === true);\n if (isResponse(result)) {\n return result;\n }\n return {\n location,\n basename,\n ...result\n };\n }\n async function queryRoute(request, {\n routeId,\n requestContext,\n dataStrategy,\n unstable_respond: respond\n } = {}) {\n let url = new URL(request.url);\n let method = request.method;\n let location = createLocation(\"\", createPath(url), null, \"default\");\n let matches = matchRoutes(dataRoutes, location, basename);\n requestContext = requestContext != null ? requestContext : new unstable_RouterContextProvider();\n if (!isValidMethod(method) && method !== \"HEAD\" && method !== \"OPTIONS\") {\n throw getInternalRouterError(405, {\n method\n });\n } else if (!matches) {\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n let match = routeId ? matches.find(m => m.route.id === routeId) : getTargetMatch(matches, location);\n if (routeId && !match) {\n throw getInternalRouterError(403, {\n pathname: location.pathname,\n routeId\n });\n } else if (!match) {\n throw getInternalRouterError(404, {\n pathname: location.pathname\n });\n }\n if (respond && matches.some(m => m.route.unstable_middleware || typeof m.route.lazy === \"object\" && m.route.lazy.unstable_middleware)) {\n invariant(requestContext instanceof unstable_RouterContextProvider, \"When using middleware in `staticHandler.queryRoute()`, any provided `requestContext` must be an instance of `unstable_RouterContextProvider`\");\n await loadLazyMiddlewareForMatches(matches, manifest, mapRouteProperties2);\n let response = await runMiddlewarePipeline({\n request,\n matches,\n params: matches[0].params,\n // If we're calling middleware then it must be enabled so we can cast\n // this to the proper type knowing it's not an `AppLoadContext`\n context: requestContext\n }, true, async () => {\n let result2 = await queryImpl(request, location, matches, requestContext, dataStrategy || null, false, match, null, false);\n if (isResponse(result2)) {\n return respond(result2);\n }\n let error2 = result2.errors ? Object.values(result2.errors)[0] : void 0;\n if (error2 !== void 0) {\n throw error2;\n }\n let value = result2.actionData ? Object.values(result2.actionData)[0] : Object.values(result2.loaderData)[0];\n return typeof value === \"string\" ? new Response(value) : Response.json(value);\n }, error2 => {\n if (isResponse(error2)) {\n return respond(error2);\n }\n return new Response(String(error2), {\n status: 500,\n statusText: \"Unexpected Server Error\"\n });\n });\n return response;\n }\n let result = await queryImpl(request, location, matches, requestContext, dataStrategy || null, false, match, null, false);\n if (isResponse(result)) {\n return result;\n }\n let error = result.errors ? Object.values(result.errors)[0] : void 0;\n if (error !== void 0) {\n throw error;\n }\n if (result.actionData) {\n return Object.values(result.actionData)[0];\n }\n if (result.loaderData) {\n return Object.values(result.loaderData)[0];\n }\n return void 0;\n }\n async function queryImpl(request, location, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, filterMatchesToLoad, skipRevalidation) {\n invariant(request.signal, \"query()/queryRoute() requests must contain an AbortController signal\");\n try {\n if (isMutationMethod(request.method)) {\n let result2 = await submit(request, matches, routeMatch || getTargetMatch(matches, location), requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch != null, filterMatchesToLoad, skipRevalidation);\n return result2;\n }\n let result = await loadRouteData(request, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, filterMatchesToLoad);\n return isResponse(result) ? result : {\n ...result,\n actionData: null,\n actionHeaders: {}\n };\n } catch (e) {\n if (isDataStrategyResult(e) && isResponse(e.result)) {\n if (e.type === \"error\" /* error */) {\n throw e.result;\n }\n return e.result;\n }\n if (isRedirectResponse(e)) {\n return e;\n }\n throw e;\n }\n }\n async function submit(request, matches, actionMatch, requestContext, dataStrategy, skipLoaderErrorBubbling, isRouteRequest, filterMatchesToLoad, skipRevalidation) {\n let result;\n if (!actionMatch.route.action && !actionMatch.route.lazy) {\n let error = getInternalRouterError(405, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: actionMatch.route.id\n });\n if (isRouteRequest) {\n throw error;\n }\n result = {\n type: \"error\" /* error */,\n error\n };\n } else {\n let results = await callDataStrategy(\"action\", request, [actionMatch], matches, isRouteRequest, requestContext, dataStrategy);\n result = results[actionMatch.route.id];\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest);\n }\n }\n if (isRedirectResult(result)) {\n throw new Response(null, {\n status: result.response.status,\n headers: {\n Location: result.response.headers.get(\"Location\")\n }\n });\n }\n if (isRouteRequest) {\n if (isErrorResult(result)) {\n throw result.error;\n }\n return {\n matches: [actionMatch],\n loaderData: {},\n actionData: {\n [actionMatch.route.id]: result.data\n },\n errors: null,\n // Note: statusCode + headers are unused here since queryRoute will\n // return the raw Response or value\n statusCode: 200,\n loaderHeaders: {},\n actionHeaders: {}\n };\n }\n if (skipRevalidation) {\n if (isErrorResult(result)) {\n let boundaryMatch = skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id);\n return {\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n },\n matches,\n loaderData: {},\n errors: {\n [boundaryMatch.route.id]: result.error\n },\n loaderHeaders: {}\n };\n } else {\n return {\n actionData: {\n [actionMatch.route.id]: result.data\n },\n actionHeaders: result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {},\n matches,\n loaderData: {},\n errors: null,\n statusCode: result.statusCode || 200,\n loaderHeaders: {}\n };\n }\n }\n let loaderRequest = new Request(request.url, {\n headers: request.headers,\n redirect: request.redirect,\n signal: request.signal\n });\n if (isErrorResult(result)) {\n let boundaryMatch = skipLoaderErrorBubbling ? actionMatch : findNearestBoundary(matches, actionMatch.route.id);\n let handlerContext2 = await loadRouteData(loaderRequest, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, null, filterMatchesToLoad, [boundaryMatch.route.id, result]);\n return {\n ...handlerContext2,\n statusCode: isRouteErrorResponse(result.error) ? result.error.status : result.statusCode != null ? result.statusCode : 500,\n actionData: null,\n actionHeaders: {\n ...(result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {})\n }\n };\n }\n let handlerContext = await loadRouteData(loaderRequest, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, null, filterMatchesToLoad);\n return {\n ...handlerContext,\n actionData: {\n [actionMatch.route.id]: result.data\n },\n // action status codes take precedence over loader status codes\n ...(result.statusCode ? {\n statusCode: result.statusCode\n } : {}),\n actionHeaders: result.headers ? {\n [actionMatch.route.id]: result.headers\n } : {}\n };\n }\n async function loadRouteData(request, matches, requestContext, dataStrategy, skipLoaderErrorBubbling, routeMatch, filterMatchesToLoad, pendingActionResult) {\n let isRouteRequest = routeMatch != null;\n if (isRouteRequest && !routeMatch?.route.loader && !routeMatch?.route.lazy) {\n throw getInternalRouterError(400, {\n method: request.method,\n pathname: new URL(request.url).pathname,\n routeId: routeMatch?.route.id\n });\n }\n let requestMatches = routeMatch ? [routeMatch] : pendingActionResult && isErrorResult(pendingActionResult[1]) ? getLoaderMatchesUntilBoundary(matches, pendingActionResult[0]) : matches;\n let matchesToLoad = requestMatches.filter(m => (m.route.loader || m.route.lazy) && (!filterMatchesToLoad || filterMatchesToLoad(m)));\n if (matchesToLoad.length === 0) {\n return {\n matches,\n // Add a null for all matched routes for proper revalidation on the client\n loaderData: matches.reduce((acc, m) => Object.assign(acc, {\n [m.route.id]: null\n }), {}),\n errors: pendingActionResult && isErrorResult(pendingActionResult[1]) ? {\n [pendingActionResult[0]]: pendingActionResult[1].error\n } : null,\n statusCode: 200,\n loaderHeaders: {}\n };\n }\n let results = await callDataStrategy(\"loader\", request, matchesToLoad, matches, isRouteRequest, requestContext, dataStrategy);\n if (request.signal.aborted) {\n throwStaticHandlerAbortedError(request, isRouteRequest);\n }\n let handlerContext = processRouteLoaderData(matches, results, pendingActionResult, true, skipLoaderErrorBubbling);\n let executedLoaders = new Set(matchesToLoad.map(match => match.route.id));\n matches.forEach(match => {\n if (!executedLoaders.has(match.route.id)) {\n handlerContext.loaderData[match.route.id] = null;\n }\n });\n return {\n ...handlerContext,\n matches\n };\n }\n async function callDataStrategy(type, request, matchesToLoad, matches, isRouteRequest, requestContext, dataStrategy) {\n let results = await callDataStrategyImpl(dataStrategy || defaultDataStrategy, type, request, matchesToLoad, matches, null, manifest, mapRouteProperties2, requestContext);\n let dataResults = {};\n await Promise.all(matches.map(async match => {\n if (!(match.route.id in results)) {\n return;\n }\n let result = results[match.route.id];\n if (isRedirectDataStrategyResult(result)) {\n let response = result.result;\n throw normalizeRelativeRoutingRedirectResponse(response, request, match.route.id, matches, basename);\n }\n if (isResponse(result.result) && isRouteRequest) {\n throw result;\n }\n dataResults[match.route.id] = await convertDataStrategyResultToDataResult(result);\n }));\n return dataResults;\n }\n return {\n dataRoutes,\n query,\n queryRoute\n };\n}\nfunction getStaticContextFromError(routes, handlerContext, error, boundaryId) {\n let errorBoundaryId = boundaryId || handlerContext._deepestRenderedBoundaryId || routes[0].id;\n return {\n ...handlerContext,\n statusCode: isRouteErrorResponse(error) ? error.status : 500,\n errors: {\n [errorBoundaryId]: error\n }\n };\n}\nfunction throwStaticHandlerAbortedError(request, isRouteRequest) {\n if (request.signal.reason !== void 0) {\n throw request.signal.reason;\n }\n let method = isRouteRequest ? \"queryRoute\" : \"query\";\n throw new Error(`${method}() call aborted without an \\`AbortSignal.reason\\`: ${request.method} ${request.url}`);\n}\nfunction isSubmissionNavigation(opts) {\n return opts != null && (\"formData\" in opts && opts.formData != null || \"body\" in opts && opts.body !== void 0);\n}\nfunction normalizeTo(location, matches, basename, to, fromRouteId, relative) {\n let contextualMatches;\n let activeRouteMatch;\n if (fromRouteId) {\n contextualMatches = [];\n for (let match of matches) {\n contextualMatches.push(match);\n if (match.route.id === fromRouteId) {\n activeRouteMatch = match;\n break;\n }\n }\n } else {\n contextualMatches = matches;\n activeRouteMatch = matches[matches.length - 1];\n }\n let path = resolveTo(to ? to : \".\", getResolveToMatches(contextualMatches), stripBasename(location.pathname, basename) || location.pathname, relative === \"path\");\n if (to == null) {\n path.search = location.search;\n path.hash = location.hash;\n }\n if ((to == null || to === \"\" || to === \".\") && activeRouteMatch) {\n let nakedIndex = hasNakedIndexQuery(path.search);\n if (activeRouteMatch.route.index && !nakedIndex) {\n path.search = path.search ? path.search.replace(/^\\?/, \"?index&\") : \"?index\";\n } else if (!activeRouteMatch.route.index && nakedIndex) {\n let params = new URLSearchParams(path.search);\n let indexValues = params.getAll(\"index\");\n params.delete(\"index\");\n indexValues.filter(v => v).forEach(v => params.append(\"index\", v));\n let qs = params.toString();\n path.search = qs ? `?${qs}` : \"\";\n }\n }\n if (basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n return createPath(path);\n}\nfunction normalizeNavigateOptions(isFetcher, path, opts) {\n if (!opts || !isSubmissionNavigation(opts)) {\n return {\n path\n };\n }\n if (opts.formMethod && !isValidMethod(opts.formMethod)) {\n return {\n path,\n error: getInternalRouterError(405, {\n method: opts.formMethod\n })\n };\n }\n let getInvalidBodyError = () => ({\n path,\n error: getInternalRouterError(400, {\n type: \"invalid-body\"\n })\n });\n let rawFormMethod = opts.formMethod || \"get\";\n let formMethod = rawFormMethod.toUpperCase();\n let formAction = stripHashFromPath(path);\n if (opts.body !== void 0) {\n if (opts.formEncType === \"text/plain\") {\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n let text = typeof opts.body === \"string\" ? opts.body : opts.body instanceof FormData || opts.body instanceof URLSearchParams ?\n // https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#plain-text-form-data\n Array.from(opts.body.entries()).reduce((acc, [name, value]) => `${acc}${name}=${value}\n`, \"\") : String(opts.body);\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: void 0,\n json: void 0,\n text\n }\n };\n } else if (opts.formEncType === \"application/json\") {\n if (!isMutationMethod(formMethod)) {\n return getInvalidBodyError();\n }\n try {\n let json = typeof opts.body === \"string\" ? JSON.parse(opts.body) : opts.body;\n return {\n path,\n submission: {\n formMethod,\n formAction,\n formEncType: opts.formEncType,\n formData: void 0,\n json,\n text: void 0\n }\n };\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n }\n invariant(typeof FormData === \"function\", \"FormData is not available in this environment\");\n let searchParams;\n let formData;\n if (opts.formData) {\n searchParams = convertFormDataToSearchParams(opts.formData);\n formData = opts.formData;\n } else if (opts.body instanceof FormData) {\n searchParams = convertFormDataToSearchParams(opts.body);\n formData = opts.body;\n } else if (opts.body instanceof URLSearchParams) {\n searchParams = opts.body;\n formData = convertSearchParamsToFormData(searchParams);\n } else if (opts.body == null) {\n searchParams = new URLSearchParams();\n formData = new FormData();\n } else {\n try {\n searchParams = new URLSearchParams(opts.body);\n formData = convertSearchParamsToFormData(searchParams);\n } catch (e) {\n return getInvalidBodyError();\n }\n }\n let submission = {\n formMethod,\n formAction,\n formEncType: opts && opts.formEncType || \"application/x-www-form-urlencoded\",\n formData,\n json: void 0,\n text: void 0\n };\n if (isMutationMethod(submission.formMethod)) {\n return {\n path,\n submission\n };\n }\n let parsedPath = parsePath(path);\n if (isFetcher && parsedPath.search && hasNakedIndexQuery(parsedPath.search)) {\n searchParams.append(\"index\", \"\");\n }\n parsedPath.search = `?${searchParams}`;\n return {\n path: createPath(parsedPath),\n submission\n };\n}\nfunction getLoaderMatchesUntilBoundary(matches, boundaryId, includeBoundary = false) {\n let index = matches.findIndex(m => m.route.id === boundaryId);\n if (index >= 0) {\n return matches.slice(0, includeBoundary ? index + 1 : index);\n }\n return matches;\n}\nfunction getMatchesToLoad(history, state, matches, submission, location, initialHydration, isRevalidationRequired, cancelledFetcherLoads, fetchersQueuedForDeletion, fetchLoadMatches, fetchRedirectIds, routesToUse, basename, pendingActionResult) {\n let actionResult = pendingActionResult ? isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : pendingActionResult[1].data : void 0;\n let currentUrl = history.createURL(state.location);\n let nextUrl = history.createURL(location);\n let boundaryMatches = matches;\n if (initialHydration && state.errors) {\n boundaryMatches = getLoaderMatchesUntilBoundary(matches, Object.keys(state.errors)[0], true);\n } else if (pendingActionResult && isErrorResult(pendingActionResult[1])) {\n boundaryMatches = getLoaderMatchesUntilBoundary(matches, pendingActionResult[0]);\n }\n let actionStatus = pendingActionResult ? pendingActionResult[1].statusCode : void 0;\n let shouldSkipRevalidation = actionStatus && actionStatus >= 400;\n let navigationMatches = boundaryMatches.filter((match, index) => {\n let {\n route\n } = match;\n if (route.lazy) {\n return true;\n }\n if (route.loader == null) {\n return false;\n }\n if (initialHydration) {\n return shouldLoadRouteOnHydration(route, state.loaderData, state.errors);\n }\n if (isNewLoader(state.loaderData, state.matches[index], match)) {\n return true;\n }\n let currentRouteMatch = state.matches[index];\n let nextRouteMatch = match;\n return shouldRevalidateLoader(match, {\n currentUrl,\n currentParams: currentRouteMatch.params,\n nextUrl,\n nextParams: nextRouteMatch.params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation ? false :\n // Forced revalidation due to submission, useRevalidator, or X-Remix-Revalidate\n isRevalidationRequired || currentUrl.pathname + currentUrl.search === nextUrl.pathname + nextUrl.search ||\n // Search params affect all loaders\n currentUrl.search !== nextUrl.search || isNewRouteInstance(currentRouteMatch, nextRouteMatch)\n });\n });\n let revalidatingFetchers = [];\n fetchLoadMatches.forEach((f, key) => {\n if (initialHydration || !matches.some(m => m.route.id === f.routeId) || fetchersQueuedForDeletion.has(key)) {\n return;\n }\n let fetcherMatches = matchRoutes(routesToUse, f.path, basename);\n if (!fetcherMatches) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: null,\n match: null,\n controller: null\n });\n return;\n }\n let fetcher = state.fetchers.get(key);\n let fetcherMatch = getTargetMatch(fetcherMatches, f.path);\n let shouldRevalidate = false;\n if (fetchRedirectIds.has(key)) {\n shouldRevalidate = false;\n } else if (cancelledFetcherLoads.has(key)) {\n cancelledFetcherLoads.delete(key);\n shouldRevalidate = true;\n } else if (fetcher && fetcher.state !== \"idle\" && fetcher.data === void 0) {\n shouldRevalidate = isRevalidationRequired;\n } else {\n shouldRevalidate = shouldRevalidateLoader(fetcherMatch, {\n currentUrl,\n currentParams: state.matches[state.matches.length - 1].params,\n nextUrl,\n nextParams: matches[matches.length - 1].params,\n ...submission,\n actionResult,\n actionStatus,\n defaultShouldRevalidate: shouldSkipRevalidation ? false : isRevalidationRequired\n });\n }\n if (shouldRevalidate) {\n revalidatingFetchers.push({\n key,\n routeId: f.routeId,\n path: f.path,\n matches: fetcherMatches,\n match: fetcherMatch,\n controller: new AbortController()\n });\n }\n });\n return [navigationMatches, revalidatingFetchers];\n}\nfunction shouldLoadRouteOnHydration(route, loaderData, errors) {\n if (route.lazy) {\n return true;\n }\n if (!route.loader) {\n return false;\n }\n let hasData = loaderData != null && loaderData[route.id] !== void 0;\n let hasError = errors != null && errors[route.id] !== void 0;\n if (!hasData && hasError) {\n return false;\n }\n if (typeof route.loader === \"function\" && route.loader.hydrate === true) {\n return true;\n }\n return !hasData && !hasError;\n}\nfunction isNewLoader(currentLoaderData, currentMatch, match) {\n let isNew =\n // [a] -> [a, b]\n !currentMatch ||\n // [a, b] -> [a, c]\n match.route.id !== currentMatch.route.id;\n let isMissingData = !currentLoaderData.hasOwnProperty(match.route.id);\n return isNew || isMissingData;\n}\nfunction isNewRouteInstance(currentMatch, match) {\n let currentPath = currentMatch.route.path;\n return (\n // param change for this match, /users/123 -> /users/456\n currentMatch.pathname !== match.pathname ||\n // splat param changed, which is not present in match.path\n // e.g. /files/images/avatar.jpg -> files/finances.xls\n currentPath != null && currentPath.endsWith(\"*\") && currentMatch.params[\"*\"] !== match.params[\"*\"]\n );\n}\nfunction shouldRevalidateLoader(loaderMatch, arg) {\n if (loaderMatch.route.shouldRevalidate) {\n let routeChoice = loaderMatch.route.shouldRevalidate(arg);\n if (typeof routeChoice === \"boolean\") {\n return routeChoice;\n }\n }\n return arg.defaultShouldRevalidate;\n}\nfunction patchRoutesImpl(routeId, children, routesToUse, manifest, mapRouteProperties2) {\n let childrenToPatch;\n if (routeId) {\n let route = manifest[routeId];\n invariant(route, `No route found to patch children into: routeId = ${routeId}`);\n if (!route.children) {\n route.children = [];\n }\n childrenToPatch = route.children;\n } else {\n childrenToPatch = routesToUse;\n }\n let uniqueChildren = children.filter(newRoute => !childrenToPatch.some(existingRoute => isSameRoute(newRoute, existingRoute)));\n let newRoutes = convertRoutesToDataRoutes(uniqueChildren, mapRouteProperties2, [routeId || \"_\", \"patch\", String(childrenToPatch?.length || \"0\")], manifest);\n childrenToPatch.push(...newRoutes);\n}\nfunction isSameRoute(newRoute, existingRoute) {\n if (\"id\" in newRoute && \"id\" in existingRoute && newRoute.id === existingRoute.id) {\n return true;\n }\n if (!(newRoute.index === existingRoute.index && newRoute.path === existingRoute.path && newRoute.caseSensitive === existingRoute.caseSensitive)) {\n return false;\n }\n if ((!newRoute.children || newRoute.children.length === 0) && (!existingRoute.children || existingRoute.children.length === 0)) {\n return true;\n }\n return newRoute.children.every((aChild, i) => existingRoute.children?.some(bChild => isSameRoute(aChild, bChild)));\n}\nvar lazyRoutePropertyCache = /* @__PURE__ */new WeakMap();\nvar loadLazyRouteProperty = ({\n key,\n route,\n manifest,\n mapRouteProperties: mapRouteProperties2\n}) => {\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n if (!routeToUpdate.lazy || typeof routeToUpdate.lazy !== \"object\") {\n return;\n }\n let lazyFn = routeToUpdate.lazy[key];\n if (!lazyFn) {\n return;\n }\n let cache = lazyRoutePropertyCache.get(routeToUpdate);\n if (!cache) {\n cache = {};\n lazyRoutePropertyCache.set(routeToUpdate, cache);\n }\n let cachedPromise = cache[key];\n if (cachedPromise) {\n return cachedPromise;\n }\n let propertyPromise = (async () => {\n let isUnsupported = isUnsupportedLazyRouteObjectKey(key);\n let staticRouteValue = routeToUpdate[key];\n let isStaticallyDefined = staticRouteValue !== void 0 && key !== \"hasErrorBoundary\";\n if (isUnsupported) {\n warning(!isUnsupported, \"Route property \" + key + \" is not a supported lazy route property. This property will be ignored.\");\n cache[key] = Promise.resolve();\n } else if (isStaticallyDefined) {\n warning(false, `Route \"${routeToUpdate.id}\" has a static property \"${key}\" defined. The lazy property will be ignored.`);\n } else {\n let value = await lazyFn();\n if (value != null) {\n Object.assign(routeToUpdate, {\n [key]: value\n });\n Object.assign(routeToUpdate, mapRouteProperties2(routeToUpdate));\n }\n }\n if (typeof routeToUpdate.lazy === \"object\") {\n routeToUpdate.lazy[key] = void 0;\n if (Object.values(routeToUpdate.lazy).every(value => value === void 0)) {\n routeToUpdate.lazy = void 0;\n }\n }\n })();\n cache[key] = propertyPromise;\n return propertyPromise;\n};\nvar lazyRouteFunctionCache = /* @__PURE__ */new WeakMap();\nfunction loadLazyRoute(route, type, manifest, mapRouteProperties2) {\n let routeToUpdate = manifest[route.id];\n invariant(routeToUpdate, \"No route found in manifest\");\n if (!route.lazy) {\n return {\n lazyRoutePromise: void 0,\n lazyHandlerPromise: void 0\n };\n }\n if (typeof route.lazy === \"function\") {\n let cachedPromise = lazyRouteFunctionCache.get(routeToUpdate);\n if (cachedPromise) {\n return {\n lazyRoutePromise: cachedPromise,\n lazyHandlerPromise: cachedPromise\n };\n }\n let lazyRoutePromise2 = (async () => {\n invariant(typeof route.lazy === \"function\", \"No lazy route function found\");\n let lazyRoute = await route.lazy();\n let routeUpdates = {};\n for (let lazyRouteProperty in lazyRoute) {\n let lazyValue = lazyRoute[lazyRouteProperty];\n if (lazyValue === void 0) {\n continue;\n }\n let isUnsupported = isUnsupportedLazyRouteFunctionKey(lazyRouteProperty);\n let staticRouteValue = routeToUpdate[lazyRouteProperty];\n let isStaticallyDefined = staticRouteValue !== void 0 &&\n // This property isn't static since it should always be updated based\n // on the route updates\n lazyRouteProperty !== \"hasErrorBoundary\";\n if (isUnsupported) {\n warning(!isUnsupported, \"Route property \" + lazyRouteProperty + \" is not a supported property to be returned from a lazy route function. This property will be ignored.\");\n } else if (isStaticallyDefined) {\n warning(!isStaticallyDefined, `Route \"${routeToUpdate.id}\" has a static property \"${lazyRouteProperty}\" defined but its lazy function is also returning a value for this property. The lazy route property \"${lazyRouteProperty}\" will be ignored.`);\n } else {\n routeUpdates[lazyRouteProperty] = lazyValue;\n }\n }\n Object.assign(routeToUpdate, routeUpdates);\n Object.assign(routeToUpdate, {\n // To keep things framework agnostic, we use the provided `mapRouteProperties`\n // function to set the framework-aware properties (`element`/`hasErrorBoundary`)\n // since the logic will differ between frameworks.\n ...mapRouteProperties2(routeToUpdate),\n lazy: void 0\n });\n })();\n lazyRouteFunctionCache.set(routeToUpdate, lazyRoutePromise2);\n return {\n lazyRoutePromise: lazyRoutePromise2,\n lazyHandlerPromise: lazyRoutePromise2\n };\n }\n let lazyKeys = Object.keys(route.lazy);\n let lazyPropertyPromises = [];\n let lazyHandlerPromise = void 0;\n for (let key of lazyKeys) {\n let promise = loadLazyRouteProperty({\n key,\n route,\n manifest,\n mapRouteProperties: mapRouteProperties2\n });\n if (promise) {\n lazyPropertyPromises.push(promise);\n if (key === type) {\n lazyHandlerPromise = promise;\n }\n }\n }\n let lazyRoutePromise = Promise.all(lazyPropertyPromises).then(() => {});\n return {\n lazyRoutePromise,\n lazyHandlerPromise\n };\n}\nfunction isNonNullable(value) {\n return value !== void 0;\n}\nfunction loadLazyMiddlewareForMatches(matches, manifest, mapRouteProperties2) {\n let promises = matches.map(({\n route\n }) => {\n if (typeof route.lazy !== \"object\" || !route.lazy.unstable_middleware) {\n return void 0;\n }\n return loadLazyRouteProperty({\n key: \"unstable_middleware\",\n route,\n manifest,\n mapRouteProperties: mapRouteProperties2\n });\n }).filter(isNonNullable);\n return promises.length > 0 ? Promise.all(promises) : void 0;\n}\nasync function defaultDataStrategy(args) {\n let matchesToLoad = args.matches.filter(m => m.shouldLoad);\n let keyedResults = {};\n let results = await Promise.all(matchesToLoad.map(m => m.resolve()));\n results.forEach((result, i) => {\n keyedResults[matchesToLoad[i].route.id] = result;\n });\n return keyedResults;\n}\nasync function defaultDataStrategyWithMiddleware(args) {\n if (!args.matches.some(m => m.route.unstable_middleware)) {\n return defaultDataStrategy(args);\n }\n return runMiddlewarePipeline(args, false, () => defaultDataStrategy(args), (error, routeId) => ({\n [routeId]: {\n type: \"error\",\n result: error\n }\n }));\n}\nasync function runMiddlewarePipeline(args, propagateResult, handler, errorHandler) {\n let {\n matches,\n request,\n params,\n context\n } = args;\n let middlewareState = {\n handlerResult: void 0\n };\n try {\n let tuples = matches.flatMap(m => m.route.unstable_middleware ? m.route.unstable_middleware.map(fn => [m.route.id, fn]) : []);\n let result = await callRouteMiddleware({\n request,\n params,\n context\n }, tuples, propagateResult, middlewareState, handler);\n return propagateResult ? result : middlewareState.handlerResult;\n } catch (e) {\n if (!middlewareState.middlewareError) {\n throw e;\n }\n let result = await errorHandler(middlewareState.middlewareError.error, middlewareState.middlewareError.routeId);\n if (propagateResult || !middlewareState.handlerResult) {\n return result;\n }\n return Object.assign(middlewareState.handlerResult, result);\n }\n}\nasync function callRouteMiddleware(args, middlewares, propagateResult, middlewareState, handler, idx = 0) {\n let {\n request\n } = args;\n if (request.signal.aborted) {\n if (request.signal.reason) {\n throw request.signal.reason;\n }\n throw new Error(`Request aborted without an \\`AbortSignal.reason\\`: ${request.method} ${request.url}`);\n }\n let tuple = middlewares[idx];\n if (!tuple) {\n middlewareState.handlerResult = await handler();\n return middlewareState.handlerResult;\n }\n let [routeId, middleware] = tuple;\n let nextCalled = false;\n let nextResult = void 0;\n let next = async () => {\n if (nextCalled) {\n throw new Error(\"You may only call `next()` once per middleware\");\n }\n nextCalled = true;\n let result = await callRouteMiddleware(args, middlewares, propagateResult, middlewareState, handler, idx + 1);\n if (propagateResult) {\n nextResult = result;\n return nextResult;\n }\n };\n try {\n let result = await middleware({\n request: args.request,\n params: args.params,\n context: args.context\n }, next);\n if (nextCalled) {\n if (result === void 0) {\n return nextResult;\n } else {\n return result;\n }\n } else {\n return next();\n }\n } catch (error) {\n if (!middlewareState.middlewareError) {\n middlewareState.middlewareError = {\n routeId,\n error\n };\n } else if (middlewareState.middlewareError.error !== error) {\n middlewareState.middlewareError = {\n routeId,\n error\n };\n }\n throw error;\n }\n}\nasync function callDataStrategyImpl(dataStrategyImpl, type, request, matchesToLoad, matches, fetcherKey, manifest, mapRouteProperties2, scopedContext) {\n let loadMiddlewarePromise = loadLazyMiddlewareForMatches(matches, manifest, mapRouteProperties2);\n let lazyRoutePromises = matches.map(m => loadLazyRoute(m.route, type, manifest, mapRouteProperties2));\n if (loadMiddlewarePromise) {\n await loadMiddlewarePromise;\n }\n let dsMatches = matches.map((match, i) => {\n let {\n lazyRoutePromise,\n lazyHandlerPromise\n } = lazyRoutePromises[i];\n let shouldLoad = matchesToLoad.some(m => m.route.id === match.route.id);\n let resolve = async handlerOverride => {\n if (handlerOverride && request.method === \"GET\" && (match.route.lazy || match.route.loader)) {\n shouldLoad = true;\n }\n return shouldLoad ? callLoaderOrAction({\n type,\n request,\n match,\n lazyHandlerPromise,\n lazyRoutePromise,\n handlerOverride,\n scopedContext\n }) : Promise.resolve({\n type: \"data\" /* data */,\n result: void 0\n });\n };\n return {\n ...match,\n shouldLoad,\n resolve\n };\n });\n let results = await dataStrategyImpl({\n matches: dsMatches,\n request,\n params: matches[0].params,\n fetcherKey,\n context: scopedContext\n });\n let allLazyRoutePromises = lazyRoutePromises.flatMap(promiseMap => Object.values(promiseMap).filter(isNonNullable));\n try {\n await Promise.all(allLazyRoutePromises);\n } catch (e) {}\n return results;\n}\nasync function callLoaderOrAction({\n type,\n request,\n match,\n lazyHandlerPromise,\n lazyRoutePromise,\n handlerOverride,\n scopedContext\n}) {\n let result;\n let onReject;\n let runHandler = handler => {\n let reject;\n let abortPromise = new Promise((_, r) => reject = r);\n onReject = () => reject();\n request.signal.addEventListener(\"abort\", onReject);\n let actualHandler = ctx => {\n if (typeof handler !== \"function\") {\n return Promise.reject(new Error(`You cannot call the handler for a route which defines a boolean \"${type}\" [routeId: ${match.route.id}]`));\n }\n return handler({\n request,\n params: match.params,\n context: scopedContext\n }, ...(ctx !== void 0 ? [ctx] : []));\n };\n let handlerPromise = (async () => {\n try {\n let val = await (handlerOverride ? handlerOverride(ctx => actualHandler(ctx)) : actualHandler());\n return {\n type: \"data\",\n result: val\n };\n } catch (e) {\n return {\n type: \"error\",\n result: e\n };\n }\n })();\n return Promise.race([handlerPromise, abortPromise]);\n };\n try {\n let handler = match.route[type];\n if (lazyHandlerPromise || lazyRoutePromise) {\n if (handler) {\n let handlerError;\n let [value] = await Promise.all([\n // If the handler throws, don't let it immediately bubble out,\n // since we need to let the lazy() execution finish so we know if this\n // route has a boundary that can handle the error\n runHandler(handler).catch(e => {\n handlerError = e;\n }),\n // Ensure all lazy route promises are resolved before continuing\n lazyHandlerPromise, lazyRoutePromise]);\n if (handlerError !== void 0) {\n throw handlerError;\n }\n result = value;\n } else {\n await lazyHandlerPromise;\n handler = match.route[type];\n if (handler) {\n [result] = await Promise.all([runHandler(handler), lazyRoutePromise]);\n } else if (type === \"action\") {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(405, {\n method: request.method,\n pathname,\n routeId: match.route.id\n });\n } else {\n return {\n type: \"data\" /* data */,\n result: void 0\n };\n }\n }\n } else if (!handler) {\n let url = new URL(request.url);\n let pathname = url.pathname + url.search;\n throw getInternalRouterError(404, {\n pathname\n });\n } else {\n result = await runHandler(handler);\n }\n } catch (e) {\n return {\n type: \"error\" /* error */,\n result: e\n };\n } finally {\n if (onReject) {\n request.signal.removeEventListener(\"abort\", onReject);\n }\n }\n return result;\n}\nasync function convertDataStrategyResultToDataResult(dataStrategyResult) {\n let {\n result,\n type\n } = dataStrategyResult;\n if (isResponse(result)) {\n let data2;\n try {\n let contentType = result.headers.get(\"Content-Type\");\n if (contentType && /\\bapplication\\/json\\b/.test(contentType)) {\n if (result.body == null) {\n data2 = null;\n } else {\n data2 = await result.json();\n }\n } else {\n data2 = await result.text();\n }\n } catch (e) {\n return {\n type: \"error\" /* error */,\n error: e\n };\n }\n if (type === \"error\" /* error */) {\n return {\n type: \"error\" /* error */,\n error: new ErrorResponseImpl(result.status, result.statusText, data2),\n statusCode: result.status,\n headers: result.headers\n };\n }\n return {\n type: \"data\" /* data */,\n data: data2,\n statusCode: result.status,\n headers: result.headers\n };\n }\n if (type === \"error\" /* error */) {\n if (isDataWithResponseInit(result)) {\n if (result.data instanceof Error) {\n return {\n type: \"error\" /* error */,\n error: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers ? new Headers(result.init.headers) : void 0\n };\n }\n return {\n type: \"error\" /* error */,\n error: new ErrorResponseImpl(result.init?.status || 500, void 0, result.data),\n statusCode: isRouteErrorResponse(result) ? result.status : void 0,\n headers: result.init?.headers ? new Headers(result.init.headers) : void 0\n };\n }\n return {\n type: \"error\" /* error */,\n error: result,\n statusCode: isRouteErrorResponse(result) ? result.status : void 0\n };\n }\n if (isDataWithResponseInit(result)) {\n return {\n type: \"data\" /* data */,\n data: result.data,\n statusCode: result.init?.status,\n headers: result.init?.headers ? new Headers(result.init.headers) : void 0\n };\n }\n return {\n type: \"data\" /* data */,\n data: result\n };\n}\nfunction normalizeRelativeRoutingRedirectResponse(response, request, routeId, matches, basename) {\n let location = response.headers.get(\"Location\");\n invariant(location, \"Redirects returned/thrown from loaders/actions must have a Location header\");\n if (!ABSOLUTE_URL_REGEX.test(location)) {\n let trimmedMatches = matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1);\n location = normalizeTo(new URL(request.url), trimmedMatches, basename, location);\n response.headers.set(\"Location\", location);\n }\n return response;\n}\nfunction normalizeRedirectLocation(location, currentUrl, basename) {\n if (ABSOLUTE_URL_REGEX.test(location)) {\n let normalizedLocation = location;\n let url = normalizedLocation.startsWith(\"//\") ? new URL(currentUrl.protocol + normalizedLocation) : new URL(normalizedLocation);\n let isSameBasename = stripBasename(url.pathname, basename) != null;\n if (url.origin === currentUrl.origin && isSameBasename) {\n return url.pathname + url.search + url.hash;\n }\n }\n return location;\n}\nfunction createClientSideRequest(history, location, signal, submission) {\n let url = history.createURL(stripHashFromPath(location)).toString();\n let init = {\n signal\n };\n if (submission && isMutationMethod(submission.formMethod)) {\n let {\n formMethod,\n formEncType\n } = submission;\n init.method = formMethod.toUpperCase();\n if (formEncType === \"application/json\") {\n init.headers = new Headers({\n \"Content-Type\": formEncType\n });\n init.body = JSON.stringify(submission.json);\n } else if (formEncType === \"text/plain\") {\n init.body = submission.text;\n } else if (formEncType === \"application/x-www-form-urlencoded\" && submission.formData) {\n init.body = convertFormDataToSearchParams(submission.formData);\n } else {\n init.body = submission.formData;\n }\n }\n return new Request(url, init);\n}\nfunction convertFormDataToSearchParams(formData) {\n let searchParams = new URLSearchParams();\n for (let [key, value] of formData.entries()) {\n searchParams.append(key, typeof value === \"string\" ? value : value.name);\n }\n return searchParams;\n}\nfunction convertSearchParamsToFormData(searchParams) {\n let formData = new FormData();\n for (let [key, value] of searchParams.entries()) {\n formData.append(key, value);\n }\n return formData;\n}\nfunction processRouteLoaderData(matches, results, pendingActionResult, isStaticHandler = false, skipLoaderErrorBubbling = false) {\n let loaderData = {};\n let errors = null;\n let statusCode;\n let foundError = false;\n let loaderHeaders = {};\n let pendingError = pendingActionResult && isErrorResult(pendingActionResult[1]) ? pendingActionResult[1].error : void 0;\n matches.forEach(match => {\n if (!(match.route.id in results)) {\n return;\n }\n let id = match.route.id;\n let result = results[id];\n invariant(!isRedirectResult(result), \"Cannot handle redirect results in processLoaderData\");\n if (isErrorResult(result)) {\n let error = result.error;\n if (pendingError !== void 0) {\n error = pendingError;\n pendingError = void 0;\n }\n errors = errors || {};\n if (skipLoaderErrorBubbling) {\n errors[id] = error;\n } else {\n let boundaryMatch = findNearestBoundary(matches, id);\n if (errors[boundaryMatch.route.id] == null) {\n errors[boundaryMatch.route.id] = error;\n }\n }\n if (!isStaticHandler) {\n loaderData[id] = ResetLoaderDataSymbol;\n }\n if (!foundError) {\n foundError = true;\n statusCode = isRouteErrorResponse(result.error) ? result.error.status : 500;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n } else {\n loaderData[id] = result.data;\n if (result.statusCode && result.statusCode !== 200 && !foundError) {\n statusCode = result.statusCode;\n }\n if (result.headers) {\n loaderHeaders[id] = result.headers;\n }\n }\n });\n if (pendingError !== void 0 && pendingActionResult) {\n errors = {\n [pendingActionResult[0]]: pendingError\n };\n loaderData[pendingActionResult[0]] = void 0;\n }\n return {\n loaderData,\n errors,\n statusCode: statusCode || 200,\n loaderHeaders\n };\n}\nfunction processLoaderData(state, matches, results, pendingActionResult, revalidatingFetchers, fetcherResults) {\n let {\n loaderData,\n errors\n } = processRouteLoaderData(matches, results, pendingActionResult);\n revalidatingFetchers.forEach(rf => {\n let {\n key,\n match,\n controller\n } = rf;\n let result = fetcherResults[key];\n invariant(result, \"Did not find corresponding fetcher result\");\n if (controller && controller.signal.aborted) {\n return;\n } else if (isErrorResult(result)) {\n let boundaryMatch = findNearestBoundary(state.matches, match?.route.id);\n if (!(errors && errors[boundaryMatch.route.id])) {\n errors = {\n ...errors,\n [boundaryMatch.route.id]: result.error\n };\n }\n state.fetchers.delete(key);\n } else if (isRedirectResult(result)) {\n invariant(false, \"Unhandled fetcher revalidation redirect\");\n } else {\n let doneFetcher = getDoneFetcher(result.data);\n state.fetchers.set(key, doneFetcher);\n }\n });\n return {\n loaderData,\n errors\n };\n}\nfunction mergeLoaderData(loaderData, newLoaderData, matches, errors) {\n let mergedLoaderData = Object.entries(newLoaderData).filter(([, v]) => v !== ResetLoaderDataSymbol).reduce((merged, [k, v]) => {\n merged[k] = v;\n return merged;\n }, {});\n for (let match of matches) {\n let id = match.route.id;\n if (!newLoaderData.hasOwnProperty(id) && loaderData.hasOwnProperty(id) && match.route.loader) {\n mergedLoaderData[id] = loaderData[id];\n }\n if (errors && errors.hasOwnProperty(id)) {\n break;\n }\n }\n return mergedLoaderData;\n}\nfunction getActionDataForCommit(pendingActionResult) {\n if (!pendingActionResult) {\n return {};\n }\n return isErrorResult(pendingActionResult[1]) ? {\n // Clear out prior actionData on errors\n actionData: {}\n } : {\n actionData: {\n [pendingActionResult[0]]: pendingActionResult[1].data\n }\n };\n}\nfunction findNearestBoundary(matches, routeId) {\n let eligibleMatches = routeId ? matches.slice(0, matches.findIndex(m => m.route.id === routeId) + 1) : [...matches];\n return eligibleMatches.reverse().find(m => m.route.hasErrorBoundary === true) || matches[0];\n}\nfunction getShortCircuitMatches(routes) {\n let route = routes.length === 1 ? routes[0] : routes.find(r => r.index || !r.path || r.path === \"/\") || {\n id: `__shim-error-route__`\n };\n return {\n matches: [{\n params: {},\n pathname: \"\",\n pathnameBase: \"\",\n route\n }],\n route\n };\n}\nfunction getInternalRouterError(status, {\n pathname,\n routeId,\n method,\n type,\n message\n} = {}) {\n let statusText = \"Unknown Server Error\";\n let errorMessage = \"Unknown @remix-run/router error\";\n if (status === 400) {\n statusText = \"Bad Request\";\n if (method && pathname && routeId) {\n errorMessage = `You made a ${method} request to \"${pathname}\" but did not provide a \\`loader\\` for route \"${routeId}\", so there is no way to handle the request.`;\n } else if (type === \"invalid-body\") {\n errorMessage = \"Unable to encode submission body\";\n }\n } else if (status === 403) {\n statusText = \"Forbidden\";\n errorMessage = `Route \"${routeId}\" does not match URL \"${pathname}\"`;\n } else if (status === 404) {\n statusText = \"Not Found\";\n errorMessage = `No route matches URL \"${pathname}\"`;\n } else if (status === 405) {\n statusText = \"Method Not Allowed\";\n if (method && pathname && routeId) {\n errorMessage = `You made a ${method.toUpperCase()} request to \"${pathname}\" but did not provide an \\`action\\` for route \"${routeId}\", so there is no way to handle the request.`;\n } else if (method) {\n errorMessage = `Invalid request method \"${method.toUpperCase()}\"`;\n }\n }\n return new ErrorResponseImpl(status || 500, statusText, new Error(errorMessage), true);\n}\nfunction findRedirect(results) {\n let entries = Object.entries(results);\n for (let i = entries.length - 1; i >= 0; i--) {\n let [key, result] = entries[i];\n if (isRedirectResult(result)) {\n return {\n key,\n result\n };\n }\n }\n}\nfunction stripHashFromPath(path) {\n let parsedPath = typeof path === \"string\" ? parsePath(path) : path;\n return createPath({\n ...parsedPath,\n hash: \"\"\n });\n}\nfunction isHashChangeOnly(a, b) {\n if (a.pathname !== b.pathname || a.search !== b.search) {\n return false;\n }\n if (a.hash === \"\") {\n return b.hash !== \"\";\n } else if (a.hash === b.hash) {\n return true;\n } else if (b.hash !== \"\") {\n return true;\n }\n return false;\n}\nfunction isDataStrategyResult(result) {\n return result != null && typeof result === \"object\" && \"type\" in result && \"result\" in result && (result.type === \"data\" /* data */ || result.type === \"error\" /* error */);\n}\nfunction isRedirectDataStrategyResult(result) {\n return isResponse(result.result) && redirectStatusCodes.has(result.result.status);\n}\nfunction isErrorResult(result) {\n return result.type === \"error\" /* error */;\n}\nfunction isRedirectResult(result) {\n return (result && result.type) === \"redirect\" /* redirect */;\n}\nfunction isDataWithResponseInit(value) {\n return typeof value === \"object\" && value != null && \"type\" in value && \"data\" in value && \"init\" in value && value.type === \"DataWithResponseInit\";\n}\nfunction isResponse(value) {\n return value != null && typeof value.status === \"number\" && typeof value.statusText === \"string\" && typeof value.headers === \"object\" && typeof value.body !== \"undefined\";\n}\nfunction isRedirectStatusCode(statusCode) {\n return redirectStatusCodes.has(statusCode);\n}\nfunction isRedirectResponse(result) {\n return isResponse(result) && isRedirectStatusCode(result.status) && result.headers.has(\"Location\");\n}\nfunction isValidMethod(method) {\n return validRequestMethods.has(method.toUpperCase());\n}\nfunction isMutationMethod(method) {\n return validMutationMethods.has(method.toUpperCase());\n}\nfunction hasNakedIndexQuery(search) {\n return new URLSearchParams(search).getAll(\"index\").some(v => v === \"\");\n}\nfunction getTargetMatch(matches, location) {\n let search = typeof location === \"string\" ? parsePath(location).search : location.search;\n if (matches[matches.length - 1].route.index && hasNakedIndexQuery(search || \"\")) {\n return matches[matches.length - 1];\n }\n let pathMatches = getPathContributingMatches(matches);\n return pathMatches[pathMatches.length - 1];\n}\nfunction getSubmissionFromNavigation(navigation) {\n let {\n formMethod,\n formAction,\n formEncType,\n text,\n formData,\n json\n } = navigation;\n if (!formMethod || !formAction || !formEncType) {\n return;\n }\n if (text != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: void 0,\n json: void 0,\n text\n };\n } else if (formData != null) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData,\n json: void 0,\n text: void 0\n };\n } else if (json !== void 0) {\n return {\n formMethod,\n formAction,\n formEncType,\n formData: void 0,\n json,\n text: void 0\n };\n }\n}\nfunction getLoadingNavigation(location, submission) {\n if (submission) {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n } else {\n let navigation = {\n state: \"loading\",\n location,\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0\n };\n return navigation;\n }\n}\nfunction getSubmittingNavigation(location, submission) {\n let navigation = {\n state: \"submitting\",\n location,\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text\n };\n return navigation;\n}\nfunction getLoadingFetcher(submission, data2) {\n if (submission) {\n let fetcher = {\n state: \"loading\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: data2\n };\n return fetcher;\n } else {\n let fetcher = {\n state: \"loading\",\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0,\n data: data2\n };\n return fetcher;\n }\n}\nfunction getSubmittingFetcher(submission, existingFetcher) {\n let fetcher = {\n state: \"submitting\",\n formMethod: submission.formMethod,\n formAction: submission.formAction,\n formEncType: submission.formEncType,\n formData: submission.formData,\n json: submission.json,\n text: submission.text,\n data: existingFetcher ? existingFetcher.data : void 0\n };\n return fetcher;\n}\nfunction getDoneFetcher(data2) {\n let fetcher = {\n state: \"idle\",\n formMethod: void 0,\n formAction: void 0,\n formEncType: void 0,\n formData: void 0,\n json: void 0,\n text: void 0,\n data: data2\n };\n return fetcher;\n}\nfunction restoreAppliedTransitions(_window, transitions) {\n try {\n let sessionPositions = _window.sessionStorage.getItem(TRANSITIONS_STORAGE_KEY);\n if (sessionPositions) {\n let json = JSON.parse(sessionPositions);\n for (let [k, v] of Object.entries(json || {})) {\n if (v && Array.isArray(v)) {\n transitions.set(k, new Set(v || []));\n }\n }\n }\n } catch (e) {}\n}\nfunction persistAppliedTransitions(_window, transitions) {\n if (transitions.size > 0) {\n let json = {};\n for (let [k, v] of transitions) {\n json[k] = [...v];\n }\n try {\n _window.sessionStorage.setItem(TRANSITIONS_STORAGE_KEY, JSON.stringify(json));\n } catch (error) {\n warning(false, `Failed to save applied view transitions in sessionStorage (${error}).`);\n }\n }\n}\nfunction createDeferred() {\n let resolve;\n let reject;\n let promise = new Promise((res, rej) => {\n resolve = async val => {\n res(val);\n try {\n await promise;\n } catch (e) {}\n };\n reject = async error => {\n rej(error);\n try {\n await promise;\n } catch (e) {}\n };\n });\n return {\n promise,\n //@ts-ignore\n resolve,\n //@ts-ignore\n reject\n };\n}\n\n// lib/components.tsx\nimport * as React3 from \"react\";\n\n// lib/context.ts\nimport * as React from \"react\";\nvar DataRouterContext = React.createContext(null);\nDataRouterContext.displayName = \"DataRouter\";\nvar DataRouterStateContext = React.createContext(null);\nDataRouterStateContext.displayName = \"DataRouterState\";\nvar ViewTransitionContext = React.createContext({\n isTransitioning: false\n});\nViewTransitionContext.displayName = \"ViewTransition\";\nvar FetchersContext = React.createContext(/* @__PURE__ */new Map());\nFetchersContext.displayName = \"Fetchers\";\nvar AwaitContext = React.createContext(null);\nAwaitContext.displayName = \"Await\";\nvar NavigationContext = React.createContext(null);\nNavigationContext.displayName = \"Navigation\";\nvar LocationContext = React.createContext(null);\nLocationContext.displayName = \"Location\";\nvar RouteContext = React.createContext({\n outlet: null,\n matches: [],\n isDataRoute: false\n});\nRouteContext.displayName = \"Route\";\nvar RouteErrorContext = React.createContext(null);\nRouteErrorContext.displayName = \"RouteError\";\n\n// lib/hooks.tsx\nimport * as React2 from \"react\";\nvar ENABLE_DEV_WARNINGS = true;\nfunction useHref(to, {\n relative\n} = {}) {\n invariant(useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useHref() may be used only in the context of a component.`);\n let {\n basename,\n navigator: navigator2\n } = React2.useContext(NavigationContext);\n let {\n hash,\n pathname,\n search\n } = useResolvedPath(to, {\n relative\n });\n let joinedPathname = pathname;\n if (basename !== \"/\") {\n joinedPathname = pathname === \"/\" ? basename : joinPaths([basename, pathname]);\n }\n return navigator2.createHref({\n pathname: joinedPathname,\n search,\n hash\n });\n}\nfunction useInRouterContext() {\n return React2.useContext(LocationContext) != null;\n}\nfunction useLocation() {\n invariant(useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useLocation() may be used only in the context of a component.`);\n return React2.useContext(LocationContext).location;\n}\nfunction useNavigationType() {\n return React2.useContext(LocationContext).navigationType;\n}\nfunction useMatch(pattern) {\n invariant(useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useMatch() may be used only in the context of a component.`);\n let {\n pathname\n } = useLocation();\n return React2.useMemo(() => matchPath(pattern, decodePath(pathname)), [pathname, pattern]);\n}\nvar navigateEffectWarning = `You should call navigate() in a React.useEffect(), not when your component is first rendered.`;\nfunction useIsomorphicLayoutEffect(cb) {\n let isStatic = React2.useContext(NavigationContext).static;\n if (!isStatic) {\n React2.useLayoutEffect(cb);\n }\n}\nfunction useNavigate() {\n let {\n isDataRoute\n } = React2.useContext(RouteContext);\n return isDataRoute ? useNavigateStable() : useNavigateUnstable();\n}\nfunction useNavigateUnstable() {\n invariant(useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useNavigate() may be used only in the context of a component.`);\n let dataRouterContext = React2.useContext(DataRouterContext);\n let {\n basename,\n navigator: navigator2\n } = React2.useContext(NavigationContext);\n let {\n matches\n } = React2.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n let activeRef = React2.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React2.useCallback((to, options = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n navigator2.go(to);\n return;\n }\n let path = resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, options.relative === \"path\");\n if (dataRouterContext == null && basename !== \"/\") {\n path.pathname = path.pathname === \"/\" ? basename : joinPaths([basename, path.pathname]);\n }\n (!!options.replace ? navigator2.replace : navigator2.push)(path, options.state, options);\n }, [basename, navigator2, routePathnamesJson, locationPathname, dataRouterContext]);\n return navigate;\n}\nvar OutletContext = React2.createContext(null);\nfunction useOutletContext() {\n return React2.useContext(OutletContext);\n}\nfunction useOutlet(context) {\n let outlet = React2.useContext(RouteContext).outlet;\n if (outlet) {\n return /* @__PURE__ */React2.createElement(OutletContext.Provider, {\n value: context\n }, outlet);\n }\n return outlet;\n}\nfunction useParams() {\n let {\n matches\n } = React2.useContext(RouteContext);\n let routeMatch = matches[matches.length - 1];\n return routeMatch ? routeMatch.params : {};\n}\nfunction useResolvedPath(to, {\n relative\n} = {}) {\n let {\n matches\n } = React2.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let routePathnamesJson = JSON.stringify(getResolveToMatches(matches));\n return React2.useMemo(() => resolveTo(to, JSON.parse(routePathnamesJson), locationPathname, relative === \"path\"), [to, routePathnamesJson, locationPathname, relative]);\n}\nfunction useRoutes(routes, locationArg) {\n return useRoutesImpl(routes, locationArg);\n}\nfunction useRoutesImpl(routes, locationArg, dataRouterState, future) {\n invariant(useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of the\n // router loaded. We can help them understand how to avoid that.\n `useRoutes() may be used only in the context of a component.`);\n let {\n navigator: navigator2,\n static: isStatic\n } = React2.useContext(NavigationContext);\n let {\n matches: parentMatches\n } = React2.useContext(RouteContext);\n let routeMatch = parentMatches[parentMatches.length - 1];\n let parentParams = routeMatch ? routeMatch.params : {};\n let parentPathname = routeMatch ? routeMatch.pathname : \"/\";\n let parentPathnameBase = routeMatch ? routeMatch.pathnameBase : \"/\";\n let parentRoute = routeMatch && routeMatch.route;\n if (ENABLE_DEV_WARNINGS) {\n let parentPath = parentRoute && parentRoute.path || \"\";\n warningOnce(parentPathname, !parentRoute || parentPath.endsWith(\"*\") || parentPath.endsWith(\"*?\"), `You rendered descendant (or called \\`useRoutes()\\`) at \"${parentPathname}\" (under ) but the parent route path has no trailing \"*\". This means if you navigate deeper, the parent won't match anymore and therefore the child routes will never render.\n\nPlease change the parent to .`);\n }\n let locationFromContext = useLocation();\n let location;\n if (locationArg) {\n let parsedLocationArg = typeof locationArg === \"string\" ? parsePath(locationArg) : locationArg;\n invariant(parentPathnameBase === \"/\" || parsedLocationArg.pathname?.startsWith(parentPathnameBase), `When overriding the location using \\`\\` or \\`useRoutes(routes, location)\\`, the location pathname must begin with the portion of the URL pathname that was matched by all parent routes. The current pathname base is \"${parentPathnameBase}\" but pathname \"${parsedLocationArg.pathname}\" was given in the \\`location\\` prop.`);\n location = parsedLocationArg;\n } else {\n location = locationFromContext;\n }\n let pathname = location.pathname || \"/\";\n let remainingPathname = pathname;\n if (parentPathnameBase !== \"/\") {\n let parentSegments = parentPathnameBase.replace(/^\\//, \"\").split(\"/\");\n let segments = pathname.replace(/^\\//, \"\").split(\"/\");\n remainingPathname = \"/\" + segments.slice(parentSegments.length).join(\"/\");\n }\n let matches = !isStatic && dataRouterState && dataRouterState.matches && dataRouterState.matches.length > 0 ? dataRouterState.matches : matchRoutes(routes, {\n pathname: remainingPathname\n });\n if (ENABLE_DEV_WARNINGS) {\n warning(parentRoute || matches != null, `No routes matched location \"${location.pathname}${location.search}${location.hash}\" `);\n warning(matches == null || matches[matches.length - 1].route.element !== void 0 || matches[matches.length - 1].route.Component !== void 0 || matches[matches.length - 1].route.lazy !== void 0, `Matched leaf route at location \"${location.pathname}${location.search}${location.hash}\" does not have an element or Component. This means it will render an with a null value by default resulting in an \"empty\" page.`);\n }\n let renderedMatches = _renderMatches(matches && matches.map(match => Object.assign({}, match, {\n params: Object.assign({}, parentParams, match.params),\n pathname: joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator2.encodeLocation ? navigator2.encodeLocation(match.pathname).pathname : match.pathname]),\n pathnameBase: match.pathnameBase === \"/\" ? parentPathnameBase : joinPaths([parentPathnameBase,\n // Re-encode pathnames that were decoded inside matchRoutes\n navigator2.encodeLocation ? navigator2.encodeLocation(match.pathnameBase).pathname : match.pathnameBase])\n })), parentMatches, dataRouterState, future);\n if (locationArg && renderedMatches) {\n return /* @__PURE__ */React2.createElement(LocationContext.Provider, {\n value: {\n location: {\n pathname: \"/\",\n search: \"\",\n hash: \"\",\n state: null,\n key: \"default\",\n ...location\n },\n navigationType: \"POP\" /* Pop */\n }\n }, renderedMatches);\n }\n return renderedMatches;\n}\nfunction DefaultErrorComponent() {\n let error = useRouteError();\n let message = isRouteErrorResponse(error) ? `${error.status} ${error.statusText}` : error instanceof Error ? error.message : JSON.stringify(error);\n let stack = error instanceof Error ? error.stack : null;\n let lightgrey = \"rgba(200,200,200, 0.5)\";\n let preStyles = {\n padding: \"0.5rem\",\n backgroundColor: lightgrey\n };\n let codeStyles = {\n padding: \"2px 4px\",\n backgroundColor: lightgrey\n };\n let devInfo = null;\n if (ENABLE_DEV_WARNINGS) {\n console.error(\"Error handled by React Router default ErrorBoundary:\", error);\n devInfo = /* @__PURE__ */React2.createElement(React2.Fragment, null, /* @__PURE__ */React2.createElement(\"p\", null, \"\\u{1F4BF} Hey developer \\u{1F44B}\"), /* @__PURE__ */React2.createElement(\"p\", null, \"You can provide a way better UX than this when your app throws errors by providing your own \", /* @__PURE__ */React2.createElement(\"code\", {\n style: codeStyles\n }, \"ErrorBoundary\"), \" or\", \" \", /* @__PURE__ */React2.createElement(\"code\", {\n style: codeStyles\n }, \"errorElement\"), \" prop on your route.\"));\n }\n return /* @__PURE__ */React2.createElement(React2.Fragment, null, /* @__PURE__ */React2.createElement(\"h2\", null, \"Unexpected Application Error!\"), /* @__PURE__ */React2.createElement(\"h3\", {\n style: {\n fontStyle: \"italic\"\n }\n }, message), stack ? /* @__PURE__ */React2.createElement(\"pre\", {\n style: preStyles\n }, stack) : null, devInfo);\n}\nvar defaultErrorElement = /* @__PURE__ */React2.createElement(DefaultErrorComponent, null);\nvar RenderErrorBoundary = class extends React2.Component {\n constructor(props) {\n super(props);\n this.state = {\n location: props.location,\n revalidation: props.revalidation,\n error: props.error\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n if (state.location !== props.location || state.revalidation !== \"idle\" && props.revalidation === \"idle\") {\n return {\n error: props.error,\n location: props.location,\n revalidation: props.revalidation\n };\n }\n return {\n error: props.error !== void 0 ? props.error : state.error,\n location: state.location,\n revalidation: props.revalidation || state.revalidation\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\"React Router caught the following error during render\", error, errorInfo);\n }\n render() {\n return this.state.error !== void 0 ? /* @__PURE__ */React2.createElement(RouteContext.Provider, {\n value: this.props.routeContext\n }, /* @__PURE__ */React2.createElement(RouteErrorContext.Provider, {\n value: this.state.error,\n children: this.props.component\n })) : this.props.children;\n }\n};\nfunction RenderedRoute({\n routeContext,\n match,\n children\n}) {\n let dataRouterContext = React2.useContext(DataRouterContext);\n if (dataRouterContext && dataRouterContext.static && dataRouterContext.staticContext && (match.route.errorElement || match.route.ErrorBoundary)) {\n dataRouterContext.staticContext._deepestRenderedBoundaryId = match.route.id;\n }\n return /* @__PURE__ */React2.createElement(RouteContext.Provider, {\n value: routeContext\n }, children);\n}\nfunction _renderMatches(matches, parentMatches = [], dataRouterState = null, future = null) {\n if (matches == null) {\n if (!dataRouterState) {\n return null;\n }\n if (dataRouterState.errors) {\n matches = dataRouterState.matches;\n } else if (parentMatches.length === 0 && !dataRouterState.initialized && dataRouterState.matches.length > 0) {\n matches = dataRouterState.matches;\n } else {\n return null;\n }\n }\n let renderedMatches = matches;\n let errors = dataRouterState?.errors;\n if (errors != null) {\n let errorIndex = renderedMatches.findIndex(m => m.route.id && errors?.[m.route.id] !== void 0);\n invariant(errorIndex >= 0, `Could not find a matching route for errors on route IDs: ${Object.keys(errors).join(\",\")}`);\n renderedMatches = renderedMatches.slice(0, Math.min(renderedMatches.length, errorIndex + 1));\n }\n let renderFallback = false;\n let fallbackIndex = -1;\n if (dataRouterState) {\n for (let i = 0; i < renderedMatches.length; i++) {\n let match = renderedMatches[i];\n if (match.route.HydrateFallback || match.route.hydrateFallbackElement) {\n fallbackIndex = i;\n }\n if (match.route.id) {\n let {\n loaderData,\n errors: errors2\n } = dataRouterState;\n let needsToRunLoader = match.route.loader && !loaderData.hasOwnProperty(match.route.id) && (!errors2 || errors2[match.route.id] === void 0);\n if (match.route.lazy || needsToRunLoader) {\n renderFallback = true;\n if (fallbackIndex >= 0) {\n renderedMatches = renderedMatches.slice(0, fallbackIndex + 1);\n } else {\n renderedMatches = [renderedMatches[0]];\n }\n break;\n }\n }\n }\n }\n return renderedMatches.reduceRight((outlet, match, index) => {\n let error;\n let shouldRenderHydrateFallback = false;\n let errorElement = null;\n let hydrateFallbackElement = null;\n if (dataRouterState) {\n error = errors && match.route.id ? errors[match.route.id] : void 0;\n errorElement = match.route.errorElement || defaultErrorElement;\n if (renderFallback) {\n if (fallbackIndex < 0 && index === 0) {\n warningOnce(\"route-fallback\", false, \"No `HydrateFallback` element provided to render during initial hydration\");\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = null;\n } else if (fallbackIndex === index) {\n shouldRenderHydrateFallback = true;\n hydrateFallbackElement = match.route.hydrateFallbackElement || null;\n }\n }\n }\n let matches2 = parentMatches.concat(renderedMatches.slice(0, index + 1));\n let getChildren = () => {\n let children;\n if (error) {\n children = errorElement;\n } else if (shouldRenderHydrateFallback) {\n children = hydrateFallbackElement;\n } else if (match.route.Component) {\n children = /* @__PURE__ */React2.createElement(match.route.Component, null);\n } else if (match.route.element) {\n children = match.route.element;\n } else {\n children = outlet;\n }\n return /* @__PURE__ */React2.createElement(RenderedRoute, {\n match,\n routeContext: {\n outlet,\n matches: matches2,\n isDataRoute: dataRouterState != null\n },\n children\n });\n };\n return dataRouterState && (match.route.ErrorBoundary || match.route.errorElement || index === 0) ? /* @__PURE__ */React2.createElement(RenderErrorBoundary, {\n location: dataRouterState.location,\n revalidation: dataRouterState.revalidation,\n component: errorElement,\n error,\n children: getChildren(),\n routeContext: {\n outlet: null,\n matches: matches2,\n isDataRoute: true\n }\n }) : getChildren();\n }, null);\n}\nfunction getDataRouterConsoleError(hookName) {\n return `${hookName} must be used within a data router. See https://reactrouter.com/en/main/routers/picking-a-router.`;\n}\nfunction useDataRouterContext(hookName) {\n let ctx = React2.useContext(DataRouterContext);\n invariant(ctx, getDataRouterConsoleError(hookName));\n return ctx;\n}\nfunction useDataRouterState(hookName) {\n let state = React2.useContext(DataRouterStateContext);\n invariant(state, getDataRouterConsoleError(hookName));\n return state;\n}\nfunction useRouteContext(hookName) {\n let route = React2.useContext(RouteContext);\n invariant(route, getDataRouterConsoleError(hookName));\n return route;\n}\nfunction useCurrentRouteId(hookName) {\n let route = useRouteContext(hookName);\n let thisRoute = route.matches[route.matches.length - 1];\n invariant(thisRoute.route.id, `${hookName} can only be used on routes that contain a unique \"id\"`);\n return thisRoute.route.id;\n}\nfunction useRouteId() {\n return useCurrentRouteId(\"useRouteId\" /* UseRouteId */);\n}\nfunction useNavigation() {\n let state = useDataRouterState(\"useNavigation\" /* UseNavigation */);\n return state.navigation;\n}\nfunction useRevalidator() {\n let dataRouterContext = useDataRouterContext(\"useRevalidator\" /* UseRevalidator */);\n let state = useDataRouterState(\"useRevalidator\" /* UseRevalidator */);\n return React2.useMemo(() => ({\n async revalidate() {\n await dataRouterContext.router.revalidate();\n },\n state: state.revalidation\n }), [dataRouterContext.router, state.revalidation]);\n}\nfunction useMatches() {\n let {\n matches,\n loaderData\n } = useDataRouterState(\"useMatches\" /* UseMatches */);\n return React2.useMemo(() => matches.map(m => convertRouteMatchToUiMatch(m, loaderData)), [matches, loaderData]);\n}\nfunction useLoaderData() {\n let state = useDataRouterState(\"useLoaderData\" /* UseLoaderData */);\n let routeId = useCurrentRouteId(\"useLoaderData\" /* UseLoaderData */);\n return state.loaderData[routeId];\n}\nfunction useRouteLoaderData(routeId) {\n let state = useDataRouterState(\"useRouteLoaderData\" /* UseRouteLoaderData */);\n return state.loaderData[routeId];\n}\nfunction useActionData() {\n let state = useDataRouterState(\"useActionData\" /* UseActionData */);\n let routeId = useCurrentRouteId(\"useLoaderData\" /* UseLoaderData */);\n return state.actionData ? state.actionData[routeId] : void 0;\n}\nfunction useRouteError() {\n let error = React2.useContext(RouteErrorContext);\n let state = useDataRouterState(\"useRouteError\" /* UseRouteError */);\n let routeId = useCurrentRouteId(\"useRouteError\" /* UseRouteError */);\n if (error !== void 0) {\n return error;\n }\n return state.errors?.[routeId];\n}\nfunction useAsyncValue() {\n let value = React2.useContext(AwaitContext);\n return value?._data;\n}\nfunction useAsyncError() {\n let value = React2.useContext(AwaitContext);\n return value?._error;\n}\nvar blockerId = 0;\nfunction useBlocker(shouldBlock) {\n let {\n router,\n basename\n } = useDataRouterContext(\"useBlocker\" /* UseBlocker */);\n let state = useDataRouterState(\"useBlocker\" /* UseBlocker */);\n let [blockerKey, setBlockerKey] = React2.useState(\"\");\n let blockerFunction = React2.useCallback(arg => {\n if (typeof shouldBlock !== \"function\") {\n return !!shouldBlock;\n }\n if (basename === \"/\") {\n return shouldBlock(arg);\n }\n let {\n currentLocation,\n nextLocation,\n historyAction\n } = arg;\n return shouldBlock({\n currentLocation: {\n ...currentLocation,\n pathname: stripBasename(currentLocation.pathname, basename) || currentLocation.pathname\n },\n nextLocation: {\n ...nextLocation,\n pathname: stripBasename(nextLocation.pathname, basename) || nextLocation.pathname\n },\n historyAction\n });\n }, [basename, shouldBlock]);\n React2.useEffect(() => {\n let key = String(++blockerId);\n setBlockerKey(key);\n return () => router.deleteBlocker(key);\n }, [router]);\n React2.useEffect(() => {\n if (blockerKey !== \"\") {\n router.getBlocker(blockerKey, blockerFunction);\n }\n }, [router, blockerKey, blockerFunction]);\n return blockerKey && state.blockers.has(blockerKey) ? state.blockers.get(blockerKey) : IDLE_BLOCKER;\n}\nfunction useNavigateStable() {\n let {\n router\n } = useDataRouterContext(\"useNavigate\" /* UseNavigateStable */);\n let id = useCurrentRouteId(\"useNavigate\" /* UseNavigateStable */);\n let activeRef = React2.useRef(false);\n useIsomorphicLayoutEffect(() => {\n activeRef.current = true;\n });\n let navigate = React2.useCallback(async (to, options = {}) => {\n warning(activeRef.current, navigateEffectWarning);\n if (!activeRef.current) return;\n if (typeof to === \"number\") {\n router.navigate(to);\n } else {\n await router.navigate(to, {\n fromRouteId: id,\n ...options\n });\n }\n }, [router, id]);\n return navigate;\n}\nvar alreadyWarned = {};\nfunction warningOnce(key, cond, message) {\n if (!cond && !alreadyWarned[key]) {\n alreadyWarned[key] = true;\n warning(false, message);\n }\n}\n\n// lib/server-runtime/warnings.ts\nvar alreadyWarned2 = {};\nfunction warnOnce(condition, message) {\n if (!condition && !alreadyWarned2[message]) {\n alreadyWarned2[message] = true;\n console.warn(message);\n }\n}\n\n// lib/components.tsx\nvar ENABLE_DEV_WARNINGS2 = true;\nfunction mapRouteProperties(route) {\n let updates = {\n // Note: this check also occurs in createRoutesFromChildren so update\n // there if you change this -- please and thank you!\n hasErrorBoundary: route.hasErrorBoundary || route.ErrorBoundary != null || route.errorElement != null\n };\n if (route.Component) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.element) {\n warning(false, \"You should not include both `Component` and `element` on your route - `Component` will be used.\");\n }\n }\n Object.assign(updates, {\n element: React3.createElement(route.Component),\n Component: void 0\n });\n }\n if (route.HydrateFallback) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.hydrateFallbackElement) {\n warning(false, \"You should not include both `HydrateFallback` and `hydrateFallbackElement` on your route - `HydrateFallback` will be used.\");\n }\n }\n Object.assign(updates, {\n hydrateFallbackElement: React3.createElement(route.HydrateFallback),\n HydrateFallback: void 0\n });\n }\n if (route.ErrorBoundary) {\n if (ENABLE_DEV_WARNINGS2) {\n if (route.errorElement) {\n warning(false, \"You should not include both `ErrorBoundary` and `errorElement` on your route - `ErrorBoundary` will be used.\");\n }\n }\n Object.assign(updates, {\n errorElement: React3.createElement(route.ErrorBoundary),\n ErrorBoundary: void 0\n });\n }\n return updates;\n}\nfunction createMemoryRouter(routes, opts) {\n return createRouter({\n basename: opts?.basename,\n unstable_getContext: opts?.unstable_getContext,\n future: opts?.future,\n history: createMemoryHistory({\n initialEntries: opts?.initialEntries,\n initialIndex: opts?.initialIndex\n }),\n hydrationData: opts?.hydrationData,\n routes,\n mapRouteProperties,\n dataStrategy: opts?.dataStrategy,\n patchRoutesOnNavigation: opts?.patchRoutesOnNavigation\n }).initialize();\n}\nvar Deferred = class {\n constructor() {\n this.status = \"pending\";\n this.promise = new Promise((resolve, reject) => {\n this.resolve = value => {\n if (this.status === \"pending\") {\n this.status = \"resolved\";\n resolve(value);\n }\n };\n this.reject = reason => {\n if (this.status === \"pending\") {\n this.status = \"rejected\";\n reject(reason);\n }\n };\n });\n }\n};\nfunction RouterProvider({\n router,\n flushSync: reactDomFlushSyncImpl\n}) {\n let [state, setStateImpl] = React3.useState(router.state);\n let [pendingState, setPendingState] = React3.useState();\n let [vtContext, setVtContext] = React3.useState({\n isTransitioning: false\n });\n let [renderDfd, setRenderDfd] = React3.useState();\n let [transition, setTransition] = React3.useState();\n let [interruption, setInterruption] = React3.useState();\n let fetcherData = React3.useRef(/* @__PURE__ */new Map());\n let setState = React3.useCallback((newState, {\n deletedFetchers,\n flushSync,\n viewTransitionOpts\n }) => {\n newState.fetchers.forEach((fetcher, key) => {\n if (fetcher.data !== void 0) {\n fetcherData.current.set(key, fetcher.data);\n }\n });\n deletedFetchers.forEach(key => fetcherData.current.delete(key));\n warnOnce(flushSync === false || reactDomFlushSyncImpl != null, 'You provided the `flushSync` option to a router update, but you are not using the `` from `react-router/dom` so `ReactDOM.flushSync()` is unavailable. Please update your app to `import { RouterProvider } from \"react-router/dom\"` and ensure you have `react-dom` installed as a dependency to use the `flushSync` option.');\n let isViewTransitionAvailable = router.window != null && router.window.document != null && typeof router.window.document.startViewTransition === \"function\";\n warnOnce(viewTransitionOpts == null || isViewTransitionAvailable, \"You provided the `viewTransition` option to a router update, but you do not appear to be running in a DOM environment as `window.startViewTransition` is not available.\");\n if (!viewTransitionOpts || !isViewTransitionAvailable) {\n if (reactDomFlushSyncImpl && flushSync) {\n reactDomFlushSyncImpl(() => setStateImpl(newState));\n } else {\n React3.startTransition(() => setStateImpl(newState));\n }\n return;\n }\n if (reactDomFlushSyncImpl && flushSync) {\n reactDomFlushSyncImpl(() => {\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n }\n setVtContext({\n isTransitioning: true,\n flushSync: true,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n });\n let t = router.window.document.startViewTransition(() => {\n reactDomFlushSyncImpl(() => setStateImpl(newState));\n });\n t.finished.finally(() => {\n reactDomFlushSyncImpl(() => {\n setRenderDfd(void 0);\n setTransition(void 0);\n setPendingState(void 0);\n setVtContext({\n isTransitioning: false\n });\n });\n });\n reactDomFlushSyncImpl(() => setTransition(t));\n return;\n }\n if (transition) {\n renderDfd && renderDfd.resolve();\n transition.skipTransition();\n setInterruption({\n state: newState,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n } else {\n setPendingState(newState);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: viewTransitionOpts.currentLocation,\n nextLocation: viewTransitionOpts.nextLocation\n });\n }\n }, [router.window, reactDomFlushSyncImpl, transition, renderDfd]);\n React3.useLayoutEffect(() => router.subscribe(setState), [router, setState]);\n React3.useEffect(() => {\n if (vtContext.isTransitioning && !vtContext.flushSync) {\n setRenderDfd(new Deferred());\n }\n }, [vtContext]);\n React3.useEffect(() => {\n if (renderDfd && pendingState && router.window) {\n let newState = pendingState;\n let renderPromise = renderDfd.promise;\n let transition2 = router.window.document.startViewTransition(async () => {\n React3.startTransition(() => setStateImpl(newState));\n await renderPromise;\n });\n transition2.finished.finally(() => {\n setRenderDfd(void 0);\n setTransition(void 0);\n setPendingState(void 0);\n setVtContext({\n isTransitioning: false\n });\n });\n setTransition(transition2);\n }\n }, [pendingState, renderDfd, router.window]);\n React3.useEffect(() => {\n if (renderDfd && pendingState && state.location.key === pendingState.location.key) {\n renderDfd.resolve();\n }\n }, [renderDfd, transition, state.location, pendingState]);\n React3.useEffect(() => {\n if (!vtContext.isTransitioning && interruption) {\n setPendingState(interruption.state);\n setVtContext({\n isTransitioning: true,\n flushSync: false,\n currentLocation: interruption.currentLocation,\n nextLocation: interruption.nextLocation\n });\n setInterruption(void 0);\n }\n }, [vtContext.isTransitioning, interruption]);\n let navigator2 = React3.useMemo(() => {\n return {\n createHref: router.createHref,\n encodeLocation: router.encodeLocation,\n go: n => router.navigate(n),\n push: (to, state2, opts) => router.navigate(to, {\n state: state2,\n preventScrollReset: opts?.preventScrollReset\n }),\n replace: (to, state2, opts) => router.navigate(to, {\n replace: true,\n state: state2,\n preventScrollReset: opts?.preventScrollReset\n })\n };\n }, [router]);\n let basename = router.basename || \"/\";\n let dataRouterContext = React3.useMemo(() => ({\n router,\n navigator: navigator2,\n static: false,\n basename\n }), [router, navigator2, basename]);\n return /* @__PURE__ */React3.createElement(React3.Fragment, null, /* @__PURE__ */React3.createElement(DataRouterContext.Provider, {\n value: dataRouterContext\n }, /* @__PURE__ */React3.createElement(DataRouterStateContext.Provider, {\n value: state\n }, /* @__PURE__ */React3.createElement(FetchersContext.Provider, {\n value: fetcherData.current\n }, /* @__PURE__ */React3.createElement(ViewTransitionContext.Provider, {\n value: vtContext\n }, /* @__PURE__ */React3.createElement(Router, {\n basename,\n location: state.location,\n navigationType: state.historyAction,\n navigator: navigator2\n }, /* @__PURE__ */React3.createElement(MemoizedDataRoutes, {\n routes: router.routes,\n future: router.future,\n state\n })))))), null);\n}\nvar MemoizedDataRoutes = React3.memo(DataRoutes);\nfunction DataRoutes({\n routes,\n future,\n state\n}) {\n return useRoutesImpl(routes, void 0, state, future);\n}\nfunction MemoryRouter({\n basename,\n children,\n initialEntries,\n initialIndex\n}) {\n let historyRef = React3.useRef();\n if (historyRef.current == null) {\n historyRef.current = createMemoryHistory({\n initialEntries,\n initialIndex,\n v5Compat: true\n });\n }\n let history = historyRef.current;\n let [state, setStateImpl] = React3.useState({\n action: history.action,\n location: history.location\n });\n let setState = React3.useCallback(newState => {\n React3.startTransition(() => setStateImpl(newState));\n }, [setStateImpl]);\n React3.useLayoutEffect(() => history.listen(setState), [history, setState]);\n return /* @__PURE__ */React3.createElement(Router, {\n basename,\n children,\n location: state.location,\n navigationType: state.action,\n navigator: history\n });\n}\nfunction Navigate({\n to,\n replace: replace2,\n state,\n relative\n}) {\n invariant(useInRouterContext(),\n // TODO: This error is probably because they somehow have 2 versions of\n // the router loaded. We can help them understand how to avoid that.\n ` may be used only in the context of a component.`);\n let {\n static: isStatic\n } = React3.useContext(NavigationContext);\n warning(!isStatic, ` must not be used on the initial render in a . This is a no-op, but you should modify your code so the is only ever rendered in response to some user interaction or state change.`);\n let {\n matches\n } = React3.useContext(RouteContext);\n let {\n pathname: locationPathname\n } = useLocation();\n let navigate = useNavigate();\n let path = resolveTo(to, getResolveToMatches(matches), locationPathname, relative === \"path\");\n let jsonPath = JSON.stringify(path);\n React3.useEffect(() => {\n navigate(JSON.parse(jsonPath), {\n replace: replace2,\n state,\n relative\n });\n }, [navigate, jsonPath, relative, replace2, state]);\n return null;\n}\nfunction Outlet(props) {\n return useOutlet(props.context);\n}\nfunction Route(_props) {\n invariant(false, `A is only ever to be used as the child of element, never rendered directly. Please wrap your in a .`);\n}\nfunction Router({\n basename: basenameProp = \"/\",\n children = null,\n location: locationProp,\n navigationType = \"POP\" /* Pop */,\n navigator: navigator2,\n static: staticProp = false\n}) {\n invariant(!useInRouterContext(), `You cannot render a inside another . You should never have more than one in your app.`);\n let basename = basenameProp.replace(/^\\/*/, \"/\");\n let navigationContext = React3.useMemo(() => ({\n basename,\n navigator: navigator2,\n static: staticProp,\n future: {}\n }), [basename, navigator2, staticProp]);\n if (typeof locationProp === \"string\") {\n locationProp = parsePath(locationProp);\n }\n let {\n pathname = \"/\",\n search = \"\",\n hash = \"\",\n state = null,\n key = \"default\"\n } = locationProp;\n let locationContext = React3.useMemo(() => {\n let trailingPathname = stripBasename(pathname, basename);\n if (trailingPathname == null) {\n return null;\n }\n return {\n location: {\n pathname: trailingPathname,\n search,\n hash,\n state,\n key\n },\n navigationType\n };\n }, [basename, pathname, search, hash, state, key, navigationType]);\n warning(locationContext != null, ` is not able to match the URL \"${pathname}${search}${hash}\" because it does not start with the basename, so the won't render anything.`);\n if (locationContext == null) {\n return null;\n }\n return /* @__PURE__ */React3.createElement(NavigationContext.Provider, {\n value: navigationContext\n }, /* @__PURE__ */React3.createElement(LocationContext.Provider, {\n children,\n value: locationContext\n }));\n}\nfunction Routes({\n children,\n location\n}) {\n return useRoutes(createRoutesFromChildren(children), location);\n}\nfunction Await({\n children,\n errorElement,\n resolve\n}) {\n return /* @__PURE__ */React3.createElement(AwaitErrorBoundary, {\n resolve,\n errorElement\n }, /* @__PURE__ */React3.createElement(ResolveAwait, null, children));\n}\nvar AwaitErrorBoundary = class extends React3.Component {\n constructor(props) {\n super(props);\n this.state = {\n error: null\n };\n }\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n componentDidCatch(error, errorInfo) {\n console.error(\" caught the following error during render\", error, errorInfo);\n }\n render() {\n let {\n children,\n errorElement,\n resolve\n } = this.props;\n let promise = null;\n let status = 0 /* pending */;\n if (!(resolve instanceof Promise)) {\n status = 1 /* success */;\n promise = Promise.resolve();\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_data\", {\n get: () => resolve\n });\n } else if (this.state.error) {\n status = 2 /* error */;\n let renderError = this.state.error;\n promise = Promise.reject().catch(() => {});\n Object.defineProperty(promise, \"_tracked\", {\n get: () => true\n });\n Object.defineProperty(promise, \"_error\", {\n get: () => renderError\n });\n } else if (resolve._tracked) {\n promise = resolve;\n status = \"_error\" in promise ? 2 /* error */ : \"_data\" in promise ? 1 /* success */ : 0 /* pending */;\n } else {\n status = 0 /* pending */;\n Object.defineProperty(resolve, \"_tracked\", {\n get: () => true\n });\n promise = resolve.then(data2 => Object.defineProperty(resolve, \"_data\", {\n get: () => data2\n }), error => Object.defineProperty(resolve, \"_error\", {\n get: () => error\n }));\n }\n if (status === 2 /* error */ && !errorElement) {\n throw promise._error;\n }\n if (status === 2 /* error */) {\n return /* @__PURE__ */React3.createElement(AwaitContext.Provider, {\n value: promise,\n children: errorElement\n });\n }\n if (status === 1 /* success */) {\n return /* @__PURE__ */React3.createElement(AwaitContext.Provider, {\n value: promise,\n children\n });\n }\n throw promise;\n }\n};\nfunction ResolveAwait({\n children\n}) {\n let data2 = useAsyncValue();\n let toRender = typeof children === \"function\" ? children(data2) : children;\n return /* @__PURE__ */React3.createElement(React3.Fragment, null, toRender);\n}\nfunction createRoutesFromChildren(children, parentPath = []) {\n let routes = [];\n React3.Children.forEach(children, (element, index) => {\n if (!React3.isValidElement(element)) {\n return;\n }\n let treePath = [...parentPath, index];\n if (element.type === React3.Fragment) {\n routes.push.apply(routes, createRoutesFromChildren(element.props.children, treePath));\n return;\n }\n invariant(element.type === Route, `[${typeof element.type === \"string\" ? element.type : element.type.name}] is not a component. All component children of must be a or `);\n invariant(!element.props.index || !element.props.children, \"An index route cannot have child routes.\");\n let route = {\n id: element.props.id || treePath.join(\"-\"),\n caseSensitive: element.props.caseSensitive,\n element: element.props.element,\n Component: element.props.Component,\n index: element.props.index,\n path: element.props.path,\n loader: element.props.loader,\n action: element.props.action,\n hydrateFallbackElement: element.props.hydrateFallbackElement,\n HydrateFallback: element.props.HydrateFallback,\n errorElement: element.props.errorElement,\n ErrorBoundary: element.props.ErrorBoundary,\n hasErrorBoundary: element.props.hasErrorBoundary === true || element.props.ErrorBoundary != null || element.props.errorElement != null,\n shouldRevalidate: element.props.shouldRevalidate,\n handle: element.props.handle,\n lazy: element.props.lazy\n };\n if (element.props.children) {\n route.children = createRoutesFromChildren(element.props.children, treePath);\n }\n routes.push(route);\n });\n return routes;\n}\nvar createRoutesFromElements = createRoutesFromChildren;\nfunction renderMatches(matches) {\n return _renderMatches(matches);\n}\n\n// lib/dom/lib.tsx\nimport * as React10 from \"react\";\n\n// lib/dom/dom.ts\nvar defaultMethod = \"get\";\nvar defaultEncType = \"application/x-www-form-urlencoded\";\nfunction isHtmlElement(object) {\n return object != null && typeof object.tagName === \"string\";\n}\nfunction isButtonElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"button\";\n}\nfunction isFormElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"form\";\n}\nfunction isInputElement(object) {\n return isHtmlElement(object) && object.tagName.toLowerCase() === \"input\";\n}\nfunction isModifiedEvent(event) {\n return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);\n}\nfunction shouldProcessLinkClick(event, target) {\n return event.button === 0 && (\n // Ignore everything but left clicks\n !target || target === \"_self\") &&\n // Let browser handle \"target=_blank\" etc.\n !isModifiedEvent(event);\n}\nfunction createSearchParams(init = \"\") {\n return new URLSearchParams(typeof init === \"string\" || Array.isArray(init) || init instanceof URLSearchParams ? init : Object.keys(init).reduce((memo2, key) => {\n let value = init[key];\n return memo2.concat(Array.isArray(value) ? value.map(v => [key, v]) : [[key, value]]);\n }, []));\n}\nfunction getSearchParamsForLocation(locationSearch, defaultSearchParams) {\n let searchParams = createSearchParams(locationSearch);\n if (defaultSearchParams) {\n defaultSearchParams.forEach((_, key) => {\n if (!searchParams.has(key)) {\n defaultSearchParams.getAll(key).forEach(value => {\n searchParams.append(key, value);\n });\n }\n });\n }\n return searchParams;\n}\nvar _formDataSupportsSubmitter = null;\nfunction isFormDataSubmitterSupported() {\n if (_formDataSupportsSubmitter === null) {\n try {\n new FormData(document.createElement(\"form\"),\n // @ts-expect-error if FormData supports the submitter parameter, this will throw\n 0);\n _formDataSupportsSubmitter = false;\n } catch (e) {\n _formDataSupportsSubmitter = true;\n }\n }\n return _formDataSupportsSubmitter;\n}\nvar supportedFormEncTypes = /* @__PURE__ */new Set([\"application/x-www-form-urlencoded\", \"multipart/form-data\", \"text/plain\"]);\nfunction getFormEncType(encType) {\n if (encType != null && !supportedFormEncTypes.has(encType)) {\n warning(false, `\"${encType}\" is not a valid \\`encType\\` for \\`
\\`/\\`\\` and will default to \"${defaultEncType}\"`);\n return null;\n }\n return encType;\n}\nfunction getFormSubmissionInfo(target, basename) {\n let method;\n let action;\n let encType;\n let formData;\n let body;\n if (isFormElement(target)) {\n let attr = target.getAttribute(\"action\");\n action = attr ? stripBasename(attr, basename) : null;\n method = target.getAttribute(\"method\") || defaultMethod;\n encType = getFormEncType(target.getAttribute(\"enctype\")) || defaultEncType;\n formData = new FormData(target);\n } else if (isButtonElement(target) || isInputElement(target) && (target.type === \"submit\" || target.type === \"image\")) {\n let form = target.form;\n if (form == null) {\n throw new Error(`Cannot submit a \n\n {error &&

{error}

}\n \n\n {result && (\n
\n

✅ Route Found

\n

\n {result.transfers === 0 ? (\n <>🚌 Direct route - No transfers needed!\n ) : (\n <>🔄 {result.transfers} transfer{result.transfers > 1 ? 's' : ''} required\n )}\n

\n \n
\n

🚶 Walk {(result.walkingDistanceStart * 1000).toFixed(0)}m to {result.startStop.name}

\n
\n\n {result.segments.map((segment, index) => (\n
\n

\n {index === 0 ? '🟢' : '🔄'} {segment.route.name}\n

\n

Board at: {segment.fromStop.name}

\n

Ride {segment.stops.length - 1} stop{segment.stops.length > 2 ? 's' : ''}

\n

Exit at: {segment.toStop.name}

\n {index < result.segments.length - 1 && (\n

\n ↓ Transfer to {result.segments[index + 1].route.name}\n

\n )}\n
\n ))}\n\n
\n

🚶 Walk {(result.walkingDistanceEnd * 1000).toFixed(0)}m to destination

\n
\n \n

\n Total: {result.totalStops} bus stops + {((result.walkingDistanceStart + result.walkingDistanceEnd) * 1000).toFixed(0)}m walking\n

\n
\n )}\n \n\n
\n
\n
\n \n\n \n ← Return Home\n \n \n );\n};\n\nexport default PlanTripPage;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/91996710e15656d60cc977e23197d7f43bae330d751ead1a4a95a8230c1dfeb6.json b/Data-Viz/node_modules/.cache/babel-loader/91996710e15656d60cc977e23197d7f43bae330d751ead1a4a95a8230c1dfeb6.json new file mode 100644 index 000000000..1e9f58fc3 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/91996710e15656d60cc977e23197d7f43bae330d751ead1a4a95a8230c1dfeb6.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-refresh-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-refresh-runtime.development.js');\n}","map":{"version":3,"names":["process","env","NODE_ENV","module","exports","require"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react-refresh/runtime.js"],"sourcesContent":["'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-refresh-runtime.production.min.js');\n} else {\n module.exports = require('./cjs/react-refresh-runtime.development.js');\n}\n"],"mappings":"AAAA,YAAY;;AAEZ,IAAIA,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,YAAY,EAAE;EACzCC,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,+CAA+C,CAAC;AAC3E,CAAC,MAAM;EACLF,MAAM,CAACC,OAAO,GAAGC,OAAO,CAAC,4CAA4C,CAAC;AACxE","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/921ba5e5454744251172c98c34d58289e50f1fde60d6c50d8b443d5e3f57d865.json b/Data-Viz/node_modules/.cache/babel-loader/921ba5e5454744251172c98c34d58289e50f1fde60d6c50d8b443d5e3f57d865.json new file mode 100644 index 000000000..751d2d0a7 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/921ba5e5454744251172c98c34d58289e50f1fde60d6c50d8b443d5e3f57d865.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};","map":{"version":3,"names":["requireObjectCoercible","require","$Object","Object","module","exports","argument"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/to-object.js"],"sourcesContent":["'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,sBAAsB,GAAGC,OAAO,CAAC,uCAAuC,CAAC;AAE7E,IAAIC,OAAO,GAAGC,MAAM;;AAEpB;AACA;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,OAAOJ,OAAO,CAACF,sBAAsB,CAACM,QAAQ,CAAC,CAAC;AAClD,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/93fb053712f8022442bae48713a5972920f33c4ad9f52fc3fb245af37236ddc0.json b/Data-Viz/node_modules/.cache/babel-loader/93fb053712f8022442bae48713a5972920f33c4ad9f52fc3fb245af37236ddc0.json new file mode 100644 index 000000000..95c00bcd6 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/93fb053712f8022442bae48713a5972920f33c4ad9f52fc3fb245af37236ddc0.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};","map":{"version":3,"names":["uncurryThis","require","id","postfix","Math","random","toString","module","exports","key","undefined"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/uid.js"],"sourcesContent":["'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,oCAAoC,CAAC;AAE/D,IAAIC,EAAE,GAAG,CAAC;AACV,IAAIC,OAAO,GAAGC,IAAI,CAACC,MAAM,CAAC,CAAC;AAC3B,IAAIC,QAAQ,GAAGN,WAAW,CAAC,GAAG,CAACM,QAAQ,CAAC;AAExCC,MAAM,CAACC,OAAO,GAAG,UAAUC,GAAG,EAAE;EAC9B,OAAO,SAAS,IAAIA,GAAG,KAAKC,SAAS,GAAG,EAAE,GAAGD,GAAG,CAAC,GAAG,IAAI,GAAGH,QAAQ,CAAC,EAAEJ,EAAE,GAAGC,OAAO,EAAE,EAAE,CAAC;AACzF,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/9445b32e50f61517b1f302e9f7f78c5e819751e9dc72b0824ec12f6bbc787987.json b/Data-Viz/node_modules/.cache/babel-loader/9445b32e50f61517b1f302e9f7f78c5e819751e9dc72b0824ec12f6bbc787987.json new file mode 100644 index 000000000..d0480252f --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/9445b32e50f61517b1f302e9f7f78c5e819751e9dc72b0824ec12f6bbc787987.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};","map":{"version":3,"names":["toPrimitive","require","isSymbol","module","exports","argument","key"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/to-property-key.js"],"sourcesContent":["'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,2BAA2B,CAAC;AACtD,IAAIC,QAAQ,GAAGD,OAAO,CAAC,wBAAwB,CAAC;;AAEhD;AACA;AACAE,MAAM,CAACC,OAAO,GAAG,UAAUC,QAAQ,EAAE;EACnC,IAAIC,GAAG,GAAGN,WAAW,CAACK,QAAQ,EAAE,QAAQ,CAAC;EACzC,OAAOH,QAAQ,CAACI,GAAG,CAAC,GAAGA,GAAG,GAAGA,GAAG,GAAG,EAAE;AACvC,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/94cba90628ec93cfd1153d03581f2684afabee16020513c78ef63595c3c6aefe.json b/Data-Viz/node_modules/.cache/babel-loader/94cba90628ec93cfd1153d03581f2684afabee16020513c78ef63595c3c6aefe.json new file mode 100644 index 000000000..872c2daae --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/94cba90628ec93cfd1153d03581f2684afabee16020513c78ef63595c3c6aefe.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};","map":{"version":3,"names":["isNullOrUndefined","require","$TypeError","TypeError","module","exports","it"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/require-object-coercible.js"],"sourcesContent":["'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw new $TypeError(\"Can't call method on \" + it);\n return it;\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,iBAAiB,GAAGC,OAAO,CAAC,mCAAmC,CAAC;AAEpE,IAAIC,UAAU,GAAGC,SAAS;;AAE1B;AACA;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAE;EAC7B,IAAIN,iBAAiB,CAACM,EAAE,CAAC,EAAE,MAAM,IAAIJ,UAAU,CAAC,uBAAuB,GAAGI,EAAE,CAAC;EAC7E,OAAOA,EAAE;AACX,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/9697b6d2228a1305827134de6563e8e691fc6da3c2088e3a001ed1e791ad8938.json b/Data-Viz/node_modules/.cache/babel-loader/9697b6d2228a1305827134de6563e8e691fc6da3c2088e3a001ed1e791ad8938.json new file mode 100644 index 000000000..3ffa21843 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/9697b6d2228a1305827134de6563e8e691fc6da3c2088e3a001ed1e791ad8938.json @@ -0,0 +1 @@ +{"ast":null,"code":"var _jsxFileName = \"/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/shell/Shell.tsx\";\nimport React from \"react\";\nimport { Outlet, NavLink } from \"react-router-dom\";\nimport styles from \"./Shell.module.css\";\nimport { jsxDEV as _jsxDEV } from \"react/jsx-dev-runtime\";\nconst Shell = () => {\n return /*#__PURE__*/_jsxDEV(\"div\", {\n className: styles.appShell,\n children: [/*#__PURE__*/_jsxDEV(\"nav\", {\n className: styles.navbar,\n children: [/*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/\",\n end: true,\n children: \"Home\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 9,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/plan-trip\",\n children: \"Plan Trip\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 12,\n columnNumber: 9\n }, this), /*#__PURE__*/_jsxDEV(NavLink, {\n to: \"/bus-routes\",\n children: \"Bus Routes\"\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 13,\n columnNumber: 9\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 8,\n columnNumber: 7\n }, this), /*#__PURE__*/_jsxDEV(\"main\", {\n className: styles.main,\n children: /*#__PURE__*/_jsxDEV(Outlet, {}, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 16,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: _jsxFileName,\n lineNumber: 15,\n columnNumber: 7\n }, this)]\n }, void 0, true, {\n fileName: _jsxFileName,\n lineNumber: 7,\n columnNumber: 5\n }, this);\n};\n_c = Shell;\nexport default Shell;\nvar _c;\n$RefreshReg$(_c, \"Shell\");","map":{"version":3,"names":["React","Outlet","NavLink","styles","jsxDEV","_jsxDEV","Shell","className","appShell","children","navbar","to","end","fileName","_jsxFileName","lineNumber","columnNumber","main","_c","$RefreshReg$"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/shell/Shell.tsx"],"sourcesContent":["import React from \"react\";\nimport { Outlet, NavLink } from \"react-router-dom\";\nimport styles from \"./Shell.module.css\";\n\nconst Shell: React.FC = () => {\n return (\n
\n \n
\n \n
\n
\n );\n};\n\nexport default Shell;\n"],"mappings":";AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,MAAM,EAAEC,OAAO,QAAQ,kBAAkB;AAClD,OAAOC,MAAM,MAAM,oBAAoB;AAAC,SAAAC,MAAA,IAAAC,OAAA;AAExC,MAAMC,KAAe,GAAGA,CAAA,KAAM;EAC5B,oBACED,OAAA;IAAKE,SAAS,EAAEJ,MAAM,CAACK,QAAS;IAAAC,QAAA,gBAC9BJ,OAAA;MAAKE,SAAS,EAAEJ,MAAM,CAACO,MAAO;MAAAD,QAAA,gBAC5BJ,OAAA,CAACH,OAAO;QAACS,EAAE,EAAC,GAAG;QAACC,GAAG;QAAAH,QAAA,EAAC;MAEpB;QAAAI,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAS,CAAC,eACVX,OAAA,CAACH,OAAO;QAACS,EAAE,EAAC,YAAY;QAAAF,QAAA,EAAC;MAAS;QAAAI,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAS,CAAC,eAC5CX,OAAA,CAACH,OAAO;QAACS,EAAE,EAAC,aAAa;QAAAF,QAAA,EAAC;MAAU;QAAAI,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAS,CAAC;IAAA;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OAC3C,CAAC,eACNX,OAAA;MAAME,SAAS,EAAEJ,MAAM,CAACc,IAAK;MAAAR,QAAA,eAC3BJ,OAAA,CAACJ,MAAM;QAAAY,QAAA,EAAAC,YAAA;QAAAC,UAAA;QAAAC,YAAA;MAAA,OAAE;IAAC;MAAAH,QAAA,EAAAC,YAAA;MAAAC,UAAA;MAAAC,YAAA;IAAA,OACN,CAAC;EAAA;IAAAH,QAAA,EAAAC,YAAA;IAAAC,UAAA;IAAAC,YAAA;EAAA,OACJ,CAAC;AAEV,CAAC;AAACE,EAAA,GAfIZ,KAAe;AAiBrB,eAAeA,KAAK;AAAC,IAAAY,EAAA;AAAAC,YAAA,CAAAD,EAAA","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/98124d0de1854115f40ad5726f69b6f0b8932b4b8946a97d74dbc9982f2f2c6d.json b/Data-Viz/node_modules/.cache/babel-loader/98124d0de1854115f40ad5726f69b6f0b8932b4b8946a97d74dbc9982f2f2c6d.json new file mode 100644 index 000000000..589586b54 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/98124d0de1854115f40ad5726f69b6f0b8932b4b8946a97d74dbc9982f2f2c6d.json @@ -0,0 +1 @@ +{"ast":null,"code":"/******/(function () {\n // webpackBootstrap\n /******/\n \"use strict\";\n\n /******/\n var __webpack_modules__ = {\n /***/\"./client-src/modules/logger/SyncBailHookFake.js\": (\n /*!*******************************************************!*\\\n !*** ./client-src/modules/logger/SyncBailHookFake.js ***!\n \\*******************************************************/\n /***/\n function (module) {\n /**\n * Client stub for tapable SyncBailHook\n */\n module.exports = function clientTapableSyncBailHook() {\n return {\n call: function call() {}\n };\n };\n\n /***/\n }),\n /***/\"./node_modules/webpack/lib/logging/Logger.js\": (\n /*!****************************************************!*\\\n !*** ./node_modules/webpack/lib/logging/Logger.js ***!\n \\****************************************************/\n /***/\n function (__unused_webpack_module, exports) {\n /*\n \tMIT License http://www.opensource.org/licenses/mit-license.php\n \tAuthor Tobias Koppers @sokra\n */\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _iterableToArray(iter) {\n if (typeof (typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n }) !== \"undefined\" && iter[(typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n }).iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n }\n function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n }\n function _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n }\n function _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[(typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n }).toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n }\n var LogType = Object.freeze({\n error: /** @type {\"error\"} */\"error\",\n // message, c style arguments\n warn: /** @type {\"warn\"} */\"warn\",\n // message, c style arguments\n info: /** @type {\"info\"} */\"info\",\n // message, c style arguments\n log: /** @type {\"log\"} */\"log\",\n // message, c style arguments\n debug: /** @type {\"debug\"} */\"debug\",\n // message, c style arguments\n\n trace: /** @type {\"trace\"} */\"trace\",\n // no arguments\n\n group: /** @type {\"group\"} */\"group\",\n // [label]\n groupCollapsed: /** @type {\"groupCollapsed\"} */\"groupCollapsed\",\n // [label]\n groupEnd: /** @type {\"groupEnd\"} */\"groupEnd\",\n // [label]\n\n profile: /** @type {\"profile\"} */\"profile\",\n // [profileName]\n profileEnd: /** @type {\"profileEnd\"} */\"profileEnd\",\n // [profileName]\n\n time: /** @type {\"time\"} */\"time\",\n // name, time as [seconds, nanoseconds]\n\n clear: /** @type {\"clear\"} */\"clear\",\n // no arguments\n status: /** @type {\"status\"} */\"status\" // message, arguments\n });\n exports.LogType = LogType;\n\n /** @typedef {typeof LogType[keyof typeof LogType]} LogTypeEnum */\n\n var LOG_SYMBOL = (typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n })(\"webpack logger raw log method\");\n var TIMERS_SYMBOL = (typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n })(\"webpack logger times\");\n var TIMERS_AGGREGATES_SYMBOL = (typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n })(\"webpack logger aggregated times\");\n var WebpackLogger = /*#__PURE__*/function () {\n /**\n * @param {function(LogTypeEnum, any[]=): void} log log function\n * @param {function(string | function(): string): WebpackLogger} getChildLogger function to create child logger\n */\n function WebpackLogger(log, getChildLogger) {\n _classCallCheck(this, WebpackLogger);\n this[LOG_SYMBOL] = log;\n this.getChildLogger = getChildLogger;\n }\n _createClass(WebpackLogger, [{\n key: \"error\",\n value: function error() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n this[LOG_SYMBOL](LogType.error, args);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n this[LOG_SYMBOL](LogType.warn, args);\n }\n }, {\n key: \"info\",\n value: function info() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n this[LOG_SYMBOL](LogType.info, args);\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n this[LOG_SYMBOL](LogType.log, args);\n }\n }, {\n key: \"debug\",\n value: function debug() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n this[LOG_SYMBOL](LogType.debug, args);\n }\n }, {\n key: \"assert\",\n value: function assert(assertion) {\n if (!assertion) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n this[LOG_SYMBOL](LogType.error, args);\n }\n }\n }, {\n key: \"trace\",\n value: function trace() {\n this[LOG_SYMBOL](LogType.trace, [\"Trace\"]);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this[LOG_SYMBOL](LogType.clear);\n }\n }, {\n key: \"status\",\n value: function status() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n this[LOG_SYMBOL](LogType.status, args);\n }\n }, {\n key: \"group\",\n value: function group() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n this[LOG_SYMBOL](LogType.group, args);\n }\n }, {\n key: \"groupCollapsed\",\n value: function groupCollapsed() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n this[LOG_SYMBOL](LogType.groupCollapsed, args);\n }\n }, {\n key: \"groupEnd\",\n value: function groupEnd() {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n this[LOG_SYMBOL](LogType.groupEnd, args);\n }\n }, {\n key: \"profile\",\n value: function profile(label) {\n this[LOG_SYMBOL](LogType.profile, [label]);\n }\n }, {\n key: \"profileEnd\",\n value: function profileEnd(label) {\n this[LOG_SYMBOL](LogType.profileEnd, [label]);\n }\n }, {\n key: \"time\",\n value: function time(label) {\n this[TIMERS_SYMBOL] = this[TIMERS_SYMBOL] || new Map();\n this[TIMERS_SYMBOL].set(label, process.hrtime());\n }\n }, {\n key: \"timeLog\",\n value: function timeLog(label) {\n var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);\n if (!prev) {\n throw new Error(\"No such label '\".concat(label, \"' for WebpackLogger.timeLog()\"));\n }\n var time = process.hrtime(prev);\n this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(label) {\n var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);\n if (!prev) {\n throw new Error(\"No such label '\".concat(label, \"' for WebpackLogger.timeEnd()\"));\n }\n var time = process.hrtime(prev);\n this[TIMERS_SYMBOL].delete(label);\n this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));\n }\n }, {\n key: \"timeAggregate\",\n value: function timeAggregate(label) {\n var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);\n if (!prev) {\n throw new Error(\"No such label '\".concat(label, \"' for WebpackLogger.timeAggregate()\"));\n }\n var time = process.hrtime(prev);\n this[TIMERS_SYMBOL].delete(label);\n this[TIMERS_AGGREGATES_SYMBOL] = this[TIMERS_AGGREGATES_SYMBOL] || new Map();\n var current = this[TIMERS_AGGREGATES_SYMBOL].get(label);\n if (current !== undefined) {\n if (time[1] + current[1] > 1e9) {\n time[0] += current[0] + 1;\n time[1] = time[1] - 1e9 + current[1];\n } else {\n time[0] += current[0];\n time[1] += current[1];\n }\n }\n this[TIMERS_AGGREGATES_SYMBOL].set(label, time);\n }\n }, {\n key: \"timeAggregateEnd\",\n value: function timeAggregateEnd(label) {\n if (this[TIMERS_AGGREGATES_SYMBOL] === undefined) return;\n var time = this[TIMERS_AGGREGATES_SYMBOL].get(label);\n if (time === undefined) return;\n this[TIMERS_AGGREGATES_SYMBOL].delete(label);\n this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));\n }\n }]);\n return WebpackLogger;\n }();\n exports.Logger = WebpackLogger;\n\n /***/\n }),\n /***/\"./node_modules/webpack/lib/logging/createConsoleLogger.js\": (\n /*!*****************************************************************!*\\\n !*** ./node_modules/webpack/lib/logging/createConsoleLogger.js ***!\n \\*****************************************************************/\n /***/\n function (module, __unused_webpack_exports, __webpack_require__) {\n /*\n \tMIT License http://www.opensource.org/licenses/mit-license.php\n \tAuthor Tobias Koppers @sokra\n */\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n function _iterableToArray(iter) {\n if (typeof (typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n }) !== \"undefined\" && iter[(typeof Symbol !== \"undefined\" ? Symbol : function (i) {\n return i;\n }).iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n }\n var _require = __webpack_require__(/*! ./Logger */\"./node_modules/webpack/lib/logging/Logger.js\"),\n LogType = _require.LogType;\n\n /** @typedef {import(\"../../declarations/WebpackOptions\").FilterItemTypes} FilterItemTypes */\n /** @typedef {import(\"../../declarations/WebpackOptions\").FilterTypes} FilterTypes */\n /** @typedef {import(\"./Logger\").LogTypeEnum} LogTypeEnum */\n\n /** @typedef {function(string): boolean} FilterFunction */\n\n /**\n * @typedef {Object} LoggerConsole\n * @property {function(): void} clear\n * @property {function(): void} trace\n * @property {(...args: any[]) => void} info\n * @property {(...args: any[]) => void} log\n * @property {(...args: any[]) => void} warn\n * @property {(...args: any[]) => void} error\n * @property {(...args: any[]) => void=} debug\n * @property {(...args: any[]) => void=} group\n * @property {(...args: any[]) => void=} groupCollapsed\n * @property {(...args: any[]) => void=} groupEnd\n * @property {(...args: any[]) => void=} status\n * @property {(...args: any[]) => void=} profile\n * @property {(...args: any[]) => void=} profileEnd\n * @property {(...args: any[]) => void=} logTime\n */\n\n /**\n * @typedef {Object} LoggerOptions\n * @property {false|true|\"none\"|\"error\"|\"warn\"|\"info\"|\"log\"|\"verbose\"} level loglevel\n * @property {FilterTypes|boolean} debug filter for debug logging\n * @property {LoggerConsole} console the console to log to\n */\n\n /**\n * @param {FilterItemTypes} item an input item\n * @returns {FilterFunction} filter function\n */\n var filterToFunction = function filterToFunction(item) {\n if (typeof item === \"string\") {\n var regExp = new RegExp(\"[\\\\\\\\/]\".concat(item.replace(\n // eslint-disable-next-line no-useless-escape\n /[-[\\]{}()*+?.\\\\^$|]/g, \"\\\\$&\"), \"([\\\\\\\\/]|$|!|\\\\?)\"));\n return function (ident) {\n return regExp.test(ident);\n };\n }\n if (item && typeof item === \"object\" && typeof item.test === \"function\") {\n return function (ident) {\n return item.test(ident);\n };\n }\n if (typeof item === \"function\") {\n return item;\n }\n if (typeof item === \"boolean\") {\n return function () {\n return item;\n };\n }\n };\n\n /**\n * @enum {number}\n */\n var LogLevel = {\n none: 6,\n false: 6,\n error: 5,\n warn: 4,\n info: 3,\n log: 2,\n true: 2,\n verbose: 1\n };\n\n /**\n * @param {LoggerOptions} options options object\n * @returns {function(string, LogTypeEnum, any[]): void} logging function\n */\n module.exports = function (_ref) {\n var _ref$level = _ref.level,\n level = _ref$level === void 0 ? \"info\" : _ref$level,\n _ref$debug = _ref.debug,\n debug = _ref$debug === void 0 ? false : _ref$debug,\n console = _ref.console;\n var debugFilters = typeof debug === \"boolean\" ? [function () {\n return debug;\n }] : /** @type {FilterItemTypes[]} */[].concat(debug).map(filterToFunction);\n /** @type {number} */\n var loglevel = LogLevel[\"\".concat(level)] || 0;\n\n /**\n * @param {string} name name of the logger\n * @param {LogTypeEnum} type type of the log entry\n * @param {any[]} args arguments of the log entry\n * @returns {void}\n */\n var logger = function logger(name, type, args) {\n var labeledArgs = function labeledArgs() {\n if (Array.isArray(args)) {\n if (args.length > 0 && typeof args[0] === \"string\") {\n return [\"[\".concat(name, \"] \").concat(args[0])].concat(_toConsumableArray(args.slice(1)));\n } else {\n return [\"[\".concat(name, \"]\")].concat(_toConsumableArray(args));\n }\n } else {\n return [];\n }\n };\n var debug = debugFilters.some(function (f) {\n return f(name);\n });\n switch (type) {\n case LogType.debug:\n if (!debug) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.debug === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.debug.apply(console, _toConsumableArray(labeledArgs()));\n } else {\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.log:\n if (!debug && loglevel > LogLevel.log) return;\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.info:\n if (!debug && loglevel > LogLevel.info) return;\n console.info.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.warn:\n if (!debug && loglevel > LogLevel.warn) return;\n console.warn.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.error:\n if (!debug && loglevel > LogLevel.error) return;\n console.error.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.trace:\n if (!debug) return;\n console.trace();\n break;\n case LogType.groupCollapsed:\n if (!debug && loglevel > LogLevel.log) return;\n if (!debug && loglevel > LogLevel.verbose) {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.groupCollapsed === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.groupCollapsed.apply(console, _toConsumableArray(labeledArgs()));\n } else {\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n }\n // falls through\n case LogType.group:\n if (!debug && loglevel > LogLevel.log) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.group === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.group.apply(console, _toConsumableArray(labeledArgs()));\n } else {\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.groupEnd:\n if (!debug && loglevel > LogLevel.log) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.groupEnd === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.groupEnd();\n }\n break;\n case LogType.time:\n {\n if (!debug && loglevel > LogLevel.log) return;\n var ms = args[1] * 1000 + args[2] / 1000000;\n var msg = \"[\".concat(name, \"] \").concat(args[0], \": \").concat(ms, \" ms\");\n if (typeof console.logTime === \"function\") {\n console.logTime(msg);\n } else {\n console.log(msg);\n }\n break;\n }\n case LogType.profile:\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.profile === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.profile.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.profileEnd:\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.profileEnd === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.profileEnd.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.clear:\n if (!debug && loglevel > LogLevel.log) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.clear === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.clear();\n }\n break;\n case LogType.status:\n if (!debug && loglevel > LogLevel.info) return;\n if (typeof console.status === \"function\") {\n if (args.length === 0) {\n console.status();\n } else {\n console.status.apply(console, _toConsumableArray(labeledArgs()));\n }\n } else {\n if (args.length !== 0) {\n console.info.apply(console, _toConsumableArray(labeledArgs()));\n }\n }\n break;\n default:\n throw new Error(\"Unexpected LogType \".concat(type));\n }\n };\n return logger;\n };\n\n /***/\n }),\n /***/\"./node_modules/webpack/lib/logging/runtime.js\": (\n /*!*****************************************************!*\\\n !*** ./node_modules/webpack/lib/logging/runtime.js ***!\n \\*****************************************************/\n /***/\n function (__unused_webpack_module, exports, __webpack_require__) {\n /*\n \tMIT License http://www.opensource.org/licenses/mit-license.php\n \tAuthor Tobias Koppers @sokra\n */\n\n function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n }\n var SyncBailHook = __webpack_require__(/*! tapable/lib/SyncBailHook */\"./client-src/modules/logger/SyncBailHookFake.js\");\n var _require = __webpack_require__(/*! ./Logger */\"./node_modules/webpack/lib/logging/Logger.js\"),\n Logger = _require.Logger;\n var createConsoleLogger = __webpack_require__(/*! ./createConsoleLogger */\"./node_modules/webpack/lib/logging/createConsoleLogger.js\");\n\n /** @type {createConsoleLogger.LoggerOptions} */\n var currentDefaultLoggerOptions = {\n level: \"info\",\n debug: false,\n console: console\n };\n var currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);\n\n /**\n * @param {string} name name of the logger\n * @returns {Logger} a logger\n */\n exports.getLogger = function (name) {\n return new Logger(function (type, args) {\n if (exports.hooks.log.call(name, type, args) === undefined) {\n currentDefaultLogger(name, type, args);\n }\n }, function (childName) {\n return exports.getLogger(\"\".concat(name, \"/\").concat(childName));\n });\n };\n\n /**\n * @param {createConsoleLogger.LoggerOptions} options new options, merge with old options\n * @returns {void}\n */\n exports.configureDefaultLogger = function (options) {\n _extends(currentDefaultLoggerOptions, options);\n currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);\n };\n exports.hooks = {\n log: new SyncBailHook([\"origin\", \"type\", \"args\"])\n };\n\n /***/\n })\n\n /******/\n };\n /************************************************************************/\n /******/ // The module cache\n /******/\n var __webpack_module_cache__ = {};\n /******/\n /******/ // The require function\n /******/\n function __webpack_require__(moduleId) {\n /******/ // Check if module is in cache\n /******/var cachedModule = __webpack_module_cache__[moduleId];\n /******/\n if (cachedModule !== undefined) {\n /******/return cachedModule.exports;\n /******/\n }\n /******/ // Create a new module (and put it into the cache)\n /******/\n var module = __webpack_module_cache__[moduleId] = {\n /******/ // no module.id needed\n /******/ // no module.loaded needed\n /******/exports: {}\n /******/\n };\n /******/\n /******/ // Execute the module function\n /******/\n __webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n /******/\n /******/ // Return the exports of the module\n /******/\n return module.exports;\n /******/\n }\n /******/\n /************************************************************************/\n /******/ /* webpack/runtime/define property getters */\n /******/\n !function () {\n /******/ // define getter functions for harmony exports\n /******/__webpack_require__.d = function (exports, definition) {\n /******/for (var key in definition) {\n /******/if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n /******/Object.defineProperty(exports, key, {\n enumerable: true,\n get: definition[key]\n });\n /******/\n }\n /******/\n }\n /******/\n };\n /******/\n }();\n /******/\n /******/ /* webpack/runtime/hasOwnProperty shorthand */\n /******/\n !function () {\n /******/__webpack_require__.o = function (obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n };\n /******/\n }();\n /******/\n /******/ /* webpack/runtime/make namespace object */\n /******/\n !function () {\n /******/ // define __esModule on exports\n /******/__webpack_require__.r = function (exports) {\n /******/if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n /******/Object.defineProperty(exports, Symbol.toStringTag, {\n value: 'Module'\n });\n /******/\n }\n /******/\n Object.defineProperty(exports, '__esModule', {\n value: true\n });\n /******/\n };\n /******/\n }();\n /******/\n /************************************************************************/\n var __webpack_exports__ = {};\n // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n !function () {\n /*!********************************************!*\\\n !*** ./client-src/modules/logger/index.js ***!\n \\********************************************/\n __webpack_require__.r(__webpack_exports__);\n /* harmony export */\n __webpack_require__.d(__webpack_exports__, {\n /* harmony export */\"default\": function () {\n return /* reexport default export from named module */webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__;\n }\n /* harmony export */\n });\n /* harmony import */\n var webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! webpack/lib/logging/runtime.js */\"./node_modules/webpack/lib/logging/runtime.js\");\n }();\n var __webpack_export_target__ = exports;\n for (var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];\n if (__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, \"__esModule\", {\n value: true\n });\n /******/\n})();","map":{"version":3,"names":["__webpack_modules__","./client-src/modules/logger/SyncBailHookFake.js","module","exports","clientTapableSyncBailHook","call","./node_modules/webpack/lib/logging/Logger.js","__unused_webpack_module","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","Object","prototype","toString","slice","constructor","name","Array","from","test","iter","Symbol","i","iterator","isArray","len","length","arr2","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","enumerable","configurable","writable","defineProperty","_toPropertyKey","key","_createClass","protoProps","staticProps","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","LogType","freeze","error","warn","info","log","debug","trace","group","groupCollapsed","groupEnd","profile","profileEnd","time","clear","status","LOG_SYMBOL","TIMERS_SYMBOL","TIMERS_AGGREGATES_SYMBOL","WebpackLogger","getChildLogger","value","_len","arguments","args","_key","_len2","_key2","_len3","_key3","_len4","_key4","_len5","_key5","assert","assertion","_len6","_key6","_len7","_key7","_len8","_key8","_len9","_key9","_len10","_key10","label","Map","set","process","hrtime","timeLog","prev","get","Error","concat","timeEnd","delete","timeAggregate","current","timeAggregateEnd","Logger","./node_modules/webpack/lib/logging/createConsoleLogger.js","__unused_webpack_exports","__webpack_require__","_require","filterToFunction","item","regExp","RegExp","replace","ident","LogLevel","none","false","true","verbose","_ref","_ref$level","level","_ref$debug","console","debugFilters","map","loglevel","logger","type","labeledArgs","some","f","apply","ms","msg","logTime","./node_modules/webpack/lib/logging/runtime.js","_extends","assign","bind","source","hasOwnProperty","SyncBailHook","createConsoleLogger","currentDefaultLoggerOptions","currentDefaultLogger","getLogger","hooks","childName","configureDefaultLogger","options","__webpack_module_cache__","moduleId","cachedModule","d","definition","obj","prop","r","toStringTag","__webpack_exports__","default","webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__","__webpack_export_target__","__esModule"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/modules/logger/index.js"],"sourcesContent":["/******/ (function() { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ({\n\n/***/ \"./client-src/modules/logger/SyncBailHookFake.js\":\n/*!*******************************************************!*\\\n !*** ./client-src/modules/logger/SyncBailHookFake.js ***!\n \\*******************************************************/\n/***/ (function(module) {\n\n\n\n/**\n * Client stub for tapable SyncBailHook\n */\nmodule.exports = function clientTapableSyncBailHook() {\n return {\n call: function call() {}\n };\n};\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/lib/logging/Logger.js\":\n/*!****************************************************!*\\\n !*** ./node_modules/webpack/lib/logging/Logger.js ***!\n \\****************************************************/\n/***/ (function(__unused_webpack_module, exports) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _iterableToArray(iter) {\n if (typeof (typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; }) !== \"undefined\" && iter[(typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; }).iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor);\n }\n}\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[(typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; }).toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\nvar LogType = Object.freeze({\n error: /** @type {\"error\"} */\"error\",\n // message, c style arguments\n warn: /** @type {\"warn\"} */\"warn\",\n // message, c style arguments\n info: /** @type {\"info\"} */\"info\",\n // message, c style arguments\n log: /** @type {\"log\"} */\"log\",\n // message, c style arguments\n debug: /** @type {\"debug\"} */\"debug\",\n // message, c style arguments\n\n trace: /** @type {\"trace\"} */\"trace\",\n // no arguments\n\n group: /** @type {\"group\"} */\"group\",\n // [label]\n groupCollapsed: /** @type {\"groupCollapsed\"} */\"groupCollapsed\",\n // [label]\n groupEnd: /** @type {\"groupEnd\"} */\"groupEnd\",\n // [label]\n\n profile: /** @type {\"profile\"} */\"profile\",\n // [profileName]\n profileEnd: /** @type {\"profileEnd\"} */\"profileEnd\",\n // [profileName]\n\n time: /** @type {\"time\"} */\"time\",\n // name, time as [seconds, nanoseconds]\n\n clear: /** @type {\"clear\"} */\"clear\",\n // no arguments\n status: /** @type {\"status\"} */\"status\" // message, arguments\n});\n\nexports.LogType = LogType;\n\n/** @typedef {typeof LogType[keyof typeof LogType]} LogTypeEnum */\n\nvar LOG_SYMBOL = (typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; })(\"webpack logger raw log method\");\nvar TIMERS_SYMBOL = (typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; })(\"webpack logger times\");\nvar TIMERS_AGGREGATES_SYMBOL = (typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; })(\"webpack logger aggregated times\");\nvar WebpackLogger = /*#__PURE__*/function () {\n /**\n * @param {function(LogTypeEnum, any[]=): void} log log function\n * @param {function(string | function(): string): WebpackLogger} getChildLogger function to create child logger\n */\n function WebpackLogger(log, getChildLogger) {\n _classCallCheck(this, WebpackLogger);\n this[LOG_SYMBOL] = log;\n this.getChildLogger = getChildLogger;\n }\n _createClass(WebpackLogger, [{\n key: \"error\",\n value: function error() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n this[LOG_SYMBOL](LogType.error, args);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n this[LOG_SYMBOL](LogType.warn, args);\n }\n }, {\n key: \"info\",\n value: function info() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n this[LOG_SYMBOL](LogType.info, args);\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n this[LOG_SYMBOL](LogType.log, args);\n }\n }, {\n key: \"debug\",\n value: function debug() {\n for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) {\n args[_key5] = arguments[_key5];\n }\n this[LOG_SYMBOL](LogType.debug, args);\n }\n }, {\n key: \"assert\",\n value: function assert(assertion) {\n if (!assertion) {\n for (var _len6 = arguments.length, args = new Array(_len6 > 1 ? _len6 - 1 : 0), _key6 = 1; _key6 < _len6; _key6++) {\n args[_key6 - 1] = arguments[_key6];\n }\n this[LOG_SYMBOL](LogType.error, args);\n }\n }\n }, {\n key: \"trace\",\n value: function trace() {\n this[LOG_SYMBOL](LogType.trace, [\"Trace\"]);\n }\n }, {\n key: \"clear\",\n value: function clear() {\n this[LOG_SYMBOL](LogType.clear);\n }\n }, {\n key: \"status\",\n value: function status() {\n for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) {\n args[_key7] = arguments[_key7];\n }\n this[LOG_SYMBOL](LogType.status, args);\n }\n }, {\n key: \"group\",\n value: function group() {\n for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) {\n args[_key8] = arguments[_key8];\n }\n this[LOG_SYMBOL](LogType.group, args);\n }\n }, {\n key: \"groupCollapsed\",\n value: function groupCollapsed() {\n for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) {\n args[_key9] = arguments[_key9];\n }\n this[LOG_SYMBOL](LogType.groupCollapsed, args);\n }\n }, {\n key: \"groupEnd\",\n value: function groupEnd() {\n for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) {\n args[_key10] = arguments[_key10];\n }\n this[LOG_SYMBOL](LogType.groupEnd, args);\n }\n }, {\n key: \"profile\",\n value: function profile(label) {\n this[LOG_SYMBOL](LogType.profile, [label]);\n }\n }, {\n key: \"profileEnd\",\n value: function profileEnd(label) {\n this[LOG_SYMBOL](LogType.profileEnd, [label]);\n }\n }, {\n key: \"time\",\n value: function time(label) {\n this[TIMERS_SYMBOL] = this[TIMERS_SYMBOL] || new Map();\n this[TIMERS_SYMBOL].set(label, process.hrtime());\n }\n }, {\n key: \"timeLog\",\n value: function timeLog(label) {\n var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);\n if (!prev) {\n throw new Error(\"No such label '\".concat(label, \"' for WebpackLogger.timeLog()\"));\n }\n var time = process.hrtime(prev);\n this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));\n }\n }, {\n key: \"timeEnd\",\n value: function timeEnd(label) {\n var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);\n if (!prev) {\n throw new Error(\"No such label '\".concat(label, \"' for WebpackLogger.timeEnd()\"));\n }\n var time = process.hrtime(prev);\n this[TIMERS_SYMBOL].delete(label);\n this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));\n }\n }, {\n key: \"timeAggregate\",\n value: function timeAggregate(label) {\n var prev = this[TIMERS_SYMBOL] && this[TIMERS_SYMBOL].get(label);\n if (!prev) {\n throw new Error(\"No such label '\".concat(label, \"' for WebpackLogger.timeAggregate()\"));\n }\n var time = process.hrtime(prev);\n this[TIMERS_SYMBOL].delete(label);\n this[TIMERS_AGGREGATES_SYMBOL] = this[TIMERS_AGGREGATES_SYMBOL] || new Map();\n var current = this[TIMERS_AGGREGATES_SYMBOL].get(label);\n if (current !== undefined) {\n if (time[1] + current[1] > 1e9) {\n time[0] += current[0] + 1;\n time[1] = time[1] - 1e9 + current[1];\n } else {\n time[0] += current[0];\n time[1] += current[1];\n }\n }\n this[TIMERS_AGGREGATES_SYMBOL].set(label, time);\n }\n }, {\n key: \"timeAggregateEnd\",\n value: function timeAggregateEnd(label) {\n if (this[TIMERS_AGGREGATES_SYMBOL] === undefined) return;\n var time = this[TIMERS_AGGREGATES_SYMBOL].get(label);\n if (time === undefined) return;\n this[TIMERS_AGGREGATES_SYMBOL].delete(label);\n this[LOG_SYMBOL](LogType.time, [label].concat(_toConsumableArray(time)));\n }\n }]);\n return WebpackLogger;\n}();\nexports.Logger = WebpackLogger;\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/lib/logging/createConsoleLogger.js\":\n/*!*****************************************************************!*\\\n !*** ./node_modules/webpack/lib/logging/createConsoleLogger.js ***!\n \\*****************************************************************/\n/***/ (function(module, __unused_webpack_exports, __webpack_require__) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\n\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n}\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n}\nfunction _iterableToArray(iter) {\n if (typeof (typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; }) !== \"undefined\" && iter[(typeof Symbol !== \"undefined\" ? Symbol : function (i) { return i; }).iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\nfunction _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\nvar _require = __webpack_require__(/*! ./Logger */ \"./node_modules/webpack/lib/logging/Logger.js\"),\n LogType = _require.LogType;\n\n/** @typedef {import(\"../../declarations/WebpackOptions\").FilterItemTypes} FilterItemTypes */\n/** @typedef {import(\"../../declarations/WebpackOptions\").FilterTypes} FilterTypes */\n/** @typedef {import(\"./Logger\").LogTypeEnum} LogTypeEnum */\n\n/** @typedef {function(string): boolean} FilterFunction */\n\n/**\n * @typedef {Object} LoggerConsole\n * @property {function(): void} clear\n * @property {function(): void} trace\n * @property {(...args: any[]) => void} info\n * @property {(...args: any[]) => void} log\n * @property {(...args: any[]) => void} warn\n * @property {(...args: any[]) => void} error\n * @property {(...args: any[]) => void=} debug\n * @property {(...args: any[]) => void=} group\n * @property {(...args: any[]) => void=} groupCollapsed\n * @property {(...args: any[]) => void=} groupEnd\n * @property {(...args: any[]) => void=} status\n * @property {(...args: any[]) => void=} profile\n * @property {(...args: any[]) => void=} profileEnd\n * @property {(...args: any[]) => void=} logTime\n */\n\n/**\n * @typedef {Object} LoggerOptions\n * @property {false|true|\"none\"|\"error\"|\"warn\"|\"info\"|\"log\"|\"verbose\"} level loglevel\n * @property {FilterTypes|boolean} debug filter for debug logging\n * @property {LoggerConsole} console the console to log to\n */\n\n/**\n * @param {FilterItemTypes} item an input item\n * @returns {FilterFunction} filter function\n */\nvar filterToFunction = function filterToFunction(item) {\n if (typeof item === \"string\") {\n var regExp = new RegExp(\"[\\\\\\\\/]\".concat(item.replace(\n // eslint-disable-next-line no-useless-escape\n /[-[\\]{}()*+?.\\\\^$|]/g, \"\\\\$&\"), \"([\\\\\\\\/]|$|!|\\\\?)\"));\n return function (ident) {\n return regExp.test(ident);\n };\n }\n if (item && typeof item === \"object\" && typeof item.test === \"function\") {\n return function (ident) {\n return item.test(ident);\n };\n }\n if (typeof item === \"function\") {\n return item;\n }\n if (typeof item === \"boolean\") {\n return function () {\n return item;\n };\n }\n};\n\n/**\n * @enum {number}\n */\nvar LogLevel = {\n none: 6,\n false: 6,\n error: 5,\n warn: 4,\n info: 3,\n log: 2,\n true: 2,\n verbose: 1\n};\n\n/**\n * @param {LoggerOptions} options options object\n * @returns {function(string, LogTypeEnum, any[]): void} logging function\n */\nmodule.exports = function (_ref) {\n var _ref$level = _ref.level,\n level = _ref$level === void 0 ? \"info\" : _ref$level,\n _ref$debug = _ref.debug,\n debug = _ref$debug === void 0 ? false : _ref$debug,\n console = _ref.console;\n var debugFilters = typeof debug === \"boolean\" ? [function () {\n return debug;\n }] : /** @type {FilterItemTypes[]} */[].concat(debug).map(filterToFunction);\n /** @type {number} */\n var loglevel = LogLevel[\"\".concat(level)] || 0;\n\n /**\n * @param {string} name name of the logger\n * @param {LogTypeEnum} type type of the log entry\n * @param {any[]} args arguments of the log entry\n * @returns {void}\n */\n var logger = function logger(name, type, args) {\n var labeledArgs = function labeledArgs() {\n if (Array.isArray(args)) {\n if (args.length > 0 && typeof args[0] === \"string\") {\n return [\"[\".concat(name, \"] \").concat(args[0])].concat(_toConsumableArray(args.slice(1)));\n } else {\n return [\"[\".concat(name, \"]\")].concat(_toConsumableArray(args));\n }\n } else {\n return [];\n }\n };\n var debug = debugFilters.some(function (f) {\n return f(name);\n });\n switch (type) {\n case LogType.debug:\n if (!debug) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.debug === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.debug.apply(console, _toConsumableArray(labeledArgs()));\n } else {\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.log:\n if (!debug && loglevel > LogLevel.log) return;\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.info:\n if (!debug && loglevel > LogLevel.info) return;\n console.info.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.warn:\n if (!debug && loglevel > LogLevel.warn) return;\n console.warn.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.error:\n if (!debug && loglevel > LogLevel.error) return;\n console.error.apply(console, _toConsumableArray(labeledArgs()));\n break;\n case LogType.trace:\n if (!debug) return;\n console.trace();\n break;\n case LogType.groupCollapsed:\n if (!debug && loglevel > LogLevel.log) return;\n if (!debug && loglevel > LogLevel.verbose) {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.groupCollapsed === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.groupCollapsed.apply(console, _toConsumableArray(labeledArgs()));\n } else {\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n }\n // falls through\n case LogType.group:\n if (!debug && loglevel > LogLevel.log) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.group === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.group.apply(console, _toConsumableArray(labeledArgs()));\n } else {\n console.log.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.groupEnd:\n if (!debug && loglevel > LogLevel.log) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.groupEnd === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.groupEnd();\n }\n break;\n case LogType.time:\n {\n if (!debug && loglevel > LogLevel.log) return;\n var ms = args[1] * 1000 + args[2] / 1000000;\n var msg = \"[\".concat(name, \"] \").concat(args[0], \": \").concat(ms, \" ms\");\n if (typeof console.logTime === \"function\") {\n console.logTime(msg);\n } else {\n console.log(msg);\n }\n break;\n }\n case LogType.profile:\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.profile === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.profile.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.profileEnd:\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.profileEnd === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.profileEnd.apply(console, _toConsumableArray(labeledArgs()));\n }\n break;\n case LogType.clear:\n if (!debug && loglevel > LogLevel.log) return;\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n if (typeof console.clear === \"function\") {\n // eslint-disable-next-line node/no-unsupported-features/node-builtins\n console.clear();\n }\n break;\n case LogType.status:\n if (!debug && loglevel > LogLevel.info) return;\n if (typeof console.status === \"function\") {\n if (args.length === 0) {\n console.status();\n } else {\n console.status.apply(console, _toConsumableArray(labeledArgs()));\n }\n } else {\n if (args.length !== 0) {\n console.info.apply(console, _toConsumableArray(labeledArgs()));\n }\n }\n break;\n default:\n throw new Error(\"Unexpected LogType \".concat(type));\n }\n };\n return logger;\n};\n\n/***/ }),\n\n/***/ \"./node_modules/webpack/lib/logging/runtime.js\":\n/*!*****************************************************!*\\\n !*** ./node_modules/webpack/lib/logging/runtime.js ***!\n \\*****************************************************/\n/***/ (function(__unused_webpack_module, exports, __webpack_require__) {\n\n/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n\n\n\nfunction _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}\nvar SyncBailHook = __webpack_require__(/*! tapable/lib/SyncBailHook */ \"./client-src/modules/logger/SyncBailHookFake.js\");\nvar _require = __webpack_require__(/*! ./Logger */ \"./node_modules/webpack/lib/logging/Logger.js\"),\n Logger = _require.Logger;\nvar createConsoleLogger = __webpack_require__(/*! ./createConsoleLogger */ \"./node_modules/webpack/lib/logging/createConsoleLogger.js\");\n\n/** @type {createConsoleLogger.LoggerOptions} */\nvar currentDefaultLoggerOptions = {\n level: \"info\",\n debug: false,\n console: console\n};\nvar currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);\n\n/**\n * @param {string} name name of the logger\n * @returns {Logger} a logger\n */\nexports.getLogger = function (name) {\n return new Logger(function (type, args) {\n if (exports.hooks.log.call(name, type, args) === undefined) {\n currentDefaultLogger(name, type, args);\n }\n }, function (childName) {\n return exports.getLogger(\"\".concat(name, \"/\").concat(childName));\n });\n};\n\n/**\n * @param {createConsoleLogger.LoggerOptions} options new options, merge with old options\n * @returns {void}\n */\nexports.configureDefaultLogger = function (options) {\n _extends(currentDefaultLoggerOptions, options);\n currentDefaultLogger = createConsoleLogger(currentDefaultLoggerOptions);\n};\nexports.hooks = {\n log: new SyncBailHook([\"origin\", \"type\", \"args\"])\n};\n\n/***/ })\n\n/******/ \t});\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\n/******/ \t/* webpack/runtime/define property getters */\n/******/ \t!function() {\n/******/ \t\t// define getter functions for harmony exports\n/******/ \t\t__webpack_require__.d = function(exports, definition) {\n/******/ \t\t\tfor(var key in definition) {\n/******/ \t\t\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n/******/ \t\t\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n/******/ \t\t\t\t}\n/******/ \t\t\t}\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/hasOwnProperty shorthand */\n/******/ \t!function() {\n/******/ \t\t__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }\n/******/ \t}();\n/******/ \t\n/******/ \t/* webpack/runtime/make namespace object */\n/******/ \t!function() {\n/******/ \t\t// define __esModule on exports\n/******/ \t\t__webpack_require__.r = function(exports) {\n/******/ \t\t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t\t}\n/******/ \t\t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t\t};\n/******/ \t}();\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n!function() {\n/*!********************************************!*\\\n !*** ./client-src/modules/logger/index.js ***!\n \\********************************************/\n__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* reexport default export from named module */ webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__; }\n/* harmony export */ });\n/* harmony import */ var webpack_lib_logging_runtime_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! webpack/lib/logging/runtime.js */ \"./node_modules/webpack/lib/logging/runtime.js\");\n\n}();\nvar __webpack_export_target__ = exports;\nfor(var i in __webpack_exports__) __webpack_export_target__[i] = __webpack_exports__[i];\nif(__webpack_exports__.__esModule) Object.defineProperty(__webpack_export_target__, \"__esModule\", { value: true });\n/******/ })()\n;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/9a6037d6e671dcafa69b7371aafd12aaebf8a2129ef419f516b0761da8bdfc1d.json b/Data-Viz/node_modules/.cache/babel-loader/9a6037d6e671dcafa69b7371aafd12aaebf8a2129ef419f516b0761da8bdfc1d.json new file mode 100644 index 000000000..91b5c253c --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/9a6037d6e671dcafa69b7371aafd12aaebf8a2129ef419f516b0761da8bdfc1d.json @@ -0,0 +1 @@ +{"ast":null,"code":"/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n/* globals __webpack_hash__ */\nif (module.hot) {\n /** @type {undefined|string} */\n var lastHash;\n var upToDate = function upToDate() {\n return /** @type {string} */lastHash.indexOf(__webpack_hash__) >= 0;\n };\n var log = require(\"./log\");\n var check = function check() {\n module.hot.check(true).then(function (updatedModules) {\n if (!updatedModules) {\n log(\"warning\", \"[HMR] Cannot find update. \" + (typeof window !== \"undefined\" ? \"Need to do a full reload!\" : \"Please reload manually!\"));\n log(\"warning\", \"[HMR] (Probably because of restarting the webpack-dev-server)\");\n if (typeof window !== \"undefined\") {\n window.location.reload();\n }\n return;\n }\n if (!upToDate()) {\n check();\n }\n require(\"./log-apply-result\")(updatedModules, updatedModules);\n if (upToDate()) {\n log(\"info\", \"[HMR] App is up to date.\");\n }\n }).catch(function (err) {\n var status = module.hot.status();\n if ([\"abort\", \"fail\"].indexOf(status) >= 0) {\n log(\"warning\", \"[HMR] Cannot apply update. \" + (typeof window !== \"undefined\" ? \"Need to do a full reload!\" : \"Please reload manually!\"));\n log(\"warning\", \"[HMR] \" + log.formatError(err));\n if (typeof window !== \"undefined\") {\n window.location.reload();\n }\n } else {\n log(\"warning\", \"[HMR] Update failed: \" + log.formatError(err));\n }\n });\n };\n var hotEmitter = require(\"./emitter\");\n hotEmitter.on(\"webpackHotUpdate\", function (currentHash) {\n lastHash = currentHash;\n if (!upToDate() && module.hot.status() === \"idle\") {\n log(\"info\", \"[HMR] Checking for updates on the server...\");\n check();\n }\n });\n log(\"info\", \"[HMR] Waiting for update signal from WDS...\");\n} else {\n throw new Error(\"[HMR] Hot Module Replacement is disabled.\");\n}","map":{"version":3,"names":["module","hot","lastHash","upToDate","indexOf","__webpack_hash__","log","require","check","then","updatedModules","window","location","reload","catch","err","status","formatError","hotEmitter","on","currentHash","Error"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack/hot/dev-server.js"],"sourcesContent":["/*\n\tMIT License http://www.opensource.org/licenses/mit-license.php\n\tAuthor Tobias Koppers @sokra\n*/\n/* globals __webpack_hash__ */\nif (module.hot) {\n\t/** @type {undefined|string} */\n\tvar lastHash;\n\tvar upToDate = function upToDate() {\n\t\treturn /** @type {string} */ (lastHash).indexOf(__webpack_hash__) >= 0;\n\t};\n\tvar log = require(\"./log\");\n\tvar check = function check() {\n\t\tmodule.hot\n\t\t\t.check(true)\n\t\t\t.then(function (updatedModules) {\n\t\t\t\tif (!updatedModules) {\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] Cannot find update. \" +\n\t\t\t\t\t\t\t(typeof window !== \"undefined\"\n\t\t\t\t\t\t\t\t? \"Need to do a full reload!\"\n\t\t\t\t\t\t\t\t: \"Please reload manually!\")\n\t\t\t\t\t);\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] (Probably because of restarting the webpack-dev-server)\"\n\t\t\t\t\t);\n\t\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (!upToDate()) {\n\t\t\t\t\tcheck();\n\t\t\t\t}\n\n\t\t\t\trequire(\"./log-apply-result\")(updatedModules, updatedModules);\n\n\t\t\t\tif (upToDate()) {\n\t\t\t\t\tlog(\"info\", \"[HMR] App is up to date.\");\n\t\t\t\t}\n\t\t\t})\n\t\t\t.catch(function (err) {\n\t\t\t\tvar status = module.hot.status();\n\t\t\t\tif ([\"abort\", \"fail\"].indexOf(status) >= 0) {\n\t\t\t\t\tlog(\n\t\t\t\t\t\t\"warning\",\n\t\t\t\t\t\t\"[HMR] Cannot apply update. \" +\n\t\t\t\t\t\t\t(typeof window !== \"undefined\"\n\t\t\t\t\t\t\t\t? \"Need to do a full reload!\"\n\t\t\t\t\t\t\t\t: \"Please reload manually!\")\n\t\t\t\t\t);\n\t\t\t\t\tlog(\"warning\", \"[HMR] \" + log.formatError(err));\n\t\t\t\t\tif (typeof window !== \"undefined\") {\n\t\t\t\t\t\twindow.location.reload();\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlog(\"warning\", \"[HMR] Update failed: \" + log.formatError(err));\n\t\t\t\t}\n\t\t\t});\n\t};\n\tvar hotEmitter = require(\"./emitter\");\n\thotEmitter.on(\"webpackHotUpdate\", function (currentHash) {\n\t\tlastHash = currentHash;\n\t\tif (!upToDate() && module.hot.status() === \"idle\") {\n\t\t\tlog(\"info\", \"[HMR] Checking for updates on the server...\");\n\t\t\tcheck();\n\t\t}\n\t});\n\tlog(\"info\", \"[HMR] Waiting for update signal from WDS...\");\n} else {\n\tthrow new Error(\"[HMR] Hot Module Replacement is disabled.\");\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,IAAIA,MAAM,CAACC,GAAG,EAAE;EACf;EACA,IAAIC,QAAQ;EACZ,IAAIC,QAAQ,GAAG,SAASA,QAAQA,CAAA,EAAG;IAClC,OAAO,qBAAuBD,QAAQ,CAAEE,OAAO,CAACC,gBAAgB,CAAC,IAAI,CAAC;EACvE,CAAC;EACD,IAAIC,GAAG,GAAGC,OAAO,CAAC,OAAO,CAAC;EAC1B,IAAIC,KAAK,GAAG,SAASA,KAAKA,CAAA,EAAG;IAC5BR,MAAM,CAACC,GAAG,CACRO,KAAK,CAAC,IAAI,CAAC,CACXC,IAAI,CAAC,UAAUC,cAAc,EAAE;MAC/B,IAAI,CAACA,cAAc,EAAE;QACpBJ,GAAG,CACF,SAAS,EACT,4BAA4B,IAC1B,OAAOK,MAAM,KAAK,WAAW,GAC3B,2BAA2B,GAC3B,yBAAyB,CAC9B,CAAC;QACDL,GAAG,CACF,SAAS,EACT,+DACD,CAAC;QACD,IAAI,OAAOK,MAAM,KAAK,WAAW,EAAE;UAClCA,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;QACzB;QACA;MACD;MAEA,IAAI,CAACV,QAAQ,CAAC,CAAC,EAAE;QAChBK,KAAK,CAAC,CAAC;MACR;MAEAD,OAAO,CAAC,oBAAoB,CAAC,CAACG,cAAc,EAAEA,cAAc,CAAC;MAE7D,IAAIP,QAAQ,CAAC,CAAC,EAAE;QACfG,GAAG,CAAC,MAAM,EAAE,0BAA0B,CAAC;MACxC;IACD,CAAC,CAAC,CACDQ,KAAK,CAAC,UAAUC,GAAG,EAAE;MACrB,IAAIC,MAAM,GAAGhB,MAAM,CAACC,GAAG,CAACe,MAAM,CAAC,CAAC;MAChC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAACZ,OAAO,CAACY,MAAM,CAAC,IAAI,CAAC,EAAE;QAC3CV,GAAG,CACF,SAAS,EACT,6BAA6B,IAC3B,OAAOK,MAAM,KAAK,WAAW,GAC3B,2BAA2B,GAC3B,yBAAyB,CAC9B,CAAC;QACDL,GAAG,CAAC,SAAS,EAAE,QAAQ,GAAGA,GAAG,CAACW,WAAW,CAACF,GAAG,CAAC,CAAC;QAC/C,IAAI,OAAOJ,MAAM,KAAK,WAAW,EAAE;UAClCA,MAAM,CAACC,QAAQ,CAACC,MAAM,CAAC,CAAC;QACzB;MACD,CAAC,MAAM;QACNP,GAAG,CAAC,SAAS,EAAE,uBAAuB,GAAGA,GAAG,CAACW,WAAW,CAACF,GAAG,CAAC,CAAC;MAC/D;IACD,CAAC,CAAC;EACJ,CAAC;EACD,IAAIG,UAAU,GAAGX,OAAO,CAAC,WAAW,CAAC;EACrCW,UAAU,CAACC,EAAE,CAAC,kBAAkB,EAAE,UAAUC,WAAW,EAAE;IACxDlB,QAAQ,GAAGkB,WAAW;IACtB,IAAI,CAACjB,QAAQ,CAAC,CAAC,IAAIH,MAAM,CAACC,GAAG,CAACe,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE;MAClDV,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC;MAC1DE,KAAK,CAAC,CAAC;IACR;EACD,CAAC,CAAC;EACFF,GAAG,CAAC,MAAM,EAAE,6CAA6C,CAAC;AAC3D,CAAC,MAAM;EACN,MAAM,IAAIe,KAAK,CAAC,2CAA2C,CAAC;AAC7D","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/9e479f2dd4b9f1affdb2e21eca8701f702e4f5e3080c28da3963672d81552bc9.json b/Data-Viz/node_modules/.cache/babel-loader/9e479f2dd4b9f1affdb2e21eca8701f702e4f5e3080c28da3963672d81552bc9.json new file mode 100644 index 000000000..1776f4609 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/9e479f2dd4b9f1affdb2e21eca8701f702e4f5e3080c28da3963672d81552bc9.json @@ -0,0 +1 @@ +{"ast":null,"code":"const SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'midtown-marta',\n predictedDelayMinutes: 2,\n routeId: '1',\n eta: generateETA(2)\n }, {\n stopId: 'tech-square',\n predictedDelayMinutes: 6,\n routeId: '1',\n eta: generateETA(6)\n }, {\n stopId: 'klaus',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '1',\n eta: generateETA(12)\n }, {\n stopId: 'weber-turnaround',\n predictedDelayMinutes: 15,\n routeId: '1',\n eta: generateETA(15)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7778,\n longitude: -84.4058\n }, SHARED.crc, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }, SHARED.studentCenter],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'klaus',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 5,\n routeId: '2',\n eta: generateETA(5)\n }, {\n stopId: 'curran',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 17,\n routeId: '2',\n eta: generateETA(17)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: 84.3935\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'midtown-marta', predictedDelayMinutes: 2, routeId: '1', eta: generateETA(2) },\n { stopId: 'tech-square', predictedDelayMinutes: 6, routeId: '1', eta: generateETA(6) },\n { stopId: 'klaus', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '1', eta: generateETA(12) },\n { stopId: 'weber-turnaround', predictedDelayMinutes: 15, routeId: '1', eta: generateETA(15) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7778, longitude: -84.4058 },\n SHARED.crc,\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 },\n SHARED.studentCenter\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'klaus', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 5, routeId: '2', eta: generateETA(5) },\n { stopId: 'curran', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'student-center', predictedDelayMinutes: 17, routeId: '2', eta: generateETA(17) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: 84.3935 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/9ef238d245f0a11f50622d0b02096aaee9952a59f6c1b620cd59ec605fd41cf5.json b/Data-Viz/node_modules/.cache/babel-loader/9ef238d245f0a11f50622d0b02096aaee9952a59f6c1b620cd59ec605fd41cf5.json new file mode 100644 index 000000000..e5d43b037 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/9ef238d245f0a11f50622d0b02096aaee9952a59f6c1b620cd59ec605fd41cf5.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\n\"production\" !== process.env.NODE_ENV && function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE$2 ? null : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type) switch (\"number\" === typeof type.tag && console.error(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 = \"function\" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || \"Object\";\n JSCompiler_temp_const.call(JSCompiler_inline_result, \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\", JSCompiler_inline_result$jscomp$0);\n return testStringCoercion(value);\n }\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n }\n 0 > disabledDepth && console.error(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix) try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || \"\";\n suffix = -1 < x.stack.indexOf(\"\\n at\") ? \" ()\" : -1 < x.stack.indexOf(\"@\") ? \"@unknown:0:0\" : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) && \"function\" === typeof Fake.catch && Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack) return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName = \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, \"name\");\n namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, \"name\", {\n value: \"DetermineComponentFrameRoot\"\n });\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes(\"DetermineComponentFrameRoot\");) namePropDescriptor++;\n for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes(\"DetermineComponentFrameRoot\");) _RunInRootFrame$Deter++;\n if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter];) _RunInRootFrame$Deter--;\n for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {\n var _frame = \"\\n\" + sampleLines[namePropDescriptor].replace(\" at new \", \" at \");\n fn.displayName && _frame.includes(\"\") && (_frame = _frame.replace(\"\", fn.displayName));\n \"function\" === typeof fn && componentFrameCache.set(fn, _frame);\n return _frame;\n } while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n reentry = !1, ReactSharedInternals.H = previousDispatcher, reenableLogs(), Error.prepareStackTrace = frame;\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\") ? describeBuiltInComponentFrame(sampleLines) : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(type, !(!prototype || !prototype.isReactComponent));\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type) switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return type = describeNativeComponentFrame(type.render, !1), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown || (specialPropKeyWarningShown = !0, console.error(\"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\", displayName));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] || (didWarnAboutElementRef[componentName] = !0, console.error(\"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null) ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n }) : Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n value: null\n });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self) {\n if (\"string\" === typeof type || \"function\" === typeof type || type === REACT_FRAGMENT_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || type === REACT_OFFSCREEN_TYPE || \"object\" === typeof type && null !== type && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_CONSUMER_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_CLIENT_REFERENCE$1 || void 0 !== type.getModuleId)) {\n var children = config.children;\n if (void 0 !== children) if (isStaticChildren) {\n if (isArrayImpl(children)) {\n for (isStaticChildren = 0; isStaticChildren < children.length; isStaticChildren++) validateChildKeys(children[isStaticChildren], type);\n Object.freeze && Object.freeze(children);\n } else console.error(\"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\");\n } else validateChildKeys(children, type);\n } else {\n children = \"\";\n if (void 0 === type || \"object\" === typeof type && null !== type && 0 === Object.keys(type).length) children += \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n null === type ? isStaticChildren = \"null\" : isArrayImpl(type) ? isStaticChildren = \"array\" : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE ? (isStaticChildren = \"<\" + (getComponentNameFromType(type.type) || \"Unknown\") + \" />\", children = \" Did you accidentally export a JSX literal instead of a component?\") : isStaticChildren = typeof type;\n console.error(\"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\", isStaticChildren, children);\n }\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren = 0 < keys.length ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\" : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] || (keys = 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\", console.error('A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />', isStaticChildren, children, keys, children), didWarnAboutKeySpread[children + isStaticChildren] = !0);\n }\n children = null;\n void 0 !== maybeKey && (checkKeyStringCoercion(maybeKey), children = \"\" + maybeKey);\n hasValidKey(config) && (checkKeyStringCoercion(config.key), children = \"\" + config.key);\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config) \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children && defineKeyPropWarningGetter(maybeKey, \"function\" === typeof type ? type.displayName || type.name || \"Unknown\" : type);\n return ReactElement(type, children, self, source, getOwner(), maybeKey);\n }\n function validateChildKeys(node, parentType) {\n if (\"object\" === typeof node && node && node.$$typeof !== REACT_CLIENT_REFERENCE) if (isArrayImpl(node)) for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n } else if (isValidElement(node)) node._store && (node._store.validated = 1);else if (null === node || \"object\" !== typeof node ? i = null : (i = MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL] || node[\"@@iterator\"], i = \"function\" === typeof i ? i : null), \"function\" === typeof i && i !== node.entries && (i = i.call(node), i !== node)) for (; !(node = i.next()).done;) isValidElement(node.value) && validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return \"object\" === typeof object && null !== object && object.$$typeof === REACT_ELEMENT_TYPE;\n }\n function validateExplicitKey(element, parentType) {\n if (element._store && !element._store.validated && null == element.key && (element._store.validated = 1, parentType = getCurrentComponentErrorInfo(parentType), !ownerHasKeyUseWarning[parentType])) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element && null != element._owner && element._owner !== getOwner() && (childOwner = null, \"number\" === typeof element._owner.tag ? childOwner = getComponentNameFromType(element._owner.type) : \"string\" === typeof element._owner.name && (childOwner = element._owner.name), childOwner = \" It was passed a child from \" + childOwner + \".\");\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error('Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.', parentType, childOwner);\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner && (owner = getComponentNameFromType(owner.type)) && (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info || (parentType = getComponentNameFromType(parentType)) && (info = \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\");\n return info;\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals = React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n assign = Object.assign,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n isArrayImpl = Array.isArray,\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\"function\" === typeof WeakMap ? WeakMap : Map)();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var didWarnAboutKeySpread = {},\n ownerHasKeyUseWarning = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (type, config, maybeKey, isStaticChildren, source, self) {\n return jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self);\n };\n}();","map":{"version":3,"names":["process","env","NODE_ENV","getComponentNameFromType","type","$$typeof","REACT_CLIENT_REFERENCE$2","displayName","name","REACT_FRAGMENT_TYPE","REACT_PORTAL_TYPE","REACT_PROFILER_TYPE","REACT_STRICT_MODE_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","tag","console","error","REACT_CONTEXT_TYPE","REACT_CONSUMER_TYPE","_context","REACT_FORWARD_REF_TYPE","innerType","render","REACT_MEMO_TYPE","REACT_LAZY_TYPE","_payload","_init","x","testStringCoercion","value","checkKeyStringCoercion","JSCompiler_inline_result","e","JSCompiler_temp_const","JSCompiler_inline_result$jscomp$0","Symbol","toStringTag","constructor","call","disabledLog","disableLogs","disabledDepth","prevLog","log","prevInfo","info","prevWarn","warn","prevError","prevGroup","group","prevGroupCollapsed","groupCollapsed","prevGroupEnd","groupEnd","props","configurable","enumerable","writable","Object","defineProperties","reenableLogs","assign","describeBuiltInComponentFrame","prefix","Error","match","stack","trim","suffix","indexOf","describeNativeComponentFrame","fn","construct","reentry","frame","componentFrameCache","get","prepareStackTrace","previousDispatcher","ReactSharedInternals","H","RunInRootFrame","DetermineComponentFrameRoot","Fake","defineProperty","prototype","set","Reflect","control","x$0","x$1","catch","sample","namePropDescriptor","getOwnPropertyDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","split","controlLines","length","includes","_frame","replace","describeUnknownElementTypeFrameInDEV","isReactComponent","getOwner","dispatcher","A","hasValidKey","config","hasOwnProperty","getter","isReactWarning","key","defineKeyPropWarningGetter","warnAboutAccessingKey","specialPropKeyWarningShown","elementRefGetterWithDeprecationWarning","componentName","didWarnAboutElementRef","ref","ReactElement","self","source","owner","REACT_ELEMENT_TYPE","_owner","_store","freeze","jsxDEVImpl","maybeKey","isStaticChildren","REACT_OFFSCREEN_TYPE","REACT_CLIENT_REFERENCE$1","getModuleId","children","isArrayImpl","validateChildKeys","keys","filter","k","join","didWarnAboutKeySpread","propName","node","parentType","REACT_CLIENT_REFERENCE","i","child","isValidElement","validateExplicitKey","validated","MAYBE_ITERATOR_SYMBOL","entries","next","done","object","element","getCurrentComponentErrorInfo","ownerHasKeyUseWarning","childOwner","prevGetCurrentStack","getCurrentStack","React","require","for","iterator","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","Array","isArray","__reactDisabledLog","WeakMap","Map","exports","Fragment","jsxDEV"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/react/cjs/react-jsx-dev-runtime.development.js"],"sourcesContent":["/**\n * @license React\n * react-jsx-dev-runtime.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\n\"production\" !== process.env.NODE_ENV &&\n (function () {\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE$2\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type)\n switch (\n (\"number\" === typeof type.tag &&\n console.error(\n \"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"\n ),\n type.$$typeof)\n ) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkKeyStringCoercion(value) {\n try {\n testStringCoercion(value);\n var JSCompiler_inline_result = !1;\n } catch (e) {\n JSCompiler_inline_result = !0;\n }\n if (JSCompiler_inline_result) {\n JSCompiler_inline_result = console;\n var JSCompiler_temp_const = JSCompiler_inline_result.error;\n var JSCompiler_inline_result$jscomp$0 =\n (\"function\" === typeof Symbol &&\n Symbol.toStringTag &&\n value[Symbol.toStringTag]) ||\n value.constructor.name ||\n \"Object\";\n JSCompiler_temp_const.call(\n JSCompiler_inline_result,\n \"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.\",\n JSCompiler_inline_result$jscomp$0\n );\n return testStringCoercion(value);\n }\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = { configurable: !0, enumerable: !0, writable: !0 };\n Object.defineProperties(console, {\n log: assign({}, props, { value: prevLog }),\n info: assign({}, props, { value: prevInfo }),\n warn: assign({}, props, { value: prevWarn }),\n error: assign({}, props, { value: prevError }),\n group: assign({}, props, { value: prevGroup }),\n groupCollapsed: assign({}, props, { value: prevGroupCollapsed }),\n groupEnd: assign({}, props, { value: prevGroupEnd })\n });\n }\n 0 > disabledDepth &&\n console.error(\n \"disabledDepth fell below zero. This is a bug in React. Please file an issue.\"\n );\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" ()\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter =\n RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n _RunInRootFrame$Deter = namePropDescriptor = 0;\n namePropDescriptor < sampleLines.length &&\n !sampleLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n for (\n ;\n _RunInRootFrame$Deter < controlLines.length &&\n !controlLines[_RunInRootFrame$Deter].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n _RunInRootFrame$Deter++;\n if (\n namePropDescriptor === sampleLines.length ||\n _RunInRootFrame$Deter === controlLines.length\n )\n for (\n namePropDescriptor = sampleLines.length - 1,\n _RunInRootFrame$Deter = controlLines.length - 1;\n 1 <= namePropDescriptor &&\n 0 <= _RunInRootFrame$Deter &&\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter];\n\n )\n _RunInRootFrame$Deter--;\n for (\n ;\n 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter;\n namePropDescriptor--, _RunInRootFrame$Deter--\n )\n if (\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter]\n ) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do\n if (\n (namePropDescriptor--,\n _RunInRootFrame$Deter--,\n 0 > _RunInRootFrame$Deter ||\n sampleLines[namePropDescriptor] !==\n controlLines[_RunInRootFrame$Deter])\n ) {\n var _frame =\n \"\\n\" +\n sampleLines[namePropDescriptor].replace(\n \" at new \",\n \" at \"\n );\n fn.displayName &&\n _frame.includes(\"\") &&\n (_frame = _frame.replace(\"\", fn.displayName));\n \"function\" === typeof fn &&\n componentFrameCache.set(fn, _frame);\n return _frame;\n }\n while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n (reentry = !1),\n (ReactSharedInternals.H = previousDispatcher),\n reenableLogs(),\n (Error.prepareStackTrace = frame);\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(sampleLines)\n : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeUnknownElementTypeFrameInDEV(type) {\n if (null == type) return \"\";\n if (\"function\" === typeof type) {\n var prototype = type.prototype;\n return describeNativeComponentFrame(\n type,\n !(!prototype || !prototype.isReactComponent)\n );\n }\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n switch (type) {\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return (type = describeNativeComponentFrame(type.render, !1)), type;\n case REACT_MEMO_TYPE:\n return describeUnknownElementTypeFrameInDEV(type.type);\n case REACT_LAZY_TYPE:\n prototype = type._payload;\n type = type._init;\n try {\n return describeUnknownElementTypeFrameInDEV(type(prototype));\n } catch (x) {}\n }\n return \"\";\n }\n function getOwner() {\n var dispatcher = ReactSharedInternals.A;\n return null === dispatcher ? null : dispatcher.getOwner();\n }\n function hasValidKey(config) {\n if (hasOwnProperty.call(config, \"key\")) {\n var getter = Object.getOwnPropertyDescriptor(config, \"key\").get;\n if (getter && getter.isReactWarning) return !1;\n }\n return void 0 !== config.key;\n }\n function defineKeyPropWarningGetter(props, displayName) {\n function warnAboutAccessingKey() {\n specialPropKeyWarningShown ||\n ((specialPropKeyWarningShown = !0),\n console.error(\n \"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)\",\n displayName\n ));\n }\n warnAboutAccessingKey.isReactWarning = !0;\n Object.defineProperty(props, \"key\", {\n get: warnAboutAccessingKey,\n configurable: !0\n });\n }\n function elementRefGetterWithDeprecationWarning() {\n var componentName = getComponentNameFromType(this.type);\n didWarnAboutElementRef[componentName] ||\n ((didWarnAboutElementRef[componentName] = !0),\n console.error(\n \"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.\"\n ));\n componentName = this.props.ref;\n return void 0 !== componentName ? componentName : null;\n }\n function ReactElement(type, key, self, source, owner, props) {\n self = props.ref;\n type = {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key,\n props: props,\n _owner: owner\n };\n null !== (void 0 !== self ? self : null)\n ? Object.defineProperty(type, \"ref\", {\n enumerable: !1,\n get: elementRefGetterWithDeprecationWarning\n })\n : Object.defineProperty(type, \"ref\", { enumerable: !1, value: null });\n type._store = {};\n Object.defineProperty(type._store, \"validated\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: 0\n });\n Object.defineProperty(type, \"_debugInfo\", {\n configurable: !1,\n enumerable: !1,\n writable: !0,\n value: null\n });\n Object.freeze && (Object.freeze(type.props), Object.freeze(type));\n return type;\n }\n function jsxDEVImpl(\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n if (\n \"string\" === typeof type ||\n \"function\" === typeof type ||\n type === REACT_FRAGMENT_TYPE ||\n type === REACT_PROFILER_TYPE ||\n type === REACT_STRICT_MODE_TYPE ||\n type === REACT_SUSPENSE_TYPE ||\n type === REACT_SUSPENSE_LIST_TYPE ||\n type === REACT_OFFSCREEN_TYPE ||\n (\"object\" === typeof type &&\n null !== type &&\n (type.$$typeof === REACT_LAZY_TYPE ||\n type.$$typeof === REACT_MEMO_TYPE ||\n type.$$typeof === REACT_CONTEXT_TYPE ||\n type.$$typeof === REACT_CONSUMER_TYPE ||\n type.$$typeof === REACT_FORWARD_REF_TYPE ||\n type.$$typeof === REACT_CLIENT_REFERENCE$1 ||\n void 0 !== type.getModuleId))\n ) {\n var children = config.children;\n if (void 0 !== children)\n if (isStaticChildren)\n if (isArrayImpl(children)) {\n for (\n isStaticChildren = 0;\n isStaticChildren < children.length;\n isStaticChildren++\n )\n validateChildKeys(children[isStaticChildren], type);\n Object.freeze && Object.freeze(children);\n } else\n console.error(\n \"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.\"\n );\n else validateChildKeys(children, type);\n } else {\n children = \"\";\n if (\n void 0 === type ||\n (\"object\" === typeof type &&\n null !== type &&\n 0 === Object.keys(type).length)\n )\n children +=\n \" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.\";\n null === type\n ? (isStaticChildren = \"null\")\n : isArrayImpl(type)\n ? (isStaticChildren = \"array\")\n : void 0 !== type && type.$$typeof === REACT_ELEMENT_TYPE\n ? ((isStaticChildren =\n \"<\" +\n (getComponentNameFromType(type.type) || \"Unknown\") +\n \" />\"),\n (children =\n \" Did you accidentally export a JSX literal instead of a component?\"))\n : (isStaticChildren = typeof type);\n console.error(\n \"React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s\",\n isStaticChildren,\n children\n );\n }\n if (hasOwnProperty.call(config, \"key\")) {\n children = getComponentNameFromType(type);\n var keys = Object.keys(config).filter(function (k) {\n return \"key\" !== k;\n });\n isStaticChildren =\n 0 < keys.length\n ? \"{key: someKey, \" + keys.join(\": ..., \") + \": ...}\"\n : \"{key: someKey}\";\n didWarnAboutKeySpread[children + isStaticChildren] ||\n ((keys =\n 0 < keys.length ? \"{\" + keys.join(\": ..., \") + \": ...}\" : \"{}\"),\n console.error(\n 'A props object containing a \"key\" prop is being spread into JSX:\\n let props = %s;\\n <%s {...props} />\\nReact keys must be passed directly to JSX without using spread:\\n let props = %s;\\n <%s key={someKey} {...props} />',\n isStaticChildren,\n children,\n keys,\n children\n ),\n (didWarnAboutKeySpread[children + isStaticChildren] = !0));\n }\n children = null;\n void 0 !== maybeKey &&\n (checkKeyStringCoercion(maybeKey), (children = \"\" + maybeKey));\n hasValidKey(config) &&\n (checkKeyStringCoercion(config.key), (children = \"\" + config.key));\n if (\"key\" in config) {\n maybeKey = {};\n for (var propName in config)\n \"key\" !== propName && (maybeKey[propName] = config[propName]);\n } else maybeKey = config;\n children &&\n defineKeyPropWarningGetter(\n maybeKey,\n \"function\" === typeof type\n ? type.displayName || type.name || \"Unknown\"\n : type\n );\n return ReactElement(type, children, self, source, getOwner(), maybeKey);\n }\n function validateChildKeys(node, parentType) {\n if (\n \"object\" === typeof node &&\n node &&\n node.$$typeof !== REACT_CLIENT_REFERENCE\n )\n if (isArrayImpl(node))\n for (var i = 0; i < node.length; i++) {\n var child = node[i];\n isValidElement(child) && validateExplicitKey(child, parentType);\n }\n else if (isValidElement(node))\n node._store && (node._store.validated = 1);\n else if (\n (null === node || \"object\" !== typeof node\n ? (i = null)\n : ((i =\n (MAYBE_ITERATOR_SYMBOL && node[MAYBE_ITERATOR_SYMBOL]) ||\n node[\"@@iterator\"]),\n (i = \"function\" === typeof i ? i : null)),\n \"function\" === typeof i &&\n i !== node.entries &&\n ((i = i.call(node)), i !== node))\n )\n for (; !(node = i.next()).done; )\n isValidElement(node.value) &&\n validateExplicitKey(node.value, parentType);\n }\n function isValidElement(object) {\n return (\n \"object\" === typeof object &&\n null !== object &&\n object.$$typeof === REACT_ELEMENT_TYPE\n );\n }\n function validateExplicitKey(element, parentType) {\n if (\n element._store &&\n !element._store.validated &&\n null == element.key &&\n ((element._store.validated = 1),\n (parentType = getCurrentComponentErrorInfo(parentType)),\n !ownerHasKeyUseWarning[parentType])\n ) {\n ownerHasKeyUseWarning[parentType] = !0;\n var childOwner = \"\";\n element &&\n null != element._owner &&\n element._owner !== getOwner() &&\n ((childOwner = null),\n \"number\" === typeof element._owner.tag\n ? (childOwner = getComponentNameFromType(element._owner.type))\n : \"string\" === typeof element._owner.name &&\n (childOwner = element._owner.name),\n (childOwner = \" It was passed a child from \" + childOwner + \".\"));\n var prevGetCurrentStack = ReactSharedInternals.getCurrentStack;\n ReactSharedInternals.getCurrentStack = function () {\n var stack = describeUnknownElementTypeFrameInDEV(element.type);\n prevGetCurrentStack && (stack += prevGetCurrentStack() || \"\");\n return stack;\n };\n console.error(\n 'Each child in a list should have a unique \"key\" prop.%s%s See https://react.dev/link/warning-keys for more information.',\n parentType,\n childOwner\n );\n ReactSharedInternals.getCurrentStack = prevGetCurrentStack;\n }\n }\n function getCurrentComponentErrorInfo(parentType) {\n var info = \"\",\n owner = getOwner();\n owner &&\n (owner = getComponentNameFromType(owner.type)) &&\n (info = \"\\n\\nCheck the render method of `\" + owner + \"`.\");\n info ||\n ((parentType = getComponentNameFromType(parentType)) &&\n (info =\n \"\\n\\nCheck the top-level render call using <\" + parentType + \">.\"));\n return info;\n }\n var React = require(\"react\"),\n REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\");\n Symbol.for(\"react.provider\");\n var REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_OFFSCREEN_TYPE = Symbol.for(\"react.offscreen\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator,\n REACT_CLIENT_REFERENCE$2 = Symbol.for(\"react.client.reference\"),\n ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n assign = Object.assign,\n REACT_CLIENT_REFERENCE$1 = Symbol.for(\"react.client.reference\"),\n isArrayImpl = Array.isArray,\n disabledDepth = 0,\n prevLog,\n prevInfo,\n prevWarn,\n prevError,\n prevGroup,\n prevGroupCollapsed,\n prevGroupEnd;\n disabledLog.__reactDisabledLog = !0;\n var prefix,\n suffix,\n reentry = !1;\n var componentFrameCache = new (\n \"function\" === typeof WeakMap ? WeakMap : Map\n )();\n var REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\"),\n specialPropKeyWarningShown;\n var didWarnAboutElementRef = {};\n var didWarnAboutKeySpread = {},\n ownerHasKeyUseWarning = {};\n exports.Fragment = REACT_FRAGMENT_TYPE;\n exports.jsxDEV = function (\n type,\n config,\n maybeKey,\n isStaticChildren,\n source,\n self\n ) {\n return jsxDEVImpl(type, config, maybeKey, isStaticChildren, source, self);\n };\n })();\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/a1b5a7d4b43611bd038c993d0444551db2d7f2f873c4c5b8af0dae552c27e624.json b/Data-Viz/node_modules/.cache/babel-loader/a1b5a7d4b43611bd038c993d0444551db2d7f2f873c4c5b8af0dae552c27e624.json new file mode 100644 index 000000000..737e3b9ba --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/a1b5a7d4b43611bd038c993d0444551db2d7f2f873c4c5b8af0dae552c27e624.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function /* ...args */\n () {\n return fn.apply(that, arguments);\n };\n};","map":{"version":3,"names":["uncurryThis","require","aCallable","NATIVE_BIND","bind","module","exports","fn","that","undefined","apply","arguments"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/internals/function-bind-context.js"],"sourcesContent":["'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,WAAW,GAAGC,OAAO,CAAC,2CAA2C,CAAC;AACtE,IAAIC,SAAS,GAAGD,OAAO,CAAC,yBAAyB,CAAC;AAClD,IAAIE,WAAW,GAAGF,OAAO,CAAC,mCAAmC,CAAC;AAE9D,IAAIG,IAAI,GAAGJ,WAAW,CAACA,WAAW,CAACI,IAAI,CAAC;;AAExC;AACAC,MAAM,CAACC,OAAO,GAAG,UAAUC,EAAE,EAAEC,IAAI,EAAE;EACnCN,SAAS,CAACK,EAAE,CAAC;EACb,OAAOC,IAAI,KAAKC,SAAS,GAAGF,EAAE,GAAGJ,WAAW,GAAGC,IAAI,CAACG,EAAE,EAAEC,IAAI,CAAC,GAAG,SAAU;EAAA,GAAe;IACvF,OAAOD,EAAE,CAACG,KAAK,CAACF,IAAI,EAAEG,SAAS,CAAC;EAClC,CAAC;AACH,CAAC","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/a5620bc75aa096b4023b04324943906fa51e7779ba5976d27947f4319d56dc1e.json b/Data-Viz/node_modules/.cache/babel-loader/a5620bc75aa096b4023b04324943906fa51e7779ba5976d27947f4319d56dc1e.json new file mode 100644 index 000000000..b229d5561 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/a5620bc75aa096b4023b04324943906fa51e7779ba5976d27947f4319d56dc1e.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar parent = require('../es/global-this');\nmodule.exports = parent;","map":{"version":3,"names":["parent","require","module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/stable/global-this.js"],"sourcesContent":["'use strict';\nvar parent = require('../es/global-this');\n\nmodule.exports = parent;\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,MAAM,GAAGC,OAAO,CAAC,mBAAmB,CAAC;AAEzCC,MAAM,CAACC,OAAO,GAAGH,MAAM","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/a61f7e13aa4718a8cb064247a48e162b8f30b5451171130dda33a677fd336215.json b/Data-Viz/node_modules/.cache/babel-loader/a61f7e13aa4718a8cb064247a48e162b8f30b5451171130dda33a677fd336215.json new file mode 100644 index 000000000..31134f5e8 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/a61f7e13aa4718a8cb064247a48e162b8f30b5451171130dda33a677fd336215.json @@ -0,0 +1 @@ +{"ast":null,"code":"'use strict';\n\nvar parent = require('../stable/global-this');\nmodule.exports = parent;","map":{"version":3,"names":["parent","require","module","exports"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/core-js-pure/actual/global-this.js"],"sourcesContent":["'use strict';\nvar parent = require('../stable/global-this');\n\nmodule.exports = parent;\n"],"mappings":"AAAA,YAAY;;AACZ,IAAIA,MAAM,GAAGC,OAAO,CAAC,uBAAuB,CAAC;AAE7CC,MAAM,CAACC,OAAO,GAAGH,MAAM","ignoreList":[]},"metadata":{},"sourceType":"script","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/ac5d727b6f8957489e5acfcacaaba6b14cd1408a69ce00af0d486f3b8f2d75dc.json b/Data-Viz/node_modules/.cache/babel-loader/ac5d727b6f8957489e5acfcacaaba6b14cd1408a69ce00af0d486f3b8f2d75dc.json new file mode 100644 index 000000000..9f9ad1384 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/ac5d727b6f8957489e5acfcacaaba6b14cd1408a69ce00af0d486f3b8f2d75dc.json @@ -0,0 +1 @@ +{"ast":null,"code":"// Shared stops with SAME ID across all routes\nconst SHARED = {\n studentCenter: {\n id: 'student-center',\n name: 'Student Center',\n latitude: 33.7738,\n longitude: -84.3986\n },\n klaus: {\n id: 'klaus',\n name: 'Klaus Building',\n latitude: 33.7772,\n longitude: -84.3956\n },\n kendeda: {\n id: 'kendeda',\n name: 'Kendeda Building',\n latitude: 33.7773,\n longitude: -84.4005\n },\n crc: {\n id: 'crc',\n name: 'Campus Recreation Center',\n latitude: 33.7758,\n longitude: -84.4025\n },\n midtownMarta: {\n id: 'midtown-marta',\n name: 'Midtown MARTA Station',\n latitude: 33.7812,\n longitude: -84.3867\n },\n techSquare: {\n id: 'tech-square',\n name: 'Tech Square',\n latitude: 33.7764,\n longitude: -84.3889\n }\n};\nconst generateETA = delayMinutes => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\nexport const mockRoutes = [{\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [SHARED.techSquare, {\n id: '5th-street-bridge',\n name: '5th Street Bridge',\n latitude: 33.7775,\n longitude: -84.3910\n }, SHARED.klaus, SHARED.studentCenter, SHARED.midtownMarta, {\n id: 'publix',\n name: 'Publix Spring St',\n latitude: 33.7800,\n longitude: -84.3850\n }, {\n id: 'weber-turnaround',\n name: 'Weber Turnaround',\n latitude: 33.7725,\n longitude: -84.3951\n }],\n busLocations: [{\n busId: 'gold-bus-1',\n latitude: 33.7780,\n longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'tech-square',\n predictedDelayMinutes: 4,\n routeId: '1',\n eta: generateETA(4)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 10,\n routeId: '1',\n eta: generateETA(10)\n }]\n}, {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [SHARED.studentCenter, SHARED.klaus, {\n id: 'nanotechnology',\n name: 'Nanotechnology',\n latitude: 33.7783,\n longitude: -84.3994\n }, SHARED.kendeda, {\n id: 'curran',\n name: 'Curran Parking Deck',\n latitude: 33.7795,\n longitude: -84.4010\n }, {\n id: 'van-leer',\n name: 'Van Leer',\n latitude: 33.7758,\n longitude: -84.3968\n }, {\n id: 'instructional-center',\n name: 'Instructional Center',\n latitude: 33.7754,\n longitude: -84.3982\n }, {\n id: 'college-of-computing',\n name: 'College of Computing',\n latitude: 33.7778,\n longitude: -84.3975\n }, {\n id: 'howey-physics',\n name: 'Howey Physics',\n latitude: 33.7775,\n longitude: -84.3990\n }],\n busLocations: [{\n busId: 'red-bus-1',\n latitude: 33.7765,\n longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '2',\n eta: generateETA(2)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '2',\n eta: generateETA(7)\n }, {\n stopId: 'instructional-center',\n predictedDelayMinutes: 15,\n routeId: '2',\n eta: generateETA(15)\n }]\n}, {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [SHARED.studentCenter, {\n id: 'library',\n name: 'Library',\n latitude: 33.7746,\n longitude: -84.3967\n }, {\n id: 'skiles',\n name: 'Skiles Classroom',\n latitude: 33.7741,\n longitude: -84.3955\n }, {\n id: 'weber-space',\n name: 'Weber Space Science',\n latitude: 33.7725,\n longitude: -84.3951\n }, {\n id: 'ferst-center',\n name: 'Ferst Center',\n latitude: 33.7732,\n longitude: -84.3977\n }, SHARED.crc, {\n id: 'north-ave-apts',\n name: 'North Avenue Apartments',\n latitude: 33.7780,\n longitude: -84.4035\n }],\n busLocations: [{\n busId: 'blue-bus-1',\n latitude: 33.7750,\n longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 2,\n routeId: '3',\n eta: generateETA(2)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 14,\n routeId: '3',\n eta: generateETA(14)\n }]\n}, {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [SHARED.studentCenter, {\n id: 'bobby-dodd',\n name: 'Bobby Dodd Stadium',\n latitude: 33.7722,\n longitude: -84.3922\n }, {\n id: 'east-campus-apts',\n name: 'East Campus Apartments',\n latitude: 33.7705,\n longitude: -84.3880\n }, {\n id: 'techwood-drive',\n name: 'Techwood Drive',\n latitude: 33.7695,\n longitude: -84.3850\n }, {\n id: 'gtri',\n name: 'GTRI',\n latitude: 33.7820,\n longitude: -84.3870\n }, {\n id: 'ga-tech-hotel',\n name: 'Georgia Tech Hotel',\n latitude: 33.7763,\n longitude: -84.3878\n }],\n busLocations: [{\n busId: 'green-bus-1',\n latitude: 33.7710,\n longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'student-center',\n predictedDelayMinutes: 6,\n routeId: '4',\n eta: generateETA(6)\n }]\n}, {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [{\n id: 'clough',\n name: 'Clough Commons',\n latitude: 33.7751,\n longitude: -84.3963\n }, SHARED.kendeda, SHARED.crc, SHARED.studentCenter, SHARED.techSquare, SHARED.midtownMarta, {\n id: 'manufacture-building',\n name: 'Manufacture Building',\n latitude: 33.7765,\n longitude: -84.4015\n }],\n busLocations: [{\n busId: 'trolley-bus-1',\n latitude: 33.7760,\n longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [{\n stopId: 'clough',\n predictedDelayMinutes: 5,\n routeId: '5',\n eta: generateETA(5)\n }, {\n stopId: 'kendeda',\n predictedDelayMinutes: 7,\n routeId: '5',\n eta: generateETA(7)\n }, {\n stopId: 'crc',\n predictedDelayMinutes: 10,\n routeId: '5',\n eta: generateETA(10)\n }, {\n stopId: 'student-center',\n predictedDelayMinutes: 12,\n routeId: '5',\n eta: generateETA(12)\n }]\n}];","map":{"version":3,"names":["SHARED","studentCenter","id","name","latitude","longitude","klaus","kendeda","crc","midtownMarta","techSquare","generateETA","delayMinutes","now","Date","setMinutes","getMinutes","hours","getHours","minutes","ampm","displayHours","displayMinutes","mockRoutes","color","stops","busLocations","busId","routeId","lastUpdated","delayPredictions","stopId","predictedDelayMinutes","eta"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/src/lib/mocks/mockTripData.ts"],"sourcesContent":["import { Route } from '@/types/route';\n\n// Shared stops with SAME ID across all routes\nconst SHARED = {\n studentCenter: { id: 'student-center', name: 'Student Center', latitude: 33.7738, longitude: -84.3986 },\n klaus: { id: 'klaus', name: 'Klaus Building', latitude: 33.7772, longitude: -84.3956 },\n kendeda: { id: 'kendeda', name: 'Kendeda Building', latitude: 33.7773, longitude: -84.4005 },\n crc: { id: 'crc', name: 'Campus Recreation Center', latitude: 33.7758, longitude: -84.4025 },\n midtownMarta: { id: 'midtown-marta', name: 'Midtown MARTA Station', latitude: 33.7812, longitude: -84.3867 },\n techSquare: { id: 'tech-square', name: 'Tech Square', latitude: 33.7764, longitude: -84.3889 },\n};\n\nconst generateETA = (delayMinutes: number): string => {\n const now = new Date();\n now.setMinutes(now.getMinutes() + delayMinutes);\n const hours = now.getHours();\n const minutes = now.getMinutes();\n const ampm = hours >= 12 ? 'PM' : 'AM';\n const displayHours = hours % 12 || 12;\n const displayMinutes = minutes < 10 ? `0${minutes}` : minutes;\n return `${displayHours}:${displayMinutes} ${ampm}`;\n};\n\nexport const mockRoutes: Route[] = [\n {\n id: '1',\n name: 'Gold Route',\n color: '#b3a369',\n stops: [\n SHARED.techSquare,\n { id: '5th-street-bridge', name: '5th Street Bridge', latitude: 33.7775, longitude: -84.3910 },\n SHARED.klaus,\n SHARED.studentCenter,\n SHARED.midtownMarta,\n { id: 'publix', name: 'Publix Spring St', latitude: 33.7800, longitude: -84.3850 },\n { id: 'weber-turnaround', name: 'Weber Turnaround', latitude: 33.7725, longitude: -84.3951 }\n ],\n busLocations: [{\n busId: 'gold-bus-1', latitude: 33.7780, longitude: -84.3890,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'tech-square', predictedDelayMinutes: 4, routeId: '1', eta: generateETA(4) },\n { stopId: 'student-center', predictedDelayMinutes: 10, routeId: '1', eta: generateETA(10) }\n ]\n },\n {\n id: '2',\n name: 'Red Route',\n color: '#d11c1cff',\n stops: [\n SHARED.studentCenter,\n SHARED.klaus,\n { id: 'nanotechnology', name: 'Nanotechnology', latitude: 33.7783, longitude: -84.3994 },\n SHARED.kendeda,\n { id: 'curran', name: 'Curran Parking Deck', latitude: 33.7795, longitude: -84.4010 },\n { id: 'van-leer', name: 'Van Leer', latitude: 33.7758, longitude: -84.3968 },\n { id: 'instructional-center', name: 'Instructional Center', latitude: 33.7754, longitude: -84.3982 },\n { id: 'college-of-computing', name: 'College of Computing', latitude: 33.7778, longitude: -84.3975 },\n { id: 'howey-physics', name: 'Howey Physics', latitude: 33.7775, longitude: -84.3990 }\n ],\n busLocations: [{\n busId: 'red-bus-1', latitude: 33.7765, longitude: -84.3970,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '2', eta: generateETA(2) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '2', eta: generateETA(7) },\n { stopId: 'instructional-center', predictedDelayMinutes: 15, routeId: '2', eta: generateETA(15) }\n ]\n },\n {\n id: '3',\n name: 'Blue Route',\n color: '#3B82F6',\n stops: [\n SHARED.studentCenter,\n { id: 'library', name: 'Library', latitude: 33.7746, longitude: -84.3967 },\n { id: 'skiles', name: 'Skiles Classroom', latitude: 33.7741, longitude: -84.3955 },\n { id: 'weber-space', name: 'Weber Space Science', latitude: 33.7725, longitude: -84.3951 },\n { id: 'ferst-center', name: 'Ferst Center', latitude: 33.7732, longitude: -84.3977 },\n SHARED.crc,\n { id: 'north-ave-apts', name: 'North Avenue Apartments', latitude: 33.7780, longitude: -84.4035 }\n ],\n busLocations: [{\n busId: 'blue-bus-1', latitude: 33.7750, longitude: -84.3980,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 2, routeId: '3', eta: generateETA(2) },\n { stopId: 'crc', predictedDelayMinutes: 14, routeId: '3', eta: generateETA(14) }\n ]\n },\n {\n id: '4',\n name: 'Green Route',\n color: '#10B981',\n stops: [\n SHARED.studentCenter,\n { id: 'bobby-dodd', name: 'Bobby Dodd Stadium', latitude: 33.7722, longitude: -84.3922 },\n { id: 'east-campus-apts', name: 'East Campus Apartments', latitude: 33.7705, longitude: -84.3880 },\n { id: 'techwood-drive', name: 'Techwood Drive', latitude: 33.7695, longitude: -84.3850 },\n { id: 'gtri', name: 'GTRI', latitude: 33.7820, longitude: -84.3870 },\n { id: 'ga-tech-hotel', name: 'Georgia Tech Hotel', latitude: 33.7763, longitude: -84.3878 }\n ],\n busLocations: [{\n busId: 'green-bus-1', latitude: 33.7710, longitude: -84.3900,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'student-center', predictedDelayMinutes: 6, routeId: '4', eta: generateETA(6) }\n ]\n },\n {\n id: '5',\n name: 'Trolley Route',\n color: '#8B5CF6',\n stops: [\n { id: 'clough', name: 'Clough Commons', latitude: 33.7751, longitude: -84.3963 },\n SHARED.kendeda,\n SHARED.crc,\n SHARED.studentCenter,\n SHARED.techSquare,\n SHARED.midtownMarta,\n { id: 'manufacture-building', name: 'Manufacture Building', latitude: 33.7765, longitude: -84.4015 }\n ],\n busLocations: [{\n busId: 'trolley-bus-1', latitude: 33.7760, longitude: -84.3950,\n routeId: '',\n lastUpdated: ''\n }],\n delayPredictions: [\n { stopId: 'clough', predictedDelayMinutes: 5, routeId: '5', eta: generateETA(5) },\n { stopId: 'kendeda', predictedDelayMinutes: 7, routeId: '5', eta: generateETA(7) },\n { stopId: 'crc', predictedDelayMinutes: 10, routeId: '5', eta: generateETA(10) },\n { stopId: 'student-center', predictedDelayMinutes: 12, routeId: '5', eta: generateETA(12) }\n ]\n }\n];\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/af6a41ea4911223febb4dc6b51a25fbfe73736b0698a07e2735d8deac9b072ed.json b/Data-Viz/node_modules/.cache/babel-loader/af6a41ea4911223febb4dc6b51a25fbfe73736b0698a07e2735d8deac9b072ed.json new file mode 100644 index 000000000..40e6b8e06 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/af6a41ea4911223febb4dc6b51a25fbfe73736b0698a07e2735d8deac9b072ed.json @@ -0,0 +1 @@ +{"ast":null,"code":"function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _defineProperty(obj, key, value) {\n key = _toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\nfunction _toPropertyKey(arg) {\n var key = _toPrimitive(arg, \"string\");\n return typeof key === \"symbol\" ? key : String(key);\n}\nfunction _toPrimitive(input, hint) {\n if (typeof input !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (typeof res !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}\n// The error overlay is inspired (and mostly copied) from Create React App (https://github.com/facebookincubator/create-react-app)\n// They, in turn, got inspired by webpack-hot-middleware (https://github.com/glenjamin/webpack-hot-middleware).\n\nimport ansiHTML from \"ansi-html-community\";\nimport { encode } from \"html-entities\";\nimport { listenToRuntimeError, listenToUnhandledRejection, parseErrorToStacks } from \"./overlay/runtime-error.js\";\nimport createOverlayMachine from \"./overlay/state-machine.js\";\nimport { containerStyle, dismissButtonStyle, headerStyle, iframeStyle, msgStyles, msgTextStyle, msgTypeStyle } from \"./overlay/styles.js\";\nvar colors = {\n reset: [\"transparent\", \"transparent\"],\n black: \"181818\",\n red: \"E36049\",\n green: \"B3CB74\",\n yellow: \"FFD080\",\n blue: \"7CAFC2\",\n magenta: \"7FACCA\",\n cyan: \"C3C2EF\",\n lightgrey: \"EBE7E3\",\n darkgrey: \"6D7891\"\n};\nansiHTML.setColors(colors);\n\n/**\n * @param {string} type\n * @param {string | { file?: string, moduleName?: string, loc?: string, message?: string; stack?: string[] }} item\n * @returns {{ header: string, body: string }}\n */\nfunction formatProblem(type, item) {\n var header = type === \"warning\" ? \"WARNING\" : \"ERROR\";\n var body = \"\";\n if (typeof item === \"string\") {\n body += item;\n } else {\n var file = item.file || \"\";\n // eslint-disable-next-line no-nested-ternary\n var moduleName = item.moduleName ? item.moduleName.indexOf(\"!\") !== -1 ? \"\".concat(item.moduleName.replace(/^(\\s|\\S)*!/, \"\"), \" (\").concat(item.moduleName, \")\") : \"\".concat(item.moduleName) : \"\";\n var loc = item.loc;\n header += \"\".concat(moduleName || file ? \" in \".concat(moduleName ? \"\".concat(moduleName).concat(file ? \" (\".concat(file, \")\") : \"\") : file).concat(loc ? \" \".concat(loc) : \"\") : \"\");\n body += item.message || \"\";\n }\n if (Array.isArray(item.stack)) {\n item.stack.forEach(function (stack) {\n if (typeof stack === \"string\") {\n body += \"\\r\\n\".concat(stack);\n }\n });\n }\n return {\n header: header,\n body: body\n };\n}\n\n/**\n * @typedef {Object} CreateOverlayOptions\n * @property {string | null} trustedTypesPolicyName\n * @property {boolean | (error: Error) => void} [catchRuntimeError]\n */\n\n/**\n *\n * @param {CreateOverlayOptions} options\n */\nvar createOverlay = function createOverlay(options) {\n /** @type {HTMLIFrameElement | null | undefined} */\n var iframeContainerElement;\n /** @type {HTMLDivElement | null | undefined} */\n var containerElement;\n /** @type {HTMLDivElement | null | undefined} */\n var headerElement;\n /** @type {Array<(element: HTMLDivElement) => void>} */\n var onLoadQueue = [];\n /** @type {TrustedTypePolicy | undefined} */\n var overlayTrustedTypesPolicy;\n\n /**\n *\n * @param {HTMLElement} element\n * @param {CSSStyleDeclaration} style\n */\n function applyStyle(element, style) {\n Object.keys(style).forEach(function (prop) {\n element.style[prop] = style[prop];\n });\n }\n\n /**\n * @param {string | null} trustedTypesPolicyName\n */\n function createContainer(trustedTypesPolicyName) {\n // Enable Trusted Types if they are available in the current browser.\n if (window.trustedTypes) {\n overlayTrustedTypesPolicy = window.trustedTypes.createPolicy(trustedTypesPolicyName || \"webpack-dev-server#overlay\", {\n createHTML: function createHTML(value) {\n return value;\n }\n });\n }\n iframeContainerElement = document.createElement(\"iframe\");\n iframeContainerElement.id = \"webpack-dev-server-client-overlay\";\n iframeContainerElement.src = \"about:blank\";\n applyStyle(iframeContainerElement, iframeStyle);\n iframeContainerElement.onload = function () {\n var contentElement = /** @type {Document} */\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.createElement(\"div\");\n containerElement = /** @type {Document} */\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.createElement(\"div\");\n contentElement.id = \"webpack-dev-server-client-overlay-div\";\n applyStyle(contentElement, containerStyle);\n headerElement = document.createElement(\"div\");\n headerElement.innerText = \"Compiled with problems:\";\n applyStyle(headerElement, headerStyle);\n var closeButtonElement = document.createElement(\"button\");\n applyStyle(closeButtonElement, dismissButtonStyle);\n closeButtonElement.innerText = \"×\";\n closeButtonElement.ariaLabel = \"Dismiss\";\n closeButtonElement.addEventListener(\"click\", function () {\n // eslint-disable-next-line no-use-before-define\n overlayService.send({\n type: \"DISMISS\"\n });\n });\n contentElement.appendChild(headerElement);\n contentElement.appendChild(closeButtonElement);\n contentElement.appendChild(containerElement);\n\n /** @type {Document} */\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.body.appendChild(contentElement);\n onLoadQueue.forEach(function (onLoad) {\n onLoad(/** @type {HTMLDivElement} */contentElement);\n });\n onLoadQueue = [];\n\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.onload = null;\n };\n document.body.appendChild(iframeContainerElement);\n }\n\n /**\n * @param {(element: HTMLDivElement) => void} callback\n * @param {string | null} trustedTypesPolicyName\n */\n function ensureOverlayExists(callback, trustedTypesPolicyName) {\n if (containerElement) {\n containerElement.innerHTML = \"\";\n // Everything is ready, call the callback right away.\n callback(containerElement);\n return;\n }\n onLoadQueue.push(callback);\n if (iframeContainerElement) {\n return;\n }\n createContainer(trustedTypesPolicyName);\n }\n\n // Successful compilation.\n function hide() {\n if (!iframeContainerElement) {\n return;\n }\n\n // Clean up and reset internal state.\n document.body.removeChild(iframeContainerElement);\n iframeContainerElement = null;\n containerElement = null;\n }\n\n // Compilation with errors (e.g. syntax error or missing modules).\n /**\n * @param {string} type\n * @param {Array} messages\n * @param {string | null} trustedTypesPolicyName\n * @param {'build' | 'runtime'} messageSource\n */\n function show(type, messages, trustedTypesPolicyName, messageSource) {\n ensureOverlayExists(function () {\n headerElement.innerText = messageSource === \"runtime\" ? \"Uncaught runtime errors:\" : \"Compiled with problems:\";\n messages.forEach(function (message) {\n var entryElement = document.createElement(\"div\");\n var msgStyle = type === \"warning\" ? msgStyles.warning : msgStyles.error;\n applyStyle(entryElement, _objectSpread(_objectSpread({}, msgStyle), {}, {\n padding: \"1rem 1rem 1.5rem 1rem\"\n }));\n var typeElement = document.createElement(\"div\");\n var _formatProblem = formatProblem(type, message),\n header = _formatProblem.header,\n body = _formatProblem.body;\n typeElement.innerText = header;\n applyStyle(typeElement, msgTypeStyle);\n if (message.moduleIdentifier) {\n applyStyle(typeElement, {\n cursor: \"pointer\"\n });\n // element.dataset not supported in IE\n typeElement.setAttribute(\"data-can-open\", true);\n typeElement.addEventListener(\"click\", function () {\n fetch(\"/webpack-dev-server/open-editor?fileName=\".concat(message.moduleIdentifier));\n });\n }\n\n // Make it look similar to our terminal.\n var text = ansiHTML(encode(body));\n var messageTextNode = document.createElement(\"div\");\n applyStyle(messageTextNode, msgTextStyle);\n messageTextNode.innerHTML = overlayTrustedTypesPolicy ? overlayTrustedTypesPolicy.createHTML(text) : text;\n entryElement.appendChild(typeElement);\n entryElement.appendChild(messageTextNode);\n\n /** @type {HTMLDivElement} */\n containerElement.appendChild(entryElement);\n });\n }, trustedTypesPolicyName);\n }\n var overlayService = createOverlayMachine({\n showOverlay: function showOverlay(_ref) {\n var _ref$level = _ref.level,\n level = _ref$level === void 0 ? \"error\" : _ref$level,\n messages = _ref.messages,\n messageSource = _ref.messageSource;\n return show(level, messages, options.trustedTypesPolicyName, messageSource);\n },\n hideOverlay: hide\n });\n if (options.catchRuntimeError) {\n /**\n * @param {Error | undefined} error\n * @param {string} fallbackMessage\n */\n var handleError = function handleError(error, fallbackMessage) {\n var errorObject = error instanceof Error ? error : new Error(error || fallbackMessage);\n var shouldDisplay = typeof options.catchRuntimeError === \"function\" ? options.catchRuntimeError(errorObject) : true;\n if (shouldDisplay) {\n overlayService.send({\n type: \"RUNTIME_ERROR\",\n messages: [{\n message: errorObject.message,\n stack: parseErrorToStacks(errorObject)\n }]\n });\n }\n };\n listenToRuntimeError(function (errorEvent) {\n // error property may be empty in older browser like IE\n var error = errorEvent.error,\n message = errorEvent.message;\n if (!error && !message) {\n return;\n }\n handleError(error, message);\n });\n listenToUnhandledRejection(function (promiseRejectionEvent) {\n var reason = promiseRejectionEvent.reason;\n handleError(reason, \"Unknown promise rejection reason\");\n });\n }\n return overlayService;\n};\nexport { formatProblem, createOverlay };","map":{"version":3,"names":["ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","call","TypeError","Number","ansiHTML","encode","listenToRuntimeError","listenToUnhandledRejection","parseErrorToStacks","createOverlayMachine","containerStyle","dismissButtonStyle","headerStyle","iframeStyle","msgStyles","msgTextStyle","msgTypeStyle","colors","reset","black","red","green","yellow","blue","magenta","cyan","lightgrey","darkgrey","setColors","formatProblem","type","item","header","body","file","moduleName","indexOf","concat","replace","loc","message","Array","isArray","stack","createOverlay","options","iframeContainerElement","containerElement","headerElement","onLoadQueue","overlayTrustedTypesPolicy","applyStyle","element","style","prop","createContainer","trustedTypesPolicyName","window","trustedTypes","createPolicy","createHTML","document","createElement","id","src","onload","contentElement","contentDocument","innerText","closeButtonElement","ariaLabel","addEventListener","overlayService","send","appendChild","onLoad","ensureOverlayExists","callback","innerHTML","hide","removeChild","show","messages","messageSource","entryElement","msgStyle","warning","error","padding","typeElement","_formatProblem","moduleIdentifier","cursor","setAttribute","fetch","text","messageTextNode","showOverlay","_ref","_ref$level","level","hideOverlay","catchRuntimeError","handleError","fallbackMessage","errorObject","Error","shouldDisplay","errorEvent","promiseRejectionEvent","reason"],"sources":["/Users/joshuayi/Documents/stinger-delay/Data-Viz/node_modules/webpack-dev-server/client/overlay.js"],"sourcesContent":["function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\nfunction _toPropertyKey(arg) { var key = _toPrimitive(arg, \"string\"); return typeof key === \"symbol\" ? key : String(key); }\nfunction _toPrimitive(input, hint) { if (typeof input !== \"object\" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || \"default\"); if (typeof res !== \"object\") return res; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (hint === \"string\" ? String : Number)(input); }\n// The error overlay is inspired (and mostly copied) from Create React App (https://github.com/facebookincubator/create-react-app)\n// They, in turn, got inspired by webpack-hot-middleware (https://github.com/glenjamin/webpack-hot-middleware).\n\nimport ansiHTML from \"ansi-html-community\";\nimport { encode } from \"html-entities\";\nimport { listenToRuntimeError, listenToUnhandledRejection, parseErrorToStacks } from \"./overlay/runtime-error.js\";\nimport createOverlayMachine from \"./overlay/state-machine.js\";\nimport { containerStyle, dismissButtonStyle, headerStyle, iframeStyle, msgStyles, msgTextStyle, msgTypeStyle } from \"./overlay/styles.js\";\nvar colors = {\n reset: [\"transparent\", \"transparent\"],\n black: \"181818\",\n red: \"E36049\",\n green: \"B3CB74\",\n yellow: \"FFD080\",\n blue: \"7CAFC2\",\n magenta: \"7FACCA\",\n cyan: \"C3C2EF\",\n lightgrey: \"EBE7E3\",\n darkgrey: \"6D7891\"\n};\nansiHTML.setColors(colors);\n\n/**\n * @param {string} type\n * @param {string | { file?: string, moduleName?: string, loc?: string, message?: string; stack?: string[] }} item\n * @returns {{ header: string, body: string }}\n */\nfunction formatProblem(type, item) {\n var header = type === \"warning\" ? \"WARNING\" : \"ERROR\";\n var body = \"\";\n if (typeof item === \"string\") {\n body += item;\n } else {\n var file = item.file || \"\";\n // eslint-disable-next-line no-nested-ternary\n var moduleName = item.moduleName ? item.moduleName.indexOf(\"!\") !== -1 ? \"\".concat(item.moduleName.replace(/^(\\s|\\S)*!/, \"\"), \" (\").concat(item.moduleName, \")\") : \"\".concat(item.moduleName) : \"\";\n var loc = item.loc;\n header += \"\".concat(moduleName || file ? \" in \".concat(moduleName ? \"\".concat(moduleName).concat(file ? \" (\".concat(file, \")\") : \"\") : file).concat(loc ? \" \".concat(loc) : \"\") : \"\");\n body += item.message || \"\";\n }\n if (Array.isArray(item.stack)) {\n item.stack.forEach(function (stack) {\n if (typeof stack === \"string\") {\n body += \"\\r\\n\".concat(stack);\n }\n });\n }\n return {\n header: header,\n body: body\n };\n}\n\n/**\n * @typedef {Object} CreateOverlayOptions\n * @property {string | null} trustedTypesPolicyName\n * @property {boolean | (error: Error) => void} [catchRuntimeError]\n */\n\n/**\n *\n * @param {CreateOverlayOptions} options\n */\nvar createOverlay = function createOverlay(options) {\n /** @type {HTMLIFrameElement | null | undefined} */\n var iframeContainerElement;\n /** @type {HTMLDivElement | null | undefined} */\n var containerElement;\n /** @type {HTMLDivElement | null | undefined} */\n var headerElement;\n /** @type {Array<(element: HTMLDivElement) => void>} */\n var onLoadQueue = [];\n /** @type {TrustedTypePolicy | undefined} */\n var overlayTrustedTypesPolicy;\n\n /**\n *\n * @param {HTMLElement} element\n * @param {CSSStyleDeclaration} style\n */\n function applyStyle(element, style) {\n Object.keys(style).forEach(function (prop) {\n element.style[prop] = style[prop];\n });\n }\n\n /**\n * @param {string | null} trustedTypesPolicyName\n */\n function createContainer(trustedTypesPolicyName) {\n // Enable Trusted Types if they are available in the current browser.\n if (window.trustedTypes) {\n overlayTrustedTypesPolicy = window.trustedTypes.createPolicy(trustedTypesPolicyName || \"webpack-dev-server#overlay\", {\n createHTML: function createHTML(value) {\n return value;\n }\n });\n }\n iframeContainerElement = document.createElement(\"iframe\");\n iframeContainerElement.id = \"webpack-dev-server-client-overlay\";\n iframeContainerElement.src = \"about:blank\";\n applyStyle(iframeContainerElement, iframeStyle);\n iframeContainerElement.onload = function () {\n var contentElement = /** @type {Document} */\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.createElement(\"div\");\n containerElement = /** @type {Document} */\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.createElement(\"div\");\n contentElement.id = \"webpack-dev-server-client-overlay-div\";\n applyStyle(contentElement, containerStyle);\n headerElement = document.createElement(\"div\");\n headerElement.innerText = \"Compiled with problems:\";\n applyStyle(headerElement, headerStyle);\n var closeButtonElement = document.createElement(\"button\");\n applyStyle(closeButtonElement, dismissButtonStyle);\n closeButtonElement.innerText = \"×\";\n closeButtonElement.ariaLabel = \"Dismiss\";\n closeButtonElement.addEventListener(\"click\", function () {\n // eslint-disable-next-line no-use-before-define\n overlayService.send({\n type: \"DISMISS\"\n });\n });\n contentElement.appendChild(headerElement);\n contentElement.appendChild(closeButtonElement);\n contentElement.appendChild(containerElement);\n\n /** @type {Document} */\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.contentDocument.body.appendChild(contentElement);\n onLoadQueue.forEach(function (onLoad) {\n onLoad( /** @type {HTMLDivElement} */contentElement);\n });\n onLoadQueue = [];\n\n /** @type {HTMLIFrameElement} */\n iframeContainerElement.onload = null;\n };\n document.body.appendChild(iframeContainerElement);\n }\n\n /**\n * @param {(element: HTMLDivElement) => void} callback\n * @param {string | null} trustedTypesPolicyName\n */\n function ensureOverlayExists(callback, trustedTypesPolicyName) {\n if (containerElement) {\n containerElement.innerHTML = \"\";\n // Everything is ready, call the callback right away.\n callback(containerElement);\n return;\n }\n onLoadQueue.push(callback);\n if (iframeContainerElement) {\n return;\n }\n createContainer(trustedTypesPolicyName);\n }\n\n // Successful compilation.\n function hide() {\n if (!iframeContainerElement) {\n return;\n }\n\n // Clean up and reset internal state.\n document.body.removeChild(iframeContainerElement);\n iframeContainerElement = null;\n containerElement = null;\n }\n\n // Compilation with errors (e.g. syntax error or missing modules).\n /**\n * @param {string} type\n * @param {Array} messages\n * @param {string | null} trustedTypesPolicyName\n * @param {'build' | 'runtime'} messageSource\n */\n function show(type, messages, trustedTypesPolicyName, messageSource) {\n ensureOverlayExists(function () {\n headerElement.innerText = messageSource === \"runtime\" ? \"Uncaught runtime errors:\" : \"Compiled with problems:\";\n messages.forEach(function (message) {\n var entryElement = document.createElement(\"div\");\n var msgStyle = type === \"warning\" ? msgStyles.warning : msgStyles.error;\n applyStyle(entryElement, _objectSpread(_objectSpread({}, msgStyle), {}, {\n padding: \"1rem 1rem 1.5rem 1rem\"\n }));\n var typeElement = document.createElement(\"div\");\n var _formatProblem = formatProblem(type, message),\n header = _formatProblem.header,\n body = _formatProblem.body;\n typeElement.innerText = header;\n applyStyle(typeElement, msgTypeStyle);\n if (message.moduleIdentifier) {\n applyStyle(typeElement, {\n cursor: \"pointer\"\n });\n // element.dataset not supported in IE\n typeElement.setAttribute(\"data-can-open\", true);\n typeElement.addEventListener(\"click\", function () {\n fetch(\"/webpack-dev-server/open-editor?fileName=\".concat(message.moduleIdentifier));\n });\n }\n\n // Make it look similar to our terminal.\n var text = ansiHTML(encode(body));\n var messageTextNode = document.createElement(\"div\");\n applyStyle(messageTextNode, msgTextStyle);\n messageTextNode.innerHTML = overlayTrustedTypesPolicy ? overlayTrustedTypesPolicy.createHTML(text) : text;\n entryElement.appendChild(typeElement);\n entryElement.appendChild(messageTextNode);\n\n /** @type {HTMLDivElement} */\n containerElement.appendChild(entryElement);\n });\n }, trustedTypesPolicyName);\n }\n var overlayService = createOverlayMachine({\n showOverlay: function showOverlay(_ref) {\n var _ref$level = _ref.level,\n level = _ref$level === void 0 ? \"error\" : _ref$level,\n messages = _ref.messages,\n messageSource = _ref.messageSource;\n return show(level, messages, options.trustedTypesPolicyName, messageSource);\n },\n hideOverlay: hide\n });\n if (options.catchRuntimeError) {\n /**\n * @param {Error | undefined} error\n * @param {string} fallbackMessage\n */\n var handleError = function handleError(error, fallbackMessage) {\n var errorObject = error instanceof Error ? error : new Error(error || fallbackMessage);\n var shouldDisplay = typeof options.catchRuntimeError === \"function\" ? options.catchRuntimeError(errorObject) : true;\n if (shouldDisplay) {\n overlayService.send({\n type: \"RUNTIME_ERROR\",\n messages: [{\n message: errorObject.message,\n stack: parseErrorToStacks(errorObject)\n }]\n });\n }\n };\n listenToRuntimeError(function (errorEvent) {\n // error property may be empty in older browser like IE\n var error = errorEvent.error,\n message = errorEvent.message;\n if (!error && !message) {\n return;\n }\n handleError(error, message);\n });\n listenToUnhandledRejection(function (promiseRejectionEvent) {\n var reason = promiseRejectionEvent.reason;\n handleError(reason, \"Unknown promise rejection reason\");\n });\n }\n return overlayService;\n};\nexport { formatProblem, createOverlay };"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]} \ No newline at end of file diff --git a/Data-Viz/node_modules/.cache/babel-loader/b15abcd2a742d5a82a761240f07de92a70b998e9a215a38da3e0968e325161f9.json b/Data-Viz/node_modules/.cache/babel-loader/b15abcd2a742d5a82a761240f07de92a70b998e9a215a38da3e0968e325161f9.json new file mode 100644 index 000000000..e97f421f5 --- /dev/null +++ b/Data-Viz/node_modules/.cache/babel-loader/b15abcd2a742d5a82a761240f07de92a70b998e9a215a38da3e0968e325161f9.json @@ -0,0 +1 @@ +{"ast":null,"code":"/**\n * @license React\n * react-dom-client.development.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n\"use strict\";\n\n\"production\" !== process.env.NODE_ENV && function () {\n function findHook(fiber, id) {\n for (fiber = fiber.memoizedState; null !== fiber && 0 < id;) fiber = fiber.next, id--;\n return fiber;\n }\n function copyWithSetImpl(obj, path, index, value) {\n if (index >= path.length) return value;\n var key = path[index],\n updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);\n updated[key] = copyWithSetImpl(obj[key], path, index + 1, value);\n return updated;\n }\n function copyWithRename(obj, oldPath, newPath) {\n if (oldPath.length !== newPath.length) console.warn(\"copyWithRename() expects paths of the same length\");else {\n for (var i = 0; i < newPath.length - 1; i++) if (oldPath[i] !== newPath[i]) {\n console.warn(\"copyWithRename() expects paths to be the same except for the deepest key\");\n return;\n }\n return copyWithRenameImpl(obj, oldPath, newPath, 0);\n }\n }\n function copyWithRenameImpl(obj, oldPath, newPath, index) {\n var oldKey = oldPath[index],\n updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);\n index + 1 === oldPath.length ? (updated[newPath[index]] = updated[oldKey], isArrayImpl(updated) ? updated.splice(oldKey, 1) : delete updated[oldKey]) : updated[oldKey] = copyWithRenameImpl(obj[oldKey], oldPath, newPath, index + 1);\n return updated;\n }\n function copyWithDeleteImpl(obj, path, index) {\n var key = path[index],\n updated = isArrayImpl(obj) ? obj.slice() : assign({}, obj);\n if (index + 1 === path.length) return isArrayImpl(updated) ? updated.splice(key, 1) : delete updated[key], updated;\n updated[key] = copyWithDeleteImpl(obj[key], path, index + 1);\n return updated;\n }\n function shouldSuspendImpl() {\n return !1;\n }\n function shouldErrorImpl() {\n return null;\n }\n function createFiber(tag, pendingProps, key, mode) {\n return new FiberNode(tag, pendingProps, key, mode);\n }\n function warnInvalidHookAccess() {\n console.error(\"Do not call Hooks inside useEffect(...), useMemo(...), or other built-in Hooks. You can only call Hooks at the top level of your React function. For more information, see https://react.dev/link/rules-of-hooks\");\n }\n function warnInvalidContextAccess() {\n console.error(\"Context can only be read while React is rendering. In classes, you can read it in the render method or getDerivedStateFromProps. In function components, you can read it directly in the function body, but not inside Hooks like useReducer() or useMemo().\");\n }\n function noop$2() {}\n function warnForMissingKey() {}\n function setToSortedString(set) {\n var array = [];\n set.forEach(function (value) {\n array.push(value);\n });\n return array.sort().join(\", \");\n }\n function scheduleRoot(root, element) {\n root.context === emptyContextObject && (updateContainerSync(element, root, null, null), flushSyncWork$1());\n }\n function scheduleRefresh(root, update) {\n if (null !== resolveFamily) {\n var staleFamilies = update.staleFamilies;\n update = update.updatedFamilies;\n flushPassiveEffects();\n scheduleFibersWithFamiliesRecursively(root.current, update, staleFamilies);\n flushSyncWork$1();\n }\n }\n function setRefreshHandler(handler) {\n resolveFamily = handler;\n }\n function isValidContainer(node) {\n return !(!node || 1 !== node.nodeType && 9 !== node.nodeType && 11 !== node.nodeType);\n }\n function getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable = MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL] || maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n }\n function getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type) return type.$$typeof === REACT_CLIENT_REFERENCE ? null : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n }\n if (\"object\" === typeof type) switch (\"number\" === typeof type.tag && console.error(\"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue.\"), type.$$typeof) {\n case REACT_CONTEXT_TYPE:\n return (type.displayName || \"Context\") + \".Provider\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type || (type = innerType.displayName || innerType.name || \"\", type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\");\n return type;\n case REACT_MEMO_TYPE:\n return innerType = type.displayName || null, null !== innerType ? innerType : getComponentNameFromType(type.type) || \"Memo\";\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n }\n function getComponentNameFromOwner(owner) {\n return \"number\" === typeof owner.tag ? getComponentNameFromFiber(owner) : \"string\" === typeof owner.name ? owner.name : null;\n }\n function getComponentNameFromFiber(fiber) {\n var type = fiber.type;\n switch (fiber.tag) {\n case 24:\n return \"Cache\";\n case 9:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case 10:\n return (type.displayName || \"Context\") + \".Provider\";\n case 18:\n return \"DehydratedFragment\";\n case 11:\n return fiber = type.render, fiber = fiber.displayName || fiber.name || \"\", type.displayName || (\"\" !== fiber ? \"ForwardRef(\" + fiber + \")\" : \"ForwardRef\");\n case 7:\n return \"Fragment\";\n case 26:\n case 27:\n case 5:\n return type;\n case 4:\n return \"Portal\";\n case 3:\n return \"Root\";\n case 6:\n return \"Text\";\n case 16:\n return getComponentNameFromType(type);\n case 8:\n return type === REACT_STRICT_MODE_TYPE ? \"StrictMode\" : \"Mode\";\n case 22:\n return \"Offscreen\";\n case 12:\n return \"Profiler\";\n case 21:\n return \"Scope\";\n case 13:\n return \"Suspense\";\n case 19:\n return \"SuspenseList\";\n case 25:\n return \"TracingMarker\";\n case 1:\n case 0:\n case 14:\n case 15:\n if (\"function\" === typeof type) return type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n break;\n case 29:\n type = fiber._debugInfo;\n if (null != type) for (var i = type.length - 1; 0 <= i; i--) if (\"string\" === typeof type[i].name) return type[i].name;\n if (null !== fiber.return) return getComponentNameFromFiber(fiber.return);\n }\n return null;\n }\n function disabledLog() {}\n function disableLogs() {\n if (0 === disabledDepth) {\n prevLog = console.log;\n prevInfo = console.info;\n prevWarn = console.warn;\n prevError = console.error;\n prevGroup = console.group;\n prevGroupCollapsed = console.groupCollapsed;\n prevGroupEnd = console.groupEnd;\n var props = {\n configurable: !0,\n enumerable: !0,\n value: disabledLog,\n writable: !0\n };\n Object.defineProperties(console, {\n info: props,\n log: props,\n warn: props,\n error: props,\n group: props,\n groupCollapsed: props,\n groupEnd: props\n });\n }\n disabledDepth++;\n }\n function reenableLogs() {\n disabledDepth--;\n if (0 === disabledDepth) {\n var props = {\n configurable: !0,\n enumerable: !0,\n writable: !0\n };\n Object.defineProperties(console, {\n log: assign({}, props, {\n value: prevLog\n }),\n info: assign({}, props, {\n value: prevInfo\n }),\n warn: assign({}, props, {\n value: prevWarn\n }),\n error: assign({}, props, {\n value: prevError\n }),\n group: assign({}, props, {\n value: prevGroup\n }),\n groupCollapsed: assign({}, props, {\n value: prevGroupCollapsed\n }),\n groupEnd: assign({}, props, {\n value: prevGroupEnd\n })\n });\n }\n 0 > disabledDepth && console.error(\"disabledDepth fell below zero. This is a bug in React. Please file an issue.\");\n }\n function describeBuiltInComponentFrame(name) {\n if (void 0 === prefix) try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = match && match[1] || \"\";\n suffix = -1 < x.stack.indexOf(\"\\n at\") ? \" ()\" : -1 < x.stack.indexOf(\"@\") ? \"@unknown:0:0\" : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n }\n function describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n var frame = componentFrameCache.get(fn);\n if (void 0 !== frame) return frame;\n reentry = !0;\n frame = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n var previousDispatcher = null;\n previousDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = null;\n disableLogs();\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$0) {\n control = x$0;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$1) {\n control = x$1;\n }\n (Fake = fn()) && \"function\" === typeof Fake.catch && Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack) return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName = \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(RunInRootFrame.DetermineComponentFrameRoot, \"name\");\n namePropDescriptor && namePropDescriptor.configurable && Object.defineProperty(RunInRootFrame.DetermineComponentFrameRoot, \"name\", {\n value: \"DetermineComponentFrameRoot\"\n });\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (_RunInRootFrame$Deter = namePropDescriptor = 0; namePropDescriptor < sampleLines.length && !sampleLines[namePropDescriptor].includes(\"DetermineComponentFrameRoot\");) namePropDescriptor++;\n for (; _RunInRootFrame$Deter < controlLines.length && !controlLines[_RunInRootFrame$Deter].includes(\"DetermineComponentFrameRoot\");) _RunInRootFrame$Deter++;\n if (namePropDescriptor === sampleLines.length || _RunInRootFrame$Deter === controlLines.length) for (namePropDescriptor = sampleLines.length - 1, _RunInRootFrame$Deter = controlLines.length - 1; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter && sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter];) _RunInRootFrame$Deter--;\n for (; 1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter; namePropDescriptor--, _RunInRootFrame$Deter--) if (sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {\n if (1 !== namePropDescriptor || 1 !== _RunInRootFrame$Deter) {\n do if (namePropDescriptor--, _RunInRootFrame$Deter--, 0 > _RunInRootFrame$Deter || sampleLines[namePropDescriptor] !== controlLines[_RunInRootFrame$Deter]) {\n var _frame = \"\\n\" + sampleLines[namePropDescriptor].replace(\" at new \", \" at \");\n fn.displayName && _frame.includes(\"\") && (_frame = _frame.replace(\"\", fn.displayName));\n \"function\" === typeof fn && componentFrameCache.set(fn, _frame);\n return _frame;\n } while (1 <= namePropDescriptor && 0 <= _RunInRootFrame$Deter);\n }\n break;\n }\n }\n } finally {\n reentry = !1, ReactSharedInternals.H = previousDispatcher, reenableLogs(), Error.prepareStackTrace = frame;\n }\n sampleLines = (sampleLines = fn ? fn.displayName || fn.name : \"\") ? describeBuiltInComponentFrame(sampleLines) : \"\";\n \"function\" === typeof fn && componentFrameCache.set(fn, sampleLines);\n return sampleLines;\n }\n function describeFiber(fiber) {\n switch (fiber.tag) {\n case 26:\n case 27:\n case 5:\n return describeBuiltInComponentFrame(fiber.type);\n case 16:\n return describeBuiltInComponentFrame(\"Lazy\");\n case 13:\n return describeBuiltInComponentFrame(\"Suspense\");\n case 19:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case 0:\n case 15:\n return fiber = describeNativeComponentFrame(fiber.type, !1), fiber;\n case 11:\n return fiber = describeNativeComponentFrame(fiber.type.render, !1), fiber;\n case 1:\n return fiber = describeNativeComponentFrame(fiber.type, !0), fiber;\n default:\n return \"\";\n }\n }\n function getStackByFiberInDevAndProd(workInProgress) {\n try {\n var info = \"\";\n do {\n info += describeFiber(workInProgress);\n var debugInfo = workInProgress._debugInfo;\n if (debugInfo) for (var i = debugInfo.length - 1; 0 <= i; i--) {\n var entry = debugInfo[i];\n if (\"string\" === typeof entry.name) {\n var JSCompiler_temp_const = info,\n env = entry.env;\n var JSCompiler_inline_result = describeBuiltInComponentFrame(entry.name + (env ? \" [\" + env + \"]\" : \"\"));\n info = JSCompiler_temp_const + JSCompiler_inline_result;\n }\n }\n workInProgress = workInProgress.return;\n } while (workInProgress);\n return info;\n } catch (x) {\n return \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n }\n function getCurrentFiberOwnerNameInDevOrNull() {\n if (null === current) return null;\n var owner = current._debugOwner;\n return null != owner ? getComponentNameFromOwner(owner) : null;\n }\n function getCurrentFiberStackInDev() {\n return null === current ? \"\" : getStackByFiberInDevAndProd(current);\n }\n function runWithFiberInDEV(fiber, callback, arg0, arg1, arg2, arg3, arg4) {\n var previousFiber = current;\n ReactSharedInternals.getCurrentStack = null === fiber ? null : getCurrentFiberStackInDev;\n isRendering = !1;\n current = fiber;\n try {\n return callback(arg0, arg1, arg2, arg3, arg4);\n } finally {\n current = previousFiber;\n }\n throw Error(\"runWithFiberInDEV should never be called in production. This is a bug in React.\");\n }\n function getNearestMountedFiber(fiber) {\n var node = fiber,\n nearestMounted = fiber;\n if (fiber.alternate) for (; node.return;) node = node.return;else {\n fiber = node;\n do node = fiber, 0 !== (node.flags & 4098) && (nearestMounted = node.return), fiber = node.return; while (fiber);\n }\n return 3 === node.tag ? nearestMounted : null;\n }\n function getSuspenseInstanceFromFiber(fiber) {\n if (13 === fiber.tag) {\n var suspenseState = fiber.memoizedState;\n null === suspenseState && (fiber = fiber.alternate, null !== fiber && (suspenseState = fiber.memoizedState));\n if (null !== suspenseState) return suspenseState.dehydrated;\n }\n return null;\n }\n function assertIsMounted(fiber) {\n if (getNearestMountedFiber(fiber) !== fiber) throw Error(\"Unable to find node on an unmounted component.\");\n }\n function findCurrentFiberUsingSlowPath(fiber) {\n var alternate = fiber.alternate;\n if (!alternate) {\n alternate = getNearestMountedFiber(fiber);\n if (null === alternate) throw Error(\"Unable to find node on an unmounted component.\");\n return alternate !== fiber ? null : fiber;\n }\n for (var a = fiber, b = alternate;;) {\n var parentA = a.return;\n if (null === parentA) break;\n var parentB = parentA.alternate;\n if (null === parentB) {\n b = parentA.return;\n if (null !== b) {\n a = b;\n continue;\n }\n break;\n }\n if (parentA.child === parentB.child) {\n for (parentB = parentA.child; parentB;) {\n if (parentB === a) return assertIsMounted(parentA), fiber;\n if (parentB === b) return assertIsMounted(parentA), alternate;\n parentB = parentB.sibling;\n }\n throw Error(\"Unable to find node on an unmounted component.\");\n }\n if (a.return !== b.return) a = parentA, b = parentB;else {\n for (var didFindChild = !1, _child = parentA.child; _child;) {\n if (_child === a) {\n didFindChild = !0;\n a = parentA;\n b = parentB;\n break;\n }\n if (_child === b) {\n didFindChild = !0;\n b = parentA;\n a = parentB;\n break;\n }\n _child = _child.sibling;\n }\n if (!didFindChild) {\n for (_child = parentB.child; _child;) {\n if (_child === a) {\n didFindChild = !0;\n a = parentB;\n b = parentA;\n break;\n }\n if (_child === b) {\n didFindChild = !0;\n b = parentB;\n a = parentA;\n break;\n }\n _child = _child.sibling;\n }\n if (!didFindChild) throw Error(\"Child was not found in either parent set. This indicates a bug in React related to the return pointer. Please file an issue.\");\n }\n }\n if (a.alternate !== b) throw Error(\"Return fibers should always be each others' alternates. This error is likely caused by a bug in React. Please file an issue.\");\n }\n if (3 !== a.tag) throw Error(\"Unable to find node on an unmounted component.\");\n return a.stateNode.current === a ? fiber : alternate;\n }\n function findCurrentHostFiberImpl(node) {\n var tag = node.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return node;\n for (node = node.child; null !== node;) {\n tag = findCurrentHostFiberImpl(node);\n if (null !== tag) return tag;\n node = node.sibling;\n }\n return null;\n }\n function createCursor(defaultValue) {\n return {\n current: defaultValue\n };\n }\n function pop(cursor, fiber) {\n 0 > index$jscomp$0 ? console.error(\"Unexpected pop.\") : (fiber !== fiberStack[index$jscomp$0] && console.error(\"Unexpected Fiber popped.\"), cursor.current = valueStack[index$jscomp$0], valueStack[index$jscomp$0] = null, fiberStack[index$jscomp$0] = null, index$jscomp$0--);\n }\n function push(cursor, value, fiber) {\n index$jscomp$0++;\n valueStack[index$jscomp$0] = cursor.current;\n fiberStack[index$jscomp$0] = fiber;\n cursor.current = value;\n }\n function requiredContext(c) {\n null === c && console.error(\"Expected host context to exist. This error is likely caused by a bug in React. Please file an issue.\");\n return c;\n }\n function pushHostContainer(fiber, nextRootInstance) {\n push(rootInstanceStackCursor, nextRootInstance, fiber);\n push(contextFiberStackCursor, fiber, fiber);\n push(contextStackCursor, null, fiber);\n var nextRootContext = nextRootInstance.nodeType;\n switch (nextRootContext) {\n case 9:\n case 11:\n nextRootContext = 9 === nextRootContext ? \"#document\" : \"#fragment\";\n nextRootInstance = (nextRootInstance = nextRootInstance.documentElement) ? (nextRootInstance = nextRootInstance.namespaceURI) ? getOwnHostContext(nextRootInstance) : HostContextNamespaceNone : HostContextNamespaceNone;\n break;\n default:\n if (nextRootInstance = 8 === nextRootContext ? nextRootInstance.parentNode : nextRootInstance, nextRootContext = nextRootInstance.tagName, nextRootInstance = nextRootInstance.namespaceURI) nextRootInstance = getOwnHostContext(nextRootInstance), nextRootInstance = getChildHostContextProd(nextRootInstance, nextRootContext);else switch (nextRootContext) {\n case \"svg\":\n nextRootInstance = HostContextNamespaceSvg;\n break;\n case \"math\":\n nextRootInstance = HostContextNamespaceMath;\n break;\n default:\n nextRootInstance = HostContextNamespaceNone;\n }\n }\n nextRootContext = nextRootContext.toLowerCase();\n nextRootContext = updatedAncestorInfoDev(null, nextRootContext);\n nextRootContext = {\n context: nextRootInstance,\n ancestorInfo: nextRootContext\n };\n pop(contextStackCursor, fiber);\n push(contextStackCursor, nextRootContext, fiber);\n }\n function popHostContainer(fiber) {\n pop(contextStackCursor, fiber);\n pop(contextFiberStackCursor, fiber);\n pop(rootInstanceStackCursor, fiber);\n }\n function getHostContext() {\n return requiredContext(contextStackCursor.current);\n }\n function pushHostContext(fiber) {\n null !== fiber.memoizedState && push(hostTransitionProviderCursor, fiber, fiber);\n var context = requiredContext(contextStackCursor.current);\n var type = fiber.type;\n var nextContext = getChildHostContextProd(context.context, type);\n type = updatedAncestorInfoDev(context.ancestorInfo, type);\n nextContext = {\n context: nextContext,\n ancestorInfo: type\n };\n context !== nextContext && (push(contextFiberStackCursor, fiber, fiber), push(contextStackCursor, nextContext, fiber));\n }\n function popHostContext(fiber) {\n contextFiberStackCursor.current === fiber && (pop(contextStackCursor, fiber), pop(contextFiberStackCursor, fiber));\n hostTransitionProviderCursor.current === fiber && (pop(hostTransitionProviderCursor, fiber), HostTransitionContext._currentValue = NotPendingTransition);\n }\n function typeName(value) {\n return \"function\" === typeof Symbol && Symbol.toStringTag && value[Symbol.toStringTag] || value.constructor.name || \"Object\";\n }\n function willCoercionThrow(value) {\n try {\n return testStringCoercion(value), !1;\n } catch (e) {\n return !0;\n }\n }\n function testStringCoercion(value) {\n return \"\" + value;\n }\n function checkAttributeStringCoercion(value, attributeName) {\n if (willCoercionThrow(value)) return console.error(\"The provided `%s` attribute is an unsupported type %s. This value must be coerced to a string before using it here.\", attributeName, typeName(value)), testStringCoercion(value);\n }\n function checkCSSPropertyStringCoercion(value, propName) {\n if (willCoercionThrow(value)) return console.error(\"The provided `%s` CSS property is an unsupported type %s. This value must be coerced to a string before using it here.\", propName, typeName(value)), testStringCoercion(value);\n }\n function checkFormFieldValueStringCoercion(value) {\n if (willCoercionThrow(value)) return console.error(\"Form field values (value, checked, defaultValue, or defaultChecked props) must be strings, not %s. This value must be coerced to a string before using it here.\", typeName(value)), testStringCoercion(value);\n }\n function injectInternals(internals) {\n if (\"undefined\" === typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) return !1;\n var hook = __REACT_DEVTOOLS_GLOBAL_HOOK__;\n if (hook.isDisabled) return !0;\n if (!hook.supportsFiber) return console.error(\"The installed version of React DevTools is too old and will not work with the current version of React. Please update React DevTools. https://react.dev/link/react-devtools\"), !0;\n try {\n rendererID = hook.inject(internals), injectedHook = hook;\n } catch (err) {\n console.error(\"React instrumentation encountered an error: %s.\", err);\n }\n return hook.checkDCE ? !0 : !1;\n }\n function onCommitRoot$1(root, eventPriority) {\n if (injectedHook && \"function\" === typeof injectedHook.onCommitFiberRoot) try {\n var didError = 128 === (root.current.flags & 128);\n switch (eventPriority) {\n case DiscreteEventPriority:\n var schedulerPriority = ImmediatePriority;\n break;\n case ContinuousEventPriority:\n schedulerPriority = UserBlockingPriority;\n break;\n case DefaultEventPriority:\n schedulerPriority = NormalPriority$1;\n break;\n case IdleEventPriority:\n schedulerPriority = IdlePriority;\n break;\n default:\n schedulerPriority = NormalPriority$1;\n }\n injectedHook.onCommitFiberRoot(rendererID, root, schedulerPriority, didError);\n } catch (err) {\n hasLoggedError || (hasLoggedError = !0, console.error(\"React instrumentation encountered an error: %s\", err));\n }\n }\n function setIsStrictModeForDevtools(newIsStrictMode) {\n \"function\" === typeof log$1 && unstable_setDisableYieldValue(newIsStrictMode);\n if (injectedHook && \"function\" === typeof injectedHook.setStrictMode) try {\n injectedHook.setStrictMode(rendererID, newIsStrictMode);\n } catch (err) {\n hasLoggedError || (hasLoggedError = !0, console.error(\"React instrumentation encountered an error: %s\", err));\n }\n }\n function injectProfilingHooks(profilingHooks) {\n injectedProfilingHooks = profilingHooks;\n }\n function markCommitStopped() {\n null !== injectedProfilingHooks && \"function\" === typeof injectedProfilingHooks.markCommitStopped && injectedProfilingHooks.markCommitStopped();\n }\n function markComponentRenderStarted(fiber) {\n null !== injectedProfilingHooks && \"function\" === typeof injectedProfilingHooks.markComponentRenderStarted && injectedProfilingHooks.markComponentRenderStarted(fiber);\n }\n function markComponentRenderStopped() {\n null !== injectedProfilingHooks && \"function\" === typeof injectedProfilingHooks.markComponentRenderStopped && injectedProfilingHooks.markComponentRenderStopped();\n }\n function markRenderStarted(lanes) {\n null !== injectedProfilingHooks && \"function\" === typeof injectedProfilingHooks.markRenderStarted && injectedProfilingHooks.markRenderStarted(lanes);\n }\n function markRenderStopped() {\n null !== injectedProfilingHooks && \"function\" === typeof injectedProfilingHooks.markRenderStopped && injectedProfilingHooks.markRenderStopped();\n }\n function markStateUpdateScheduled(fiber, lane) {\n null !== injectedProfilingHooks && \"function\" === typeof injectedProfilingHooks.markStateUpdateScheduled && injectedProfilingHooks.markStateUpdateScheduled(fiber, lane);\n }\n function clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : 31 - (log(x) / LN2 | 0) | 0;\n }\n function getLabelForLane(lane) {\n if (lane & 1) return \"SyncHydrationLane\";\n if (lane & 2) return \"Sync\";\n if (lane & 4) return \"InputContinuousHydration\";\n if (lane & 8) return \"InputContinuous\";\n if (lane & 16) return \"DefaultHydration\";\n if (lane & 32) return \"Default\";\n if (lane & 64) return \"TransitionHydration\";\n if (lane & 4194176) return \"Transition\";\n if (lane & 62914560) return \"Retry\";\n if (lane & 67108864) return \"SelectiveHydration\";\n if (lane & 134217728) return \"IdleHydration\";\n if (lane & 268435456) return \"Idle\";\n if (lane & 536870912) return \"Offscreen\";\n if (lane & 1073741824) return \"Deferred\";\n }\n function getHighestPriorityLanes(lanes) {\n var pendingSyncLanes = lanes & 42;\n if (0 !== pendingSyncLanes) return pendingSyncLanes;\n switch (lanes & -lanes) {\n case 1:\n return 1;\n case 2:\n return 2;\n case 4:\n return 4;\n case 8:\n return 8;\n case 16:\n return 16;\n case 32:\n return 32;\n case 64:\n return 64;\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return lanes & 4194176;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return lanes & 62914560;\n case 67108864:\n return 67108864;\n case 134217728:\n return 134217728;\n case 268435456:\n return 268435456;\n case 536870912:\n return 536870912;\n case 1073741824:\n return 0;\n default:\n return console.error(\"Should have found matching lanes. This is a bug in React.\"), lanes;\n }\n }\n function getNextLanes(root, wipLanes) {\n var pendingLanes = root.pendingLanes;\n if (0 === pendingLanes) return 0;\n var nextLanes = 0,\n suspendedLanes = root.suspendedLanes,\n pingedLanes = root.pingedLanes,\n warmLanes = root.warmLanes;\n root = 0 !== root.finishedLanes;\n var nonIdlePendingLanes = pendingLanes & 134217727;\n 0 !== nonIdlePendingLanes ? (pendingLanes = nonIdlePendingLanes & ~suspendedLanes, 0 !== pendingLanes ? nextLanes = getHighestPriorityLanes(pendingLanes) : (pingedLanes &= nonIdlePendingLanes, 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : root || (warmLanes = nonIdlePendingLanes & ~warmLanes, 0 !== warmLanes && (nextLanes = getHighestPriorityLanes(warmLanes))))) : (nonIdlePendingLanes = pendingLanes & ~suspendedLanes, 0 !== nonIdlePendingLanes ? nextLanes = getHighestPriorityLanes(nonIdlePendingLanes) : 0 !== pingedLanes ? nextLanes = getHighestPriorityLanes(pingedLanes) : root || (warmLanes = pendingLanes & ~warmLanes, 0 !== warmLanes && (nextLanes = getHighestPriorityLanes(warmLanes))));\n return 0 === nextLanes ? 0 : 0 !== wipLanes && wipLanes !== nextLanes && 0 === (wipLanes & suspendedLanes) && (suspendedLanes = nextLanes & -nextLanes, warmLanes = wipLanes & -wipLanes, suspendedLanes >= warmLanes || 32 === suspendedLanes && 0 !== (warmLanes & 4194176)) ? wipLanes : nextLanes;\n }\n function checkIfRootIsPrerendering(root, renderLanes) {\n return 0 === (root.pendingLanes & ~(root.suspendedLanes & ~root.pingedLanes) & renderLanes);\n }\n function computeExpirationTime(lane, currentTime) {\n switch (lane) {\n case 1:\n case 2:\n case 4:\n case 8:\n return currentTime + 250;\n case 16:\n case 32:\n case 64:\n case 128:\n case 256:\n case 512:\n case 1024:\n case 2048:\n case 4096:\n case 8192:\n case 16384:\n case 32768:\n case 65536:\n case 131072:\n case 262144:\n case 524288:\n case 1048576:\n case 2097152:\n return currentTime + 5e3;\n case 4194304:\n case 8388608:\n case 16777216:\n case 33554432:\n return -1;\n case 67108864:\n case 134217728:\n case 268435456:\n case 536870912:\n case 1073741824:\n return -1;\n default:\n return console.error(\"Should have found matching lanes. This is a bug in React.\"), -1;\n }\n }\n function claimNextTransitionLane() {\n var lane = nextTransitionLane;\n nextTransitionLane <<= 1;\n 0 === (nextTransitionLane & 4194176) && (nextTransitionLane = 128);\n return lane;\n }\n function claimNextRetryLane() {\n var lane = nextRetryLane;\n nextRetryLane <<= 1;\n 0 === (nextRetryLane & 62914560) && (nextRetryLane = 4194304);\n return lane;\n }\n function createLaneMap(initial) {\n for (var laneMap = [], i = 0; 31 > i; i++) laneMap.push(initial);\n return laneMap;\n }\n function markRootUpdated$1(root, updateLane) {\n root.pendingLanes |= updateLane;\n 268435456 !== updateLane && (root.suspendedLanes = 0, root.pingedLanes = 0, root.warmLanes = 0);\n }\n function markRootFinished(root, finishedLanes, remainingLanes, spawnedLane, updatedLanes, suspendedRetryLanes) {\n var previouslyPendingLanes = root.pendingLanes;\n root.pendingLanes = remainingLanes;\n root.suspendedLanes = 0;\n root.pingedLanes = 0;\n root.warmLanes = 0;\n root.expiredLanes &= remainingLanes;\n root.entangledLanes &= remainingLanes;\n root.errorRecoveryDisabledLanes &= remainingLanes;\n root.shellSuspendCounter = 0;\n var entanglements = root.entanglements,\n expirationTimes = root.expirationTimes,\n hiddenUpdates = root.hiddenUpdates;\n for (remainingLanes = previouslyPendingLanes & ~remainingLanes; 0 < remainingLanes;) {\n var index = 31 - clz32(remainingLanes),\n lane = 1 << index;\n entanglements[index] = 0;\n expirationTimes[index] = -1;\n var hiddenUpdatesForLane = hiddenUpdates[index];\n if (null !== hiddenUpdatesForLane) for (hiddenUpdates[index] = null, index = 0; index < hiddenUpdatesForLane.length; index++) {\n var update = hiddenUpdatesForLane[index];\n null !== update && (update.lane &= -536870913);\n }\n remainingLanes &= ~lane;\n }\n 0 !== spawnedLane && markSpawnedDeferredLane(root, spawnedLane, 0);\n 0 !== suspendedRetryLanes && 0 === updatedLanes && 0 !== root.tag && (root.suspendedLanes |= suspendedRetryLanes & ~(previouslyPendingLanes & ~finishedLanes));\n }\n function markSpawnedDeferredLane(root, spawnedLane, entangledLanes) {\n root.pendingLanes |= spawnedLane;\n root.suspendedLanes &= ~spawnedLane;\n var spawnedLaneIndex = 31 - clz32(spawnedLane);\n root.entangledLanes |= spawnedLane;\n root.entanglements[spawnedLaneIndex] = root.entanglements[spawnedLaneIndex] | 1073741824 | entangledLanes & 4194218;\n }\n function markRootEntangled(root, entangledLanes) {\n var rootEntangledLanes = root.entangledLanes |= entangledLanes;\n for (root = root.entanglements; rootEntangledLanes;) {\n var index = 31 - clz32(rootEntangledLanes),\n lane = 1 << index;\n lane & entangledLanes | root[index] & entangledLanes && (root[index] |= entangledLanes);\n rootEntangledLanes &= ~lane;\n }\n }\n function addFiberToLanesMap(root, fiber, lanes) {\n if (isDevToolsPresent) for (root = root.pendingUpdatersLaneMap; 0 < lanes;) {\n var index = 31 - clz32(lanes),\n lane = 1 << index;\n root[index].add(fiber);\n lanes &= ~lane;\n }\n }\n function movePendingFibersToMemoized(root, lanes) {\n if (isDevToolsPresent) for (var pendingUpdatersLaneMap = root.pendingUpdatersLaneMap, memoizedUpdaters = root.memoizedUpdaters; 0 < lanes;) {\n var index = 31 - clz32(lanes);\n root = 1 << index;\n index = pendingUpdatersLaneMap[index];\n 0 < index.size && (index.forEach(function (fiber) {\n var alternate = fiber.alternate;\n null !== alternate && memoizedUpdaters.has(alternate) || memoizedUpdaters.add(fiber);\n }), index.clear());\n lanes &= ~root;\n }\n }\n function lanesToEventPriority(lanes) {\n lanes &= -lanes;\n return 0 !== DiscreteEventPriority && DiscreteEventPriority < lanes ? 0 !== ContinuousEventPriority && ContinuousEventPriority < lanes ? 0 !== (lanes & 134217727) ? DefaultEventPriority : IdleEventPriority : ContinuousEventPriority : DiscreteEventPriority;\n }\n function resolveUpdatePriority() {\n var updatePriority = ReactDOMSharedInternals.p;\n if (0 !== updatePriority) return updatePriority;\n updatePriority = window.event;\n return void 0 === updatePriority ? DefaultEventPriority : getEventPriority(updatePriority.type);\n }\n function runWithPriority(priority, fn) {\n var previousPriority = ReactDOMSharedInternals.p;\n try {\n return ReactDOMSharedInternals.p = priority, fn();\n } finally {\n ReactDOMSharedInternals.p = previousPriority;\n }\n }\n function detachDeletedInstance(node) {\n delete node[internalInstanceKey];\n delete node[internalPropsKey];\n delete node[internalEventHandlersKey];\n delete node[internalEventHandlerListenersKey];\n delete node[internalEventHandlesSetKey];\n }\n function getClosestInstanceFromNode(targetNode) {\n var targetInst = targetNode[internalInstanceKey];\n if (targetInst) return targetInst;\n for (var parentNode = targetNode.parentNode; parentNode;) {\n if (targetInst = parentNode[internalContainerInstanceKey] || parentNode[internalInstanceKey]) {\n parentNode = targetInst.alternate;\n if (null !== targetInst.child || null !== parentNode && null !== parentNode.child) for (targetNode = getParentSuspenseInstance(targetNode); null !== targetNode;) {\n if (parentNode = targetNode[internalInstanceKey]) return parentNode;\n targetNode = getParentSuspenseInstance(targetNode);\n }\n return targetInst;\n }\n targetNode = parentNode;\n parentNode = targetNode.parentNode;\n }\n return null;\n }\n function getInstanceFromNode(node) {\n if (node = node[internalInstanceKey] || node[internalContainerInstanceKey]) {\n var tag = node.tag;\n if (5 === tag || 6 === tag || 13 === tag || 26 === tag || 27 === tag || 3 === tag) return node;\n }\n return null;\n }\n function getNodeFromInstance(inst) {\n var tag = inst.tag;\n if (5 === tag || 26 === tag || 27 === tag || 6 === tag) return inst.stateNode;\n throw Error(\"getNodeFromInstance: Invalid argument.\");\n }\n function getResourcesFromRoot(root) {\n var resources = root[internalRootNodeResourcesKey];\n resources || (resources = root[internalRootNodeResourcesKey] = {\n hoistableStyles: new Map(),\n hoistableScripts: new Map()\n });\n return resources;\n }\n function markNodeAsHoistable(node) {\n node[internalHoistableMarker] = !0;\n }\n function registerTwoPhaseEvent(registrationName, dependencies) {\n registerDirectEvent(registrationName, dependencies);\n registerDirectEvent(registrationName + \"Capture\", dependencies);\n }\n function registerDirectEvent(registrationName, dependencies) {\n registrationNameDependencies[registrationName] && console.error(\"EventRegistry: More than one plugin attempted to publish the same registration name, `%s`.\", registrationName);\n registrationNameDependencies[registrationName] = dependencies;\n var lowerCasedName = registrationName.toLowerCase();\n possibleRegistrationNames[lowerCasedName] = registrationName;\n \"onDoubleClick\" === registrationName && (possibleRegistrationNames.ondblclick = registrationName);\n for (registrationName = 0; registrationName < dependencies.length; registrationName++) allNativeEvents.add(dependencies[registrationName]);\n }\n function checkControlledValueProps(tagName, props) {\n hasReadOnlyValue[props.type] || props.onChange || props.onInput || props.readOnly || props.disabled || null == props.value || (\"select\" === tagName ? console.error(\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set `onChange`.\") : console.error(\"You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.\"));\n props.onChange || props.readOnly || props.disabled || null == props.checked || console.error(\"You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.\");\n }\n function isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName)) return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) return validatedAttributeNameCache[attributeName] = !0;\n illegalAttributeNameCache[attributeName] = !0;\n console.error(\"Invalid attribute name: `%s`\", attributeName);\n return !1;\n }\n function getValueForAttributeOnCustomComponent(node, name, expected) {\n if (isAttributeNameSafe(name)) {\n if (!node.hasAttribute(name)) {\n switch (typeof expected) {\n case \"symbol\":\n case \"object\":\n return expected;\n case \"function\":\n return expected;\n case \"boolean\":\n if (!1 === expected) return expected;\n }\n return void 0 === expected ? void 0 : null;\n }\n node = node.getAttribute(name);\n if (\"\" === node && !0 === expected) return !0;\n checkAttributeStringCoercion(expected, name);\n return node === \"\" + expected ? expected : node;\n }\n }\n function setValueForAttribute(node, name, value) {\n if (isAttributeNameSafe(name)) if (null === value) node.removeAttribute(name);else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n node.removeAttribute(name);\n return;\n case \"boolean\":\n var prefix = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix && \"aria-\" !== prefix) {\n node.removeAttribute(name);\n return;\n }\n }\n checkAttributeStringCoercion(value, name);\n node.setAttribute(name, \"\" + value);\n }\n }\n function setValueForKnownAttribute(node, name, value) {\n if (null === value) node.removeAttribute(name);else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n checkAttributeStringCoercion(value, name);\n node.setAttribute(name, \"\" + value);\n }\n }\n function setValueForNamespacedAttribute(node, namespace, name, value) {\n if (null === value) node.removeAttribute(name);else {\n switch (typeof value) {\n case \"undefined\":\n case \"function\":\n case \"symbol\":\n case \"boolean\":\n node.removeAttribute(name);\n return;\n }\n checkAttributeStringCoercion(value, name);\n node.setAttributeNS(namespace, name, \"\" + value);\n }\n }\n function getToStringValue(value) {\n switch (typeof value) {\n case \"bigint\":\n case \"boolean\":\n case \"number\":\n case \"string\":\n case \"undefined\":\n return value;\n case \"object\":\n return checkFormFieldValueStringCoercion(value), value;\n default:\n return \"\";\n }\n }\n function isCheckable(elem) {\n var type = elem.type;\n return (elem = elem.nodeName) && \"input\" === elem.toLowerCase() && (\"checkbox\" === type || \"radio\" === type);\n }\n function trackValueOnNode(node) {\n var valueField = isCheckable(node) ? \"checked\" : \"value\",\n descriptor = Object.getOwnPropertyDescriptor(node.constructor.prototype, valueField);\n checkFormFieldValueStringCoercion(node[valueField]);\n var currentValue = \"\" + node[valueField];\n if (!node.hasOwnProperty(valueField) && \"undefined\" !== typeof descriptor && \"function\" === typeof descriptor.get && \"function\" === typeof descriptor.set) {\n var get = descriptor.get,\n set = descriptor.set;\n Object.defineProperty(node, valueField, {\n configurable: !0,\n get: function () {\n return get.call(this);\n },\n set: function (value) {\n checkFormFieldValueStringCoercion(value);\n currentValue = \"\" + value;\n set.call(this, value);\n }\n });\n Object.defineProperty(node, valueField, {\n enumerable: descriptor.enumerable\n });\n return {\n getValue: function () {\n return currentValue;\n },\n setValue: function (value) {\n checkFormFieldValueStringCoercion(value);\n currentValue = \"\" + value;\n },\n stopTracking: function () {\n node._valueTracker = null;\n delete node[valueField];\n }\n };\n }\n }\n function track(node) {\n node._valueTracker || (node._valueTracker = trackValueOnNode(node));\n }\n function updateValueIfChanged(node) {\n if (!node) return !1;\n var tracker = node._valueTracker;\n if (!tracker) return !0;\n var lastValue = tracker.getValue();\n var value = \"\";\n node && (value = isCheckable(node) ? node.checked ? \"true\" : \"false\" : node.value);\n node = value;\n return node !== lastValue ? (tracker.setValue(node), !0) : !1;\n }\n function getActiveElement(doc) {\n doc = doc || (\"undefined\" !== typeof document ? document : void 0);\n if (\"undefined\" === typeof doc) return null;\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n }\n function escapeSelectorAttributeValueInsideDoubleQuotes(value) {\n return value.replace(escapeSelectorAttributeValueInsideDoubleQuotesRegex, function (ch) {\n return \"\\\\\" + ch.charCodeAt(0).toString(16) + \" \";\n });\n }\n function validateInputProps(element, props) {\n void 0 === props.checked || void 0 === props.defaultChecked || didWarnCheckedDefaultChecked || (console.error(\"%s contains an input of type %s with both checked and defaultChecked props. Input elements must be either controlled or uncontrolled (specify either the checked prop, or the defaultChecked prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components\", getCurrentFiberOwnerNameInDevOrNull() || \"A component\", props.type), didWarnCheckedDefaultChecked = !0);\n void 0 === props.value || void 0 === props.defaultValue || didWarnValueDefaultValue$1 || (console.error(\"%s contains an input of type %s with both value and defaultValue props. Input elements must be either controlled or uncontrolled (specify either the value prop, or the defaultValue prop, but not both). Decide between using a controlled or uncontrolled input element and remove one of these props. More info: https://react.dev/link/controlled-components\", getCurrentFiberOwnerNameInDevOrNull() || \"A component\", props.type), didWarnValueDefaultValue$1 = !0);\n }\n function updateInput(element, value, defaultValue, lastDefaultValue, checked, defaultChecked, type, name) {\n element.name = \"\";\n null != type && \"function\" !== typeof type && \"symbol\" !== typeof type && \"boolean\" !== typeof type ? (checkAttributeStringCoercion(type, \"type\"), element.type = type) : element.removeAttribute(\"type\");\n if (null != value) {\n if (\"number\" === type) {\n if (0 === value && \"\" === element.value || element.value != value) element.value = \"\" + getToStringValue(value);\n } else element.value !== \"\" + getToStringValue(value) && (element.value = \"\" + getToStringValue(value));\n } else \"submit\" !== type && \"reset\" !== type || element.removeAttribute(\"value\");\n null != value ? setDefaultValue(element, type, getToStringValue(value)) : null != defaultValue ? setDefaultValue(element, type, getToStringValue(defaultValue)) : null != lastDefaultValue && element.removeAttribute(\"value\");\n null == checked && null != defaultChecked && (element.defaultChecked = !!defaultChecked);\n null != checked && (element.checked = checked && \"function\" !== typeof checked && \"symbol\" !== typeof checked);\n null != name && \"function\" !== typeof name && \"symbol\" !== typeof name && \"boolean\" !== typeof name ? (checkAttributeStringCoercion(name, \"name\"), element.name = \"\" + getToStringValue(name)) : element.removeAttribute(\"name\");\n }\n function initInput(element, value, defaultValue, checked, defaultChecked, type, name, isHydrating) {\n null != type && \"function\" !== typeof type && \"symbol\" !== typeof type && \"boolean\" !== typeof type && (checkAttributeStringCoercion(type, \"type\"), element.type = type);\n if (null != value || null != defaultValue) {\n if (!(\"submit\" !== type && \"reset\" !== type || void 0 !== value && null !== value)) return;\n defaultValue = null != defaultValue ? \"\" + getToStringValue(defaultValue) : \"\";\n value = null != value ? \"\" + getToStringValue(value) : defaultValue;\n isHydrating || value === element.value || (element.value = value);\n element.defaultValue = value;\n }\n checked = null != checked ? checked : defaultChecked;\n checked = \"function\" !== typeof checked && \"symbol\" !== typeof checked && !!checked;\n element.checked = isHydrating ? element.checked : !!checked;\n element.defaultChecked = !!checked;\n null != name && \"function\" !== typeof name && \"symbol\" !== typeof name && \"boolean\" !== typeof name && (checkAttributeStringCoercion(name, \"name\"), element.name = name);\n }\n function setDefaultValue(node, type, value) {\n \"number\" === type && getActiveElement(node.ownerDocument) === node || node.defaultValue === \"\" + value || (node.defaultValue = \"\" + value);\n }\n function validateOptionProps(element, props) {\n null == props.value && (\"object\" === typeof props.children && null !== props.children ? React.Children.forEach(props.children, function (child) {\n null == child || \"string\" === typeof child || \"number\" === typeof child || \"bigint\" === typeof child || didWarnInvalidChild || (didWarnInvalidChild = !0, console.error(\"Cannot infer the option value of complex children. Pass a `value` prop or use a plain string as children to