\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n
\r\n
= 5\" @click=\"colorSelect(item)\" />\r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { render } from \"./ShapeSetting.vue?vue&type=template&id=707b5db1\"\nimport script from \"./ShapeSetting.vue?vue&type=script&lang=js\"\nexport * from \"./ShapeSetting.vue?vue&type=script&lang=js\"\n\nimport \"./ShapeSetting.vue?vue&type=style&index=0&id=707b5db1&lang=less\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./MindMapImgEditor.vue?vue&type=template&id=6a2ee770\"\nimport script from \"./MindMapImgEditor.vue?vue&type=script&lang=js\"\nexport * from \"./MindMapImgEditor.vue?vue&type=script&lang=js\"\n\nimport \"./MindMapImgEditor.vue?vue&type=style&index=0&id=6a2ee770&lang=less\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","//請勿變更測試案例的縮排!\r\nexport default {\r\n mdtest1: `# American History\r\n\r\n## Colonial Period\r\n - Jamestown Colony\r\n - Native Americans\r\n - Native Americans\r\n - Arrival of the Pilgrims\r\n - Massachusetts Bay Colony\r\n - Indentured Servitude\r\n - Bacon's Rebellion\r\n\r\n## Revolutionary War\r\n - Declaration of Independence\r\n - Battle of Saratoga\r\n - French Involvement\r\n - Battle of Yorktown\r\n - Treaty of Paris\r\n\r\n## Early Republic\r\n- Constitution Drafted\r\n- Federalists vs. Anti-Federalists\r\n- President Washington\r\n- President Jefferson\r\n- War of 1812\r\n\r\n## Civil War\r\n- Southern Secession\r\n- President Lincoln\r\n- Emancipation Proclamation\r\n- Battle of Gettysburg\r\n- Lee's Surrender\r\n\r\n## Modern History\r\n- World War I\r\n- The Great Depression\r\n- World War II\r\n- Civil Rights Movement\r\n- The Cold War\r\n\r\n`,\r\n\r\n mdtest2: `# 中国历史\r\n \r\n- 夏朝\r\n\r\n- 商朝\r\n\r\n##### 甲骨文\r\n - 小周\r\n\r\n## 周朝\r\n - 小周\r\n\r\n## 周朝2號\r\n - 小周\r\n\r\n### 西周\r\n\r\n### 东周\r\n\r\n#### 春秋时期\r\n\r\n##### 孔子\r\n `,\r\n\r\n mdtest3: `# JavaScript 知识点\r\n\r\n## 基础概念\r\n- 数据类型\r\n - 基本类型:字符串、数字、布尔值、null、undefined\r\n - 引用类型:对象、数组、函数、日期\r\n\r\n- 变量与常量\r\n - 变量声明(var、let、const)\r\n - 变量提升与作用域\r\n - 常量声明(const)\r\n\r\n## 数据结构\r\n- 数组\r\n - 增删改查操作\r\n - 遍历方法(for 循环、forEach、map、filter 等)\r\n\r\n- 对象\r\n - 属性与方法\r\n - 对象字面量与构造函数\r\n - 原型与原型链\r\n\r\n- Map 和 Set\r\n - 使用场景与操作\r\n\r\n## 函数与闭包\r\n- 函数声明与表达式\r\n- 参数传递(默认参数、剩余参数)\r\n- 闭包的概念与应用\r\n\r\n## 异步编程\r\n- 回调函数\r\n- Promise 对象\r\n- async/await\r\n\r\n## ES6+ 新特性\r\n- 箭头函数\r\n- 模板字符串\r\n- 解构赋值\r\n- 类与继承\r\n- 模块化(import/export)\r\n\r\n## 浏览器相关\r\n- DOM 操作\r\n- 事件处理\r\n- AJAX 与 Fetch API\r\n\r\n## 工具与框架\r\n- npm/yarn\r\n- 框架(如React、Vue)\r\n- 调试工具(如Chrome 开发者工具)\r\n\r\n## 性能优化\r\n- 代码优化技巧\r\n- 加载优化与资源管理\r\n\r\n## 安全性考虑\r\n- XSS 与 CSRF 攻击\r\n- 数据加密与传输安全\r\n\r\n## 测试与调试\r\n- 单元测试\r\n- 调试技巧\r\n\r\n## 未来发展\r\n- ECMAScript 规范与版本更新\r\n- WebAssembly 的应用与前景\r\n`,\r\n mdtest4: `# 北宋文化成就\r\n\r\n## 文學\r\n### 詩詞\r\n#### 蘇軾\r\n#### 歐陽修\r\n#### 王安石\r\n### 散文\r\n#### 歐陽修\r\n#### 曾鞏\r\n#### 蘇轍\r\n\r\n## 繪畫\r\n### 山水畫\r\n#### 范寬\r\n#### 郭熙\r\n### 人物畫\r\n#### 張擇端\r\n##### 清明上河圖\r\n### 花鳥畫\r\n#### 黃荃\r\n#### 徐熙\r\n`,\r\n\r\n mdtest5: `# 安全性考虑\r\n - CSRF(跨站请求伪造)\r\n - **XSS(跨站脚本攻击)**\r\n - 什么是 XSS:XSS 攻击是指恶意攻击者在目标网站上注入恶意脚本,目的是在用户的浏览器中执行恶意代码。\r\n - XSS 类型:反射型 XSS、存储型 XSS、DOM 型 XSS。\r\n - 防范措施:\r\n - 输入验证和输出编码:对用户输入的数据进行验证,并在输出时进行编码。\r\n - 使用安全的 API:避免使用 innerHTML、document.write 等容易引发 XSS 的 API,使用 textContent、innerText 等替代。\r\n - Content Security Policy (CSP):通过设置 CSP 头,限制可以加载的资源来源,防止外部恶意脚本的注入。`,\r\n\r\n mdtest6: `# 在烘手機下探索科學樂趣\r\n\r\n## 1. 主題\r\n- 探索科學樂趣\r\n\r\n## 2. 烘手機的科學原理\r\n- 氣流原理\r\n - 烘手機的工作原理\r\n - 氣流速度測試\r\n- 加熱原理\r\n - 加熱元件介紹\r\n - 溫度變化實驗\r\n\r\n## 3. 實驗設計\r\n- 實驗目的\r\n - 理解烘手機的運作\r\n - 探索物理現象\r\n- 實驗材料\r\n - 烘手機\r\n - 風速計\r\n - 溫度計\r\n - 不同材質的物品\r\n- 實驗步驟\r\n - 準備實驗材料\r\n - 設置實驗環境\r\n - 測量並記錄數據\r\n - 分析實驗結果\r\n\r\n## 4. 教學應用\r\n- 激發學生興趣\r\n - 與生活相關的科學\r\n - 動手操作的實驗\r\n- 教學方法\r\n - 問題導向學習\r\n - 小組合作\r\n - 結果討論與分享\r\n\r\n## 5. 結論\r\n- 科學實驗的重要性\r\n- 透過實驗培養學生的探索精神與問題解決能力\r\n\r\n## 6. 延伸活動\r\n- 不同烘手機品牌的比較\r\n- 探索其他家用電器的科學原理\r\n- 科學展覽或競賽\r\n`,\r\n\r\n //開頭不是井字號\r\n mdtest7: `- 數位轉型\r\n \r\n- 核心元素:\r\n - 數位技術\r\n - 組織文化轉型\r\n - 數據驅動決策\r\n - 顧客體驗優化\r\n `,\r\n\r\n //包含數字項目但無縮排測試1\r\n mdtest8: `# 數位轉型\r\n- 核心元素:\r\n - 數位技術\r\n - 組織文化轉型\r\n - 數據驅動決策\r\n - 顧客體驗優化\r\n\r\n- 階段:\r\n 1. 認知與覺醒:\r\n - 技術發展的重要性\r\n - 數位轉型的潛在價值\r\n - 全面洞悉數位趨勢\r\n\r\n 2. 規劃與策略:\r\n - 數位戰略制定\r\n - 資源與投資規劃\r\n - 領導力與人才培養\r\n\r\n 3. 執行與實施:\r\n - 數位基礎建設建置\r\n - 整合現有系統與流程\r\n - 創新實驗與快速迭代\r\n\r\n 4. 監測與優化:\r\n - 數據分析與追蹤\r\n - 關鍵績效指標評估\r\n - 持續改進與優化\r\n\r\n- 關鍵指標:\r\n - 新數位技術的採用率\r\n - 數位能力的提升程度\r\n - 數據資源的整合與利用\r\n - 顧客滿意度與忠誠度提升程度\r\n `,\r\n\r\n //包含數字項目但無縮排測試2\r\n mdtest9: `# 數位轉型\r\n\r\n## 核心元素\r\n- 組織變革\r\n- 技術整合\r\n- 數據分析\r\n- 創新思維\r\n\r\n## 階段\r\n1. 了解與規劃\r\n2. 實施與執行\r\n3. 優化與改善\r\n\r\n## 關鍵指標\r\n- 數位成熟能力提升率\r\n- 數位解決方案採用率\r\n- 數據驅動程度\r\n- 創新產品與服務比例\r\n `,\r\n\r\n mdtest10: `# 數位轉型心智圖\r\n \r\n## 核心元素\r\n- 技術基礎\r\n- 組織變革\r\n- 數位文化\r\n- 數據分析\r\n- 創新思維\r\n\r\n## 階段\r\n- 規劃與策略\r\n- 執行與實施\r\n- 監控與評估\r\n- 持續改進\r\n\r\n## 關鍵指標\r\n- 數位化程度\r\n- 效能提升\r\n- 顧客體驗\r\n- 營收增長\r\n- 創新能力\r\n `,\r\n\r\n mdtest11: \"```markdowndsdsd\\n# 水的冰點與沸點\\n## 水的物理性質\\n### 1. 常見液體\\n### 2. 短缺與長缺\\n## 冰點\\n### 1. 定義\\n### 2. 溫度\\n### 3. 影響因素\\n### 4. 水結冰過程\\n## 沸點\\n### 1. 定義\\n### 2. 溫度\\n### 3. 影響因素\\n### 4. 水沸騰過程\\n## 冰點與沸點比較\\n### 1. 相同點\\n### 2. 不同點\\n### 3. 溫度範圍\\n## 實驗與觀察\\n### 1. 准備材料\\n### 2. 實驗過程\\n### 3. 數據分析\\n## 應用與實際生活\\n### 1. 天氣預報\\n### 2. 烹飪\\n### 3. 水資源管理\\n```\",\r\n};\r\n","/*eslint-disable*/\r\nimport mdTestText from \"./mdTestText\";\r\n//處理markdown轉換套件\r\nconst remark = require(\"remark\");\r\nconst remarkParse = require(\"remark-parse\");\r\n\r\n\r\nexport default {\r\n removeMarkdownFences(mdText) { //移除字串中包含 ``` 的行\r\n return mdText.replace(/^.*```.*$/gm, '').trim();\r\n },\r\n fixHeading(mdText) {\r\n //修理井字號 第一次出現的要是##\r\n let lines = mdText.split(\"\\n\");\r\n let adjustedLines = [];\r\n let foundFirstLevelHeading = false;\r\n let noTitle = true;\r\n\r\n for (let i = 0; i < lines.length; i++) {\r\n let line = lines[i];\r\n\r\n if (line.startsWith(\"# \") && !foundFirstLevelHeading) {\r\n foundFirstLevelHeading = true;\r\n noTitle = false;\r\n } else if (foundFirstLevelHeading && /^#{3,}/.test(line)) {\r\n line = line.replace(/^#{3,}/, \"##\");\r\n foundFirstLevelHeading = false; // Reset after the first replacement\r\n } else if (line.startsWith(\"## \")) {\r\n foundFirstLevelHeading = false;\r\n }\r\n\r\n adjustedLines.push(line);\r\n }\r\n\r\n //如果都沒有標題,把第一個-開頭的標題換成#\r\n if (noTitle) {\r\n for (let i = 0; i < adjustedLines.length; i++) {\r\n if (adjustedLines[i].startsWith(\"- \")) {\r\n adjustedLines[i] = adjustedLines[i].replace(\"- \", \"# \");\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return adjustedLines.join(\"\\n\");\r\n },\r\n fixNumToList(mdText) {\r\n //去掉數字.後面的空格\r\n // 去掉數字.後面的空格 並把數字開頭項目加入項目符號 -\r\n let lines = mdText.split(\"\\n\");\r\n let adjustedLines = lines.map((line) => {\r\n // 保留原始縮排\r\n let leadingSpaces = line.match(/^\\s*/)[0];\r\n let trimmedLine = line.trim();\r\n\r\n // 匹配 \"數字. \" 並去掉空格\r\n trimmedLine = trimmedLine.replace(/(\\d+)\\. /g, \"$1.\");\r\n\r\n // 把數字開頭的項目加入項目符號 -\r\n if (/^\\d+\\./.test(trimmedLine)) {\r\n trimmedLine = \"- \" + trimmedLine;\r\n }\r\n\r\n return leadingSpaces + trimmedLine;\r\n });\r\n\r\n return adjustedLines.join(\"\\n\");\r\n },\r\n removeEmptyLinesInLists(markdownText) {\r\n //移除##下連續兩個子項中間的空行,避免空行後形成新列表 ,詳如測試案例3\r\n const lines = markdownText.split(\"\\n\");\r\n let result = [];\r\n\r\n let insideList = false;\r\n for (let i = 0; i < lines.length; i++) {\r\n let line = lines[i];\r\n\r\n if (line.trim().startsWith(\"-\") || line.trim().startsWith(\"*\") || line.trim().startsWith(\"1.\")) {\r\n // 如果以列表标记开头,则将其视为列表项\r\n if (!insideList) {\r\n // 如果不在列表中,则开始新的列表\r\n insideList = true;\r\n result.push(line);\r\n } else {\r\n // 如果在列表中,追加到上一个列表项的末尾(去除空行)\r\n result[result.length - 1] += \"\\n\" + line;\r\n }\r\n } else if (line.trim() === \"\" && insideList) {\r\n // 如果是空行且在列表内部,跳过空行\r\n continue;\r\n } else {\r\n // 非列表项内容,直接添加到结果中\r\n result.push(line);\r\n insideList = false; // 离开列表\r\n }\r\n }\r\n\r\n return result.join(\"\\n\");\r\n },\r\n fixIndent(input) {\r\n //##下面同一級--調整為子項\r\n let lines = input.trim().split(\"\\n\");\r\n\r\n // 初始化變數\r\n let result = [];\r\n let insideSection = false; // 標記是否在 ## 標題節點內部\r\n let indentStack = [0]; // 追蹤當前縮進級別的堆疊\r\n\r\n // 遍歷每一行\r\n for (let i = 0; i < lines.length; i++) {\r\n let line = lines[i];\r\n\r\n if (line.startsWith(\"##\")) {\r\n // 處理 ## 標題節點\r\n result.push(line);\r\n insideSection = true; // 進入這個節點內部\r\n } else if (insideSection && (line.trim().startsWith(\"-\") || line.trim().startsWith(\"*\"))) {\r\n // 處理 ## 標題節點下的列表項目\r\n let currentIndentLevel = line.search(/\\S/);\r\n if (currentIndentLevel > indentStack[indentStack.length - 1]) {\r\n // 如果當前縮進級別大於堆疊頂元素,說明是子項\r\n indentStack.push(currentIndentLevel);\r\n } else {\r\n // 否則,調整堆疊直到找到正確的縮進級別\r\n while (currentIndentLevel < indentStack[indentStack.length - 1]) {\r\n indentStack.pop();\r\n }\r\n }\r\n result.push(\" \".repeat(indentStack.length * 2) + line.trim());\r\n } else if (insideSection && line.trim() === \"\") {\r\n // 遇到空行,停止節點內部的處理\r\n result.push(line);\r\n insideSection = false;\r\n } else {\r\n // 預設情況下直接添加該行\r\n result.push(line);\r\n }\r\n }\r\n // 將處理後的文本行合併並返回\r\n return result.join(\"\\n\");\r\n },\r\n preConvertMDHeadingToList(mdText) {\r\n const lines = mdText.split(\"\\n\");\r\n let result = [];\r\n let currentIndent = 0;\r\n let isFirstHeading = true;\r\n\r\n lines.forEach((line, index) => {\r\n if (line.trim() === \"\") {\r\n result.push(\"\");\r\n return;\r\n }\r\n\r\n const headingMatch = line.match(/^(#+)\\s*(.*)/);\r\n const listMatch = line.match(/^(\\s*)-\\s*(.*)/);\r\n\r\n if (headingMatch) {\r\n const level = headingMatch[1].length;\r\n const content = headingMatch[2];\r\n\r\n if (isFirstHeading) {\r\n result.push(\"# \" + content); // Keep the first heading line as '#' style\r\n isFirstHeading = false;\r\n } else {\r\n if (level > 1) {\r\n currentIndent = level - 2; // Adjust indent based on heading level\r\n } else {\r\n currentIndent = 0; // Reset indent for higher level headings\r\n }\r\n result.push({ indent: currentIndent, text: content });\r\n }\r\n } else if (listMatch) {\r\n const indent = listMatch[1].length / 2; // Assuming each level of list is indented by 2 spaces\r\n const content = listMatch[2];\r\n currentIndent = indent;\r\n result.push({ indent: currentIndent, text: content });\r\n } else {\r\n result.push({ indent: currentIndent, text: line.trim() });\r\n }\r\n });\r\n\r\n let output = \"\";\r\n result.forEach((item) => {\r\n if (item === \"\") {\r\n output += \"\\n\";\r\n } else if (typeof item === \"string\") {\r\n output += item + \"\\n\";\r\n } else {\r\n output += \" \".repeat(item.indent) + \"- \" + item.text + \"\\n\";\r\n }\r\n });\r\n\r\n return output.trim();\r\n },\r\n\r\n removeIndentation(mdtext) {\r\n const lines = mdtext.split(\"\\n\");\r\n // 找到最小的非零缩进级别\r\n const minIndent = Math.min(...lines.filter((line) => line.trim().length > 0).map((line) => line.match(/^\\s*/)[0].length));\r\n\r\n // 移除每行的最小缩进\r\n const unindentedLines = lines.map((line) => line.slice(minIndent));\r\n return unindentedLines.join(\"\\n\");\r\n },\r\n mdToJsMind(mdtext, vm) {\r\n let finalmdtext = \"\";\r\n const lineColorArr = [\"red\", \"orange\", \"green\", \"#0000ff\", \"brown\", \"purple\", \"#0000ff\", \"purple\"];\r\n const nodeColorArr = [\"rgb(255, 191, 215)\", \"rgb(255, 238, 139)\", \"rgb(211, 255, 139)\", \"rgb(139, 243, 255)\", \"rgb(255, 191, 215)\", \"rgb(255, 238, 139)\", \"rgb(211, 255, 139)\", \"rgb(139, 243, 255)\"];\r\n let branchIndex = 0;\r\n\r\n try {\r\n // 移除缩进\r\n finalmdtext = this.testMDFormatByJest(mdtext);\r\n\r\n // 解析 Markdown\r\n const ast = remark()\r\n .use(remarkParse)\r\n .parse(finalmdtext);\r\n\r\n const mindData = {\r\n meta: {\r\n name: \"\",\r\n author: \"\",\r\n version: \"\",\r\n },\r\n format: \"node_array\",\r\n data: [],\r\n };\r\n\r\n function addNode(parentId, topic, isRoot = false, isFirstLevel = false, parentLineColor = null, parentBgColor = null, index = 0, childrenLength = 0) {\r\n const nodeId = isRoot ? \"root\" : vm.genUUID();\r\n let finalNote = \"\";\r\n if (topic.length > 20 && topic.length < 100) {\r\n finalNote = topic;\r\n } else if (topic >= 100) {\r\n finalNote = topic.slice(0, 97) + \"...\";\r\n } else if (topic <= 20) {\r\n finalNote = \"\";\r\n }\r\n\r\n const node = {\r\n id: nodeId,\r\n parentid: parentId ? parentId : \"\",\r\n isroot: isRoot ? true : false,\r\n topic: `
${topic.length > 20 ? topic.slice(0, 17) + \"...\" : topic}
`,\r\n direction: childrenLength!==0 && index < childrenLength/2 ? \"right\" : \"left\",\r\n nodeText: topic,\r\n nodeImg: \"\",\r\n nodeLink: \"\",\r\n note: finalNote,\r\n };\r\n\r\n if (!isRoot) {\r\n if (isFirstLevel) {\r\n const lineColorIndex = branchIndex % lineColorArr.length; //從配好的色組挑選\r\n const nodeColorIndex = branchIndex % nodeColorArr.length;\r\n node.lineColor = lineColorArr[lineColorIndex];\r\n node[\"background-color\"] = nodeColorArr[nodeColorIndex];\r\n branchIndex++;\r\n } else {\r\n node.lineColor = parentLineColor;\r\n node[\"background-color\"] = parentBgColor;\r\n }\r\n }\r\n if(isFirstLevel){\r\n node.direction==\"right\"? mindData.data.push(node):mindData.data.unshift(node);\r\n }else{\r\n mindData.data.push(node);\r\n }\r\n \r\n return nodeId;\r\n }\r\n\r\n function traverseAst(parentId, children, level = 1, parentLineColor = null, parentBgColor = null) {\r\n children.forEach((child, index) => {\r\n if (child.type === \"listItem\" && child.children && child.children.length > 0) {\r\n let topicNode = child.children.find((n) => n.type === \"paragraph\");\r\n if (topicNode && topicNode.children && topicNode.children.length > 0) {\r\n let topic = topicNode.children\r\n .map((n) => {\r\n return n.type === \"strong\" ? n.children.map((n) => n.value) : n.value;\r\n })\r\n .join(\"\");\r\n const isFirstLevel = level === 1;\r\n const nodeId = addNode(parentId, topic, false, isFirstLevel, parentLineColor, parentBgColor, index, children.length);\r\n \r\n\r\n const currentLineColor = mindData.data.find((node) => node.id === nodeId).lineColor;\r\n const currentBgColor = mindData.data.find((node) => node.id === nodeId)[\"background-color\"];\r\n\r\n let sublist = child.children.find((n) => n.type === \"list\");\r\n if (sublist) {\r\n traverseAst(nodeId, sublist.children, level + 1, currentLineColor, currentBgColor);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n const rootNode = ast.children.find((n) => n.type === \"heading\" && n.depth === 1);\r\n if (rootNode && rootNode.children && rootNode.children.length > 0) {\r\n const rootTopic = rootNode.children.map((n) => n.value).join(\"\");\r\n addNode(null, rootTopic, true);\r\n const list = ast.children.find((n) => n.type === \"list\");\r\n if (list) {\r\n traverseAst(\"root\", list.children);\r\n }\r\n }\r\n if (mindData?.data.length === 0) {\r\n vm.$Message.info(vm.$t(\"webirs.mindmap.markDownNoData\"));\r\n return \"\";\r\n } else {\r\n return mindData;\r\n }\r\n } catch (error) {\r\n vm.$Message.warning(vm.$t(\"webirs.mindmap.markDownErr\"));\r\n return null;\r\n }\r\n },\r\n jsMindToMd(jmNode, vm) {\r\n function traverse(node, depth = 0) {\r\n let mdText = \"\";\r\n if (depth === 0) {\r\n mdText += `# ${node.nodeText}\\n\\n`;\r\n } else {\r\n mdText += node.nodeText ? `${\" \".repeat(depth - 1)}- ${node.nodeText}\\n` : \"\";\r\n }\r\n\r\n if (node.children && node.children.length > 0) {\r\n node.children.forEach((child) => {\r\n mdText += traverse(child, depth + 1);\r\n });\r\n }\r\n return mdText;\r\n }\r\n\r\n return traverse(jmNode.data);\r\n },\r\n testMDFormatByJest(currentMdText) {\r\n let step0 = this.removeMarkdownFences(currentMdText)\r\n let step1 = this.fixHeading(step0);\r\n let step2 = this.fixNumToList(step1);\r\n let step3 = this.removeEmptyLinesInLists(step2);\r\n let step4 = this.fixIndent(step3);\r\n let step5 = this.preConvertMDHeadingToList(step4);\r\n let finalResult = this.removeIndentation(step5);\r\n return finalResult;\r\n },\r\n //測試案例與輸出\r\n testMDFormat() {\r\n let currentMdText = mdTestText.mdtest11;\r\n let result = this.testMDFormatByJest(currentMdText);\r\n console.log(result);\r\n return currentMdText;\r\n },\r\n};\r\n","import { render } from \"./MindMap.vue?vue&type=template&id=699b5c25&scoped=true\"\nimport script from \"./MindMap.vue?vue&type=script&lang=js\"\nexport * from \"./MindMap.vue?vue&type=script&lang=js\"\n\nimport \"./MindMap.vue?vue&type=style&index=0&id=699b5c25&lang=less\"\nimport \"./MindMap.vue?vue&type=style&index=1&id=699b5c25&lang=less&scoped=true\"\n\nimport exportComponent from \"../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-699b5c25\"]])\n\nexport default __exports__","
\r\n \r\n
全國閱讀好小子學藝競賽活動 - 新增參賽班級名單
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 請輸入學生,
\r\n 格式: 名字,座號
\r\n 請直接從 excel 複製兩欄資料過來貼上
\r\n 範例如下:
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 新增學生\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 刪除\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n 送出\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n 請登入\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n\r\n\r\n","import script from \"./Activity_CreateClass.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Activity_CreateClass.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./Activity_CreateClass.vue?vue&type=style&index=0&id=386917d6&scoped=true&lang=css\"\n\nimport exportComponent from \"../../../node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__scopeId',\"data-v-386917d6\"]])\n\nexport default __exports__","import { createRouter, createWebHistory } from \"vue-router\";\r\n\r\nimport TestPage from \"./views/TestPage.vue\";\r\n// import Home from \"./views/Home.vue\";\r\nimport HomePage_Taoyuan from \"./views/HomePage_Taoyuan.vue\";\r\nimport HomePage_Activity from \"./views/HomePage_Activity.vue\";\r\nimport CatePage from \"./views/CatePage.vue\";\r\nimport Content from \"./views/Content.vue\";\r\nimport Profile from \"./views/Profile.vue\";\r\nimport Setting from \"./views/Setting.vue\";\r\nimport Management from \"./views/Management.vue\";\r\nimport Reported from \"./views/Reported.vue\"\r\nimport GroupProfile from \"./views/GroupProfile.vue\"\r\nimport PackContent from \"./views/PackContent.vue\"\r\nimport AccountInfo from \"./views/Authorize/AccountInfo.vue\"\r\nimport Binding_CheckAccount from \"./views/Authorize/Binding_CheckAccount.vue\"\r\nimport Binding_Choose from \"./views/Authorize/Binding_Choose.vue\"\r\nimport Activity_List from \"./views/Activity/Activity_List.vue\"\r\nimport Activity_Info from \"./views/Activity/Activity_Info.vue\"\r\nimport Activity_Data from \"./views/Activity/Activity_Data.vue\"\r\nimport MindMapHome from \"./views/MindMapHome.vue\"\r\nimport MindMap from \"./components/MindMap.vue\"\r\nimport Activity_CreateClass from \"./views/Activity/Activity_CreateClass.vue\"\r\n\r\n\r\n\r\nconst routes = [\r\n {\r\n path: \"/testPage\",\r\n name: \"TestPage\",\r\n component: TestPage,\r\n meta: { requiresAuth: false },\r\n },\r\n // {\r\n // path: \"/\",\r\n // name: \"Home\",\r\n // component: Home,\r\n // meta: { requiresAuth: false },\r\n // },\r\n {\r\n path: \"/\",\r\n name: \"Home\",\r\n component: HomePage_Taoyuan,\r\n meta: { requiresAuth: false,title: '桃園市HiTeach授權活動平台' },\r\n },\r\n {\r\n path: \"/HomePage_Taoyuan\",\r\n name: \"HomePage_Taoyuan\",\r\n component: HomePage_Taoyuan,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/HomePage_Activity\",\r\n name: \"HomePage_Activity\",\r\n component: HomePage_Activity,\r\n meta: { requiresAuth: false },\r\n },//HomePage_Activity\r\n {\r\n path: \"/AccountInfo\",\r\n name: \"AccountInfo\",\r\n component: AccountInfo,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/Binding_CheckAccount\",\r\n name: \"Binding_CheckAccount\",\r\n component: Binding_CheckAccount,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/Binding_Choose\",\r\n name: \"Binding_Choose\",\r\n component: Binding_Choose,\r\n meta: { requiresAuth: false },\r\n }, \r\n {\r\n path: \"/Activity_List\",\r\n name: \"Activity_List\",\r\n component: Activity_List,\r\n meta: { requiresAuth: false },\r\n }, \r\n {\r\n path: \"/Activity_Info\",\r\n name: \"Activity_Info\",\r\n component: Activity_Info,\r\n meta: { requiresAuth: false,title: '全國閱讀好小子學藝競賽' },\r\n },\r\n {\r\n path: \"/goodkid\",\r\n name: \"goodkid\",\r\n component: Activity_Info,\r\n meta: { requiresAuth: false,title: '全國閱讀好小子學藝競賽' },\r\n },\r\n {\r\n path: \"/goodkid/Activity_CreateClass\",\r\n name: \"Activity_CreateClass\",\r\n component: Activity_CreateClass,\r\n meta: { requiresAuth: false,title: '全國閱讀好小子學藝競賽' },\r\n },\r\n {\r\n path: \"/Activity_Data\",\r\n name: \"Activity_Data\",\r\n component: Activity_Data,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/:type\",\r\n name: \"CatePage\",\r\n component: CatePage,\r\n meta: { requiresAuth: false },\r\n },\r\n // {\r\n // path: \"/Activity/:type/:id\",\r\n // name: \"Activity_Info\",\r\n // component: Activity_Info,\r\n // meta: { requiresAuth: false },\r\n // },\r\n {\r\n path: \"/content/:type/:id\",\r\n name: \"Content\",\r\n component: Content,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/profile/:id\",\r\n name: \"Profile\",\r\n component: Profile,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/group/:id\",\r\n name: \"GroupProfile\",\r\n component: GroupProfile,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/pack/:id\",\r\n name: \"PackContent\",\r\n component: PackContent,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/setting\",\r\n name: \"Setting\",\r\n component: Setting,\r\n meta: { requiresAuth: true },\r\n },\r\n {\r\n path: \"/management\",\r\n name: \"Management\",\r\n component: Management,\r\n meta: { requiresAuth: true },\r\n },\r\n {\r\n path:\"/reported\",\r\n name:\"Reported\",\r\n component:Reported,\r\n meta: { requiresAuth: true },\r\n },\r\n {\r\n path: \"/mindmaphome\",\r\n name: \"MindMapHome\",\r\n component: MindMapHome,\r\n meta: { requiresAuth: false },\r\n },\r\n {\r\n path: \"/mindmap\",\r\n name: \"MindMap\",\r\n component: MindMap,\r\n meta: { requiresAuth: false },\r\n },\r\n];\r\nconst router = createRouter({\r\n history: createWebHistory(),\r\n routes,\r\n});\r\nrouter.beforeEach((to, from, next) => {\r\n document.title = to.meta.title || 'HiTeach授權活動平台';\r\n next();\r\n});\r\n\r\nexport default router;\r\n","import { defineStore } from \"pinia\";\r\nimport router from \"../router\";\r\n\r\nexport const useMainStore = defineStore(\"main\", {\r\n state: () => ({\r\n blobContainerClient:\"\", //讓其他頁可以刪除使用\r\n currentPage: \"\",\r\n blobsas: \"\",\r\n currentContent: \"\",\r\n currentProfile: \"\",\r\n currentEditItem:\"\",\r\n mountedMsg: \"\",\r\n currentSortBy: \"timeNew\",\r\n allHits: [],\r\n currentGroupProfile:\"\",\r\n currentPackContent:\"\",\r\n currentEditMaterialGroupMode:'move', //存放當前是move 或 copy\r\n isLogin: false,\r\n version:\"\" //MindMap Cloud:v0.240820,\\n教材分享網:v0.230921\r\n }),\r\n getters:{\r\n getAllHits(){\r\n return this.allHits\r\n }\r\n },\r\n actions: {\r\n setIsLogIn(status){\r\n this.isLogin=status\r\n },\r\n setCurrentEditMaterialGroupMode(mode){\r\n this.currentEditMaterialGroupMode=mode\r\n },\r\n setBlobContainerClient(blobClient){\r\n this.blobContainerClient=blobClient;\r\n },\r\n setCurrentEditItem(item){\r\n this.currentEditItem=item\r\n },\r\n setCurrentPage(name) {\r\n this.currentPage = name;\r\n },\r\n setMountedMsg(data) {\r\n this.mountedMsg = data;\r\n },\r\n setBlobSas(str) {\r\n this.blobsas = str;\r\n },\r\n setCurrentContent(item) {\r\n this.currentContent = item;\r\n },\r\n setSortBy(way) {\r\n this.currentSortBy = way;\r\n },\r\n //全域常用\r\n viewContent(item) {\r\n this.saveCardHit(item)\r\n this.setCurrentContent(item);\r\n router.push({\r\n name: \"Content\",\r\n params: {\r\n id: item.id,\r\n type: item.type,\r\n },\r\n });\r\n },\r\n viewPackContent(packContent) {\r\n this.currentPackContent = packContent;\r\n router.push({\r\n name: \"PackContent\",\r\n params: {\r\n id: packContent.id,\r\n },\r\n });\r\n },\r\n\r\n viewProfile(uploader) {\r\n this.currentProfile = uploader;\r\n router.push({\r\n name: \"Profile\",\r\n params: {\r\n id: uploader.id,\r\n },\r\n });\r\n },\r\n viewGroupProfile(group){\r\n this.currentGroupProfile = group;\r\n router.push({\r\n name: \"GroupProfile\",\r\n params: {\r\n id: group.id,\r\n },\r\n });\r\n },\r\n saveCardHit(saveItem) {\r\n const index = this.allHits.findIndex((item) => item.id == saveItem.id);\r\n //從0開始計\r\n index == -1 ? this.allHits.push({ id: saveItem.id, hits: 1 }) : this.allHits[index].hits++;\r\n },\r\n },\r\n});\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n

\r\n
\r\n {{ $t(\"header.digitalLearningOffice\", { region: region_name }) }}
\r\n {{ $t(\"header.authorizationPlatform\") }}\r\n
\r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
{{ store.version }}
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import script from \"./App.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./App.vue?vue&type=script&setup=true&lang=js\"\n\nimport \"./App.vue?vue&type=style&index=0&id=5f4b0896&lang=less\"\n\nconst __exports__ = script;\n\nexport default __exports__","export default {\r\n 新增: \"新增节点\",\r\n 編輯: \"编辑节点\",\r\n 輸入文字: \"输入文字\",\r\n 確定: \"确定\",\r\n 取消: \"取消\",\r\n 請先選取節點: \"请先选取节点!\",\r\n 不可刪除有子項目的節點: \"不可刪除有子項目的節點!\",\r\n 新增失敗: \"新增失败,父节点已被删除!\",\r\n 編輯失敗: \"编辑失败,所选节点已被删除!\",\r\n 加入根節點: \"加入根节点\",\r\n 左邊: \"左边\",\r\n 右邊: \"右边\",\r\n 已是最上面: \"已是最上面!\",\r\n 已是最下面: \"已是最下面!\",\r\n 圖片: \"图片\",\r\n 圖片過大提示字1: \"所选图片过大(请小于\",\r\n 圖片過大提示字2: \"MB),请重新选择!\",\r\n 連結: \"连结\",\r\n 連結網址: \"连结网址\",\r\n 連結名稱: \"连结名称\",\r\n 輸入URL: \"输入URL...\",\r\n 輸入連結名稱: \"输入连结名称...\",\r\n 註解: \"注解\",\r\n 進階設定: \"进阶设置\",\r\n 線條顏色: \"线条颜色\",\r\n 節點顏色: \"节点颜色\",\r\n preEditHint:'注意:目前的节点之前编辑者是',\r\n confirmUpdate:',确定要修改吗?',\r\n menu: {\r\n 新增: \"新增\",\r\n 刪除: \"删除\",\r\n 上移: \"上移\",\r\n 下移: \"下移\",\r\n 編輯: \"编辑\",\r\n 複製: \"复制\",\r\n 檢視圖片: \"检视图片\",\r\n 最後更新: \"最后更新\",\r\n },\r\n imgEditor: {\r\n 詢問離開動作: \"询问离开动作?\",\r\n 保存圖片: \"保存图片\",\r\n 捨棄變更: \"舍弃变更\",\r\n 取消: \"取消\",\r\n },\r\n};\r\n","export default {\r\n 比例: \"比例\",\r\n //AddImageBox\r\n 檔案圖片: \"文件图片\",\r\n 選取圖片作為物件: \"选取图片作为对象\",\r\n 背景設置: \"背景设置\",\r\n 選取圖片作為背景: \"选取图片作为背景\",\r\n //AddTextBox & TextSetting\r\n 文字工具: \"文字工具\",\r\n 編輯文字便利貼: \"编辑\",\r\n openURL_NewTab: \"于新分页检视连结\",\r\n 刪除文字便利貼: \"删除\",\r\n 輸入文字: \"输入文字\",\r\n 字體大小: \"字体大小\",\r\n 字體顏色: \"字体颜色\",\r\n 顏色: \"颜色\",\r\n 便利貼顏色: \"便利贴颜色\",\r\n 確定: \"确定\",\r\n 取消: \"取消\",\r\n //PenSetting\r\n 畫筆: \"画笔\",\r\n 通用畫筆: \"通用画笔\",\r\n 高光筆: \"高光笔\",\r\n 鐳射筆: \"镭射笔\",\r\n 大小: \"大小\",\r\n //ShapeSetting\r\n 圖形: \"图形\",\r\n 邊框: \"边框\",\r\n 填充: \"填充\",\r\n 箭頭: \"箭头\",\r\n 直線: \"直线\",\r\n 圓形: \"圆形\",\r\n 橢圓: \"椭圆\",\r\n 矩形: \"矩形\",\r\n 三角形: \"三角形\",\r\n 星形: \"星形\",\r\n 所選圖片過大: \"所选图过大(应小于3MB),请重新选择!\",\r\n 打開點擊的物件連結: \"打开点击的对象连结?\",\r\n 多連結詢問: \"侦测到点击的对象含有多个有效连结,请选择一个动作\",\r\n 目前沒有動作可復原: \"目前没有动作可复原\",\r\n 復原我最近一次刪除動作: \"复原我最近一次删除动作!\",\r\n ModifyHint: \"内容有修改过,离开将不保存,您还想离开吗?\",\r\n 物件化畫板: \"对象化画板\",\r\n 重新整理圖層: \"重新整理图层!\",\r\n 刪除鎖定物件提示字: \"删除了教师锁定的对象,可点击复原或重开教材!\",\r\n 協作無法刪除鎖定提示字: \"协作无法删除教师锁定的对象!\",\r\n 複製: \"克隆\",\r\n 刪除: \"删除\",\r\n 移到最上層: \"移到最上层\",\r\n 移到最下層: \"移到最下层\",\r\n};\r\n","import mindmap from \"./mindmap\";\r\nimport konvaCanvas from \"./konvaCanvas\";\r\nexport default {\r\n konvaCanvas,\r\n mindmap,\r\n \"header\": {\r\n \"digitalLearningOffice\": \"{region}政府教育局\",\r\n \"authorizationPlatform\": \"HiTeach 授权与活动平台\",\r\n \"cityInformation\": \"{region}资讯\",\r\n \"softwareIntroduction\": \"HiTeach 软件介绍\",\r\n \"learningResources\": \"学习资源\",\r\n \"latestNews\": \"最新消息\",\r\n \"contactUs\": \"联络我们\",\r\n \"login\": \"登入\"\r\n },\r\n \"eventPage\": {\r\n applyCheck:'我要申请/查询',\r\n authorization:'授权',\r\n entry1:'县市统一采购HiTeach授权进入口',\r\n getAuthorization:'由此进入后申请授权',\r\n check:'我要报名/查询',\r\n event:'活动',\r\n competition:'县市XHiTeach竞赛活动',\r\n registration:'由此进入后申请报名',\r\n eventPreparation: \"活动筹备中\",\r\n notification: \"通知\"\r\n },\r\n \"AccountInfo\": {\r\n \"availableProducts\": \"可申请商品\",\r\n \"noAvailableItems\": \"目前没有可申请的项目\",\r\n \"apply\": \"申请\",\r\n \"authorizationNote\": \"※如果 HiTeach 日期重复,重叠时间会往后累加!\",\r\n \"myAuthorizations\": \"我的授权\",\r\n \"customerSupport\": \"客服协助\",\r\n \"productName\": \"产品名称\",\r\n \"usageTime\": \"使用时间\",\r\n \"state\": \"状态\",\r\n additionalItem: 'Additional Item',\r\n \"confirmApplication\": \"确定要申请吗?\",\r\n \"inquiry\": \"询问\",\r\n \"yes\": \"对\",\r\n teamModelAccount: '醍摩豆用户编号',\r\n schoolNotInList: '学校不在此次的统购清单中',\r\n schoolAuthorizationFull: '学校授权已满',\r\n clickToLearnHiTeach: '还不会使用 HiTeach 吗?,请点这里学习!',\r\n notApplied: '未申请',\r\n appliedNotAuthorized: '申请已受理'\r\n },\r\n \"AccountLogin\":{\r\n sendVerificationCode: '传送验证码',\r\n resend: '重新发送',\r\n haveTeamModelAccount: '我有,醍摩豆账号',\r\n noTeamModelAccount: \"我没有,醍摩豆账号\",\r\n chooseMethodToProceed: '请选择任一种方式继续下一步',\r\n bindExistingTeamModelAccount: '进入绑定原有醍摩豆账号页面',\r\n registerAndBindNewAccount: '新注册醍摩豆账号,并绑定教育云账号',\r\n completeWithin30Minutes: '此阶段请于{time}分钟内完成,如逾期将须重新登入',\r\n back: '返回',\r\n chooseBindingMethod: '请选择,任一种,方式绑定原有醍摩豆账号',\r\n qrCodeBinding: 'QR-Code',\r\n qrCodeExpired: '您的 QR Code 已失效,请点选下方更新按钮',\r\n update: '更新',\r\n useHiTA5AppToScan: '请使用 HiTA5 APP 扫码',\r\n emailPhoneUserID: '醍摩豆账号',\r\n password: '密码',\r\n bindNow: '立刻绑定',\r\n sms: '手机简讯',\r\n phoneNumber: '手机号码',\r\n verificationCode: '验证码',\r\n confirmVerificationCode: '确认验证码',\r\n sendingSMS: '传送简讯中...',\r\n registerNewAccountPrompt: '请问是否要注册全新醍摩豆账号?',\r\n confirm: '确定',\r\n cancel: '取消',\r\n bindingSuccessful: '绑定成功',\r\n qrCodeLogin: 'QRCode 登入',\r\n incorrectAccountOrPassword: '帐号或密码错误',\r\n enterAccountAndPassword: '请输入帐号及密码',\r\n incorrectPhoneNumberFormat: '手机号码格式错误',\r\n enterPhoneNumber: '请输入手机号码',\r\n incorrectAccountOrVerificationCode: '帐号或验证码错误',\r\n incorrectVerificationCodeFormat: '验证码格式错误',\r\n enterVerificationCode: '请输入验证码',\r\n verificationCodeSendFailed: '验证码发送失败',\r\n verificationCodeSent: '验证码已发送',\r\n afterBindingLoginWithEduCloud: '绑定后,下次即可直接使用教育云账号做登录啰!',\r\n }\r\n};\r\n","export default {\r\n \r\n 新增:'新增節點',\r\n 編輯:'編輯節點',\r\n 輸入文字: '輸入文字',\r\n 確定:'確定',\r\n 取消:'取消',\r\n 請先選取節點:'請先選取節點!',\r\n 不可刪除有子項目的節點:'不可刪除有子項目的節點!',\r\n 新增失敗:'新增失敗,父節點已被刪除!',\r\n 編輯失敗:'編輯失敗,所選節點已被刪除!',\r\n 加入根節點:'加入根節點',\r\n 左邊:'左邊',\r\n 右邊:'右邊',\r\n 已是最上面:'已是最上面!',\r\n 已是最下面:'已是最下面!',\r\n 圖片:'圖片',\r\n 圖片過大提示字1:'所選圖片過大(請小於',\r\n 圖片過大提示字2:'MB),請重新選擇!',\r\n 連結:'連結',\r\n 連結網址:'連結網址',\r\n 連結名稱:'連結名稱',\r\n 輸入URL:'輸入URL...',\r\n 輸入連結名稱:'輸入連結名稱...',\r\n 註解:'註解',\r\n 進階設定:'進階設定',\r\n 線條顏色:'線條顏色',\r\n 節點顏色:'節點顏色',\r\n preEditHint:'注意:目前的節點之前編輯者是',\r\n confirmUpdate:',確定要修改嗎?',\r\n menu:{\r\n 新增:'新增',\r\n 刪除:'刪除',\r\n 上移:'上移',\r\n 下移:'下移',\r\n 編輯:'編輯',\r\n 複製:'複製',\r\n 檢視圖片:'檢視圖片',\r\n 最後更新:'最後更新',\r\n },\r\n imgEditor:{\r\n 詢問離開動作:\"詢問離開動作?\",\r\n 保存圖片:'保存圖片',\r\n 捨棄變更:'捨棄變更',\r\n 取消:'取消',\r\n }\r\n \r\n}","export default {\r\n 比例:'比例',\r\n //AddImageBox\r\n 檔案圖片:'檔案圖片',\r\n 選取圖片作為物件:'選取圖片作為物件',\r\n 背景設置:'背景設置',\r\n 選取圖片作為背景:'選取圖片作為背景',\r\n //AddTextBox & TextSetting\r\n 文字工具:'文字便利貼工具',\r\n 編輯文字便利貼:'編輯',\r\n \"openURL_NewTab\": \"於新分頁檢視連結\",\r\n 刪除文字便利貼:'刪除',\r\n 輸入文字: '輸入文字',\r\n 字體大小:'字體大小',\r\n 字體顏色:'字體顏色',\r\n 顏色:'顏色',\r\n 便利貼顏色:'便利貼顏色',\r\n 確定:'確定',\r\n 取消:'取消',\r\n //PenSetting\r\n 畫筆:'畫筆',\r\n 通用畫筆:'通用畫筆',\r\n 高光筆:'螢光筆',\r\n 鐳射筆:'雷射筆',\r\n 大小:'大小',\r\n //ShapeSetting\r\n 圖形:'圖形',\r\n 邊框:'邊框',\r\n 填充:'填充',\r\n 箭頭:'箭頭',\r\n 直線:'直線',\r\n 圓形:'圓形',\r\n 橢圓:'橢圓',\r\n 矩形:'矩形',\r\n 三角形:'三角形',\r\n 星形:'星形',\r\n 所選圖片過大:'所選圖片過大(應小於3MB),請重新選擇!',\r\n 打開點擊的物件連結:'打開點選的物件連結?',\r\n 多連結詢問:'偵測到點選的物件含有多個有效連結,請選擇一個動作',\r\n 目前沒有動作可復原: '目前沒有動作可復原',\r\n 復原我最近一次刪除動作:'復原我最近一次刪除動作!',\r\n ModifyHint: '內容有作過修改, 離開將不會儲存, 請問仍然要離開嗎?',\r\n 物件化畫板:'物件化畫板',\r\n 重新整理圖層:'重新整理圖層!',\r\n 刪除鎖定物件提示字:'刪除了教師鎖定的物件,可點按還原或重開教材!',\r\n 協作無法刪除鎖定提示字:'協作無法刪除教師鎖定的物件!',\r\n 複製:'複製一份',\r\n 刪除:'刪除',\r\n 移到最上層:'移到最上層',\r\n 移到最下層:'移到最下層' \r\n }","import mindmap from \"./mindmap\";\r\nimport konvaCanvas from \"./konvaCanvas\";\r\nexport default {\r\n konvaCanvas,\r\n mindmap,\r\n \"header\": {\r\n \"digitalLearningOffice\": \"{region}政府教育局\",\r\n \"authorizationPlatform\": \"HiTeach 授權與活動平台\",\r\n \"cityInformation\": \"{region}資訊\",\r\n \"softwareIntroduction\": \"HiTeach軟體介紹\",\r\n \"learningResources\": \"學習資源\",\r\n \"latestNews\": \"最新消息\",\r\n \"contactUs\": \"聯絡我們\",\r\n \"login\": \"登入\"\r\n },\r\n \"eventPage\": {\r\n applyCheck:'我要申請/查詢',\r\n authorization:'授權',\r\n entry1:'縣市統一採購HiTeach授權進入口',\r\n getAuthorization:'由此進入後申請授權',\r\n check:'我要報名/查詢',\r\n event:'活動',\r\n competition:'縣市XHiTeach競賽活動',\r\n registration:'由此進入後申請報名',\r\n eventPreparation: \"活動籌備中\",\r\n notification: \"通知\"\r\n },\r\n \"AccountInfo\": {\r\n \"availableProducts\": \"可申請商品\",\r\n \"noAvailableItems\": \"目前沒有可申請的項目\",\r\n \"apply\": \"申請\",\r\n \"authorizationNote\": \"※如果HiTeach日期重複,重疊時間會往後累加!\",\r\n \"myAuthorizations\": \"我的授權\",\r\n \"customerSupport\": \"客服協助\",\r\n \"productName\": \"產品名稱\",\r\n \"usageTime\": \"使用時間\",\r\n \"state\": \"狀態\",\r\n additionalItem: '附加項',\r\n \"confirmApplication\": \"確定要申請嗎?\",\r\n \"inquiry\": \"詢問\",\r\n \"yes\": \"對\",\r\n teamModelAccount: '醍摩豆用戶編號',\r\n schoolNotInList: '學校不在此次的統購清單中',\r\n schoolAuthorizationFull: '學校授權已滿',\r\n clickToLearnHiTeach: '還不會使用HiTeach嗎?,請點這學習!',\r\n notApplied: '未申請',\r\n appliedNotAuthorized: '申請已受理'\r\n },\r\n \"AccountLogin\":{\r\n sendVerificationCode: '傳送認證碼',\r\n resend: '重新發送',\r\n haveTeamModelAccount: '我有,醍摩豆帳號',\r\n noTeamModelAccount: \"我沒有,醍摩豆帳號\",\r\n chooseMethodToProceed: '請選擇任一種方式繼續下一步',\r\n bindExistingTeamModelAccount: '進入綁定原有醍摩豆帳號頁面',\r\n registerAndBindNewAccount: '新註冊醍摩豆帳號,並綁定教育雲帳號',\r\n completeWithin30Minutes: '此階段請於{time}分鐘內完成,如逾期將須重新登入',\r\n back: '返回',\r\n chooseBindingMethod: '請選擇,任一種,方式綁定原有醍摩豆帳號',\r\n qrCodeBinding: 'QR-Code',\r\n qrCodeExpired: '您的QR Code已失效,請點選下方更新按鈕',\r\n update: '更新',\r\n useHiTA5AppToScan: '請使用HiTA5 APP掃碼',\r\n emailPhoneUserID: '醍摩豆帳號',\r\n password: '密碼',\r\n bindNow: '立刻綁定',\r\n sms: '手機簡訊',\r\n phoneNumber: '手機號碼',\r\n verificationCode: '驗證碼',\r\n confirmVerificationCode: '確認驗證碼',\r\n sendingSMS: '傳送簡訊中...',\r\n registerNewAccountPrompt: '請問是否要註冊全新醍摩豆帳號?',\r\n confirm: '確定',\r\n cancel: '取消',\r\n bindingSuccessful: '綁定成功',\r\n qrCodeLogin: 'QRCode登入',\r\n incorrectAccountOrPassword: '帳號或密碼錯誤',\r\n enterAccountAndPassword: '請輸入帳號及密碼',\r\n incorrectPhoneNumberFormat: '手機號碼格式錯誤',\r\n enterPhoneNumber: '請輸入手機號碼',\r\n incorrectAccountOrVerificationCode: '帳號或驗證碼錯誤',\r\n incorrectVerificationCodeFormat: '驗證碼格式錯誤',\r\n enterVerificationCode: '請輸入驗證碼',\r\n verificationCodeSendFailed: '驗證碼發送失敗',\r\n verificationCodeSent: '驗證碼已發送',\r\n afterBindingLoginWithEduCloud: '綁定後,下次即可直接使用教育雲帳號做登入囉!',\r\n }\r\n};\r\n","export default {\r\n 新增: \"New node\",\r\n 編輯: \"Edit Node\",\r\n 輸入文字: \"Type something...\",\r\n 確定: \"OK\",\r\n 取消: \"Cancel\",\r\n 請先選取節點: \"Please select the node first!\",\r\n 不可刪除有子項目的節點: \"Nodes with sub-projects cannot be deleted!\",\r\n 新增失敗: \"The new failed, the parent node has been deleted!\",\r\n 編輯失敗: \"Editor failed, the selected node has been deleted!\",\r\n 加入根節點: \"Add root node\",\r\n 左邊: \"left\",\r\n 右邊: \"right\",\r\n 已是最上面: \"Already on top!\",\r\n 已是最下面: \"Already at the bottom!\",\r\n 圖片: \"Image\",\r\n 圖片過大提示字1: \"The selected image is too large (please keep it under\",\r\n 圖片過大提示字2: \"MB). Please choose another one!\",\r\n 連結: \"Link\",\r\n 連結網址: \"Link URL\",\r\n 連結名稱: \"Link name\",\r\n 輸入URL: \"Enter URL...\",\r\n 輸入連結名稱: \"Enter link name...\",\r\n 註解: \"Annotation\",\r\n 進階設定: \"Advanced Settings\",\r\n 線條顏色: \"Line Color\",\r\n 節點顏色: \"Node Color\",\r\n preEditHint:'Note: The previous editor of the current node is',\r\n confirmUpdate:', are you sure you want to modify it?',\r\n menu: {\r\n 新增: \"Add\",\r\n 刪除: \"Delete\",\r\n 上移: \"Move up\",\r\n 下移: \"Move down\",\r\n 編輯: \"Edit\",\r\n 複製: \"Copy\",\r\n 檢視圖片: \"View image\",\r\n 最後更新: \"Last update\",\r\n },\r\n imgEditor: {\r\n 詢問離開動作: \"Choose an action\",\r\n 保存圖片: \"Save Image\",\r\n 捨棄變更: \"Discard Changes\",\r\n 取消: \"Cancel\",\r\n },\r\n};\r\n","export default {\r\n 比例: \"Scale\",\r\n //AddImageBox\r\n 檔案圖片: \"Local Image\",\r\n 選取圖片作為物件: \"Select image as an object\",\r\n 背景設置: \"Background\",\r\n 選取圖片作為背景: \"Select image as background\",\r\n //AddTextBox & TextSetting\r\n 文字工具: \"Text Note Tool\",\r\n 編輯文字便利貼: \"Edit\",\r\n openURL_NewTab: \"View link in new tab\",\r\n 刪除文字便利貼: \"Delete\",\r\n 輸入文字: \"Type text here\",\r\n 字體大小: \"Font Size\",\r\n 字體顏色: \"Font Color\",\r\n 顏色: \"Color\",\r\n 便利貼顏色: \"Sticky Note Color\",\r\n 確定: \"OK\",\r\n 取消: \"Cancel\",\r\n //PenSetting\r\n 畫筆: \"Brush\",\r\n 通用畫筆: \"Brush\",\r\n 高光筆: \"Highlighter\",\r\n 鐳射筆: \"Laser Pen\",\r\n 大小: \"Size\",\r\n //ShapeSetting\r\n 圖形: \"Shape\",\r\n 邊框: \"Border\",\r\n 填充: \"Fill\",\r\n 箭頭: \"Arrow\",\r\n 直線: \"Line\",\r\n 圓形: \"Circle\",\r\n 橢圓: \"Oval\",\r\n 矩形: \"Rectangle\",\r\n 三角形: \"Triangle\",\r\n 星形: \"Star\",\r\n 所選圖片過大: \"The selected image is too large (should be less than 3MB), please select again!\",\r\n 打開點擊的物件連結: \"Open clicked object link?\",\r\n 多連結詢問: \"The clicked object has multiple valid links, please select an action\",\r\n 目前沒有動作可復原: \"No more undo\",\r\n 復原我最近一次刪除動作: \"Revert my last deletion!\",\r\n ModifyHint: \"The content has been modified and will not be saved when you leave. Do you still want to leave?\",\r\n 物件化畫板: \"Object Drawing Mode\",\r\n 重新整理圖層: \"Refresh Layers!\",\r\n 刪除鎖定物件提示字: \"You deleted the objects locked by the teacher. You can click Undo or reopen this material!\",\r\n 協作無法刪除鎖定提示字: \"For collaboration, you cannot delete objects locked by teachers!\",\r\n 複製: \"Duplicate\",\r\n 刪除: \"Delete\",\r\n 移到最上層: \"Move to the top\",\r\n 移到最下層: \"Move to the bottom\",\r\n};\r\n","import mindmap from \"./mindmap\";\r\nimport konvaCanvas from \"./konvaCanvas\";\r\nexport default {\r\n konvaCanvas,\r\n mindmap,\r\n \"header\": {\r\n \"digitalLearningOffice\": \"{region} Government Education Bureau\",\r\n \"authorizationPlatform\": \"HiTeach Authorization and Activity Platform\",\r\n \"cityInformation\": \"{region} City Information\",\r\n \"softwareIntroduction\": \"HiTeach Software Introduction\",\r\n \"learningResources\": \"Learning Resources\",\r\n \"latestNews\": \"Latest News\",\r\n \"contactUs\": \"Contact Us\",\r\n \"login\": \"Login\"\r\n },\r\n \"eventPage\": {\r\n applyCheck:'Apply/Check',\r\n authorization:'Authorization',\r\n entry1:'Unified County/City HiTeach Procurement Authorization Entry',\r\n getAuthorization:'Enter Here to Apply for Authorization',\r\n check:'Register/Check',\r\n event:'Event',\r\n competition:'County/City X HiTeach Competition Event',\r\n registration:'Enter Here to Apply for Registration',\r\n eventPreparation: \"Event Preparation in Progress\",\r\n notification: \"Notification\"\r\n },\r\n \"AccountInfo\": {\r\n \"availableProducts\": \"Available Products for Application\",\r\n \"noAvailableItems\": \"No Items Available for Application\",\r\n \"apply\": \"Apply\",\r\n \"authorizationNote\": \"※If HiTeach dates overlap, the overlapping time will be added to the end!\",\r\n \"myAuthorizations\": \"My Authorizations\",\r\n \"customerSupport\": \"Customer Support\",\r\n \"productName\": \"Product Name\",\r\n \"usageTime\": \"Usage Time\",\r\n \"state\": \"State\",\r\n additionalItem: 'Additional Item',\r\n \"confirmApplication\": \"Are you sure you want to apply?\",\r\n \"inquiry\": \"Inquiry\",\r\n \"yes\": \"Yes\",\r\n teamModelAccount: 'TeamModel Account ID',\r\n schoolNotInList: 'School is not on the unified procurement list',\r\n schoolAuthorizationFull: 'School authorization is full',\r\n clickToLearnHiTeach: 'Not familiar with HiTeach yet?, Click here to learn!',\r\n notApplied: 'Not Applied',\r\n appliedNotAuthorized: 'Application has been accepted'\r\n },\r\n \"AccountLogin\":{\r\n sendVerificationCode: 'Send Verification Code',\r\n resend: 'Resend',\r\n haveTeamModelAccount: 'I have a, TeamModel account',\r\n noTeamModelAccount: \"I don't have a, TeamModel account\",\r\n chooseMethodToProceed: 'Please choose any method to proceed to the next step',\r\n bindExistingTeamModelAccount: 'Go to the page to bind an existing TeamModel account',\r\n registerAndBindNewAccount: 'Register a new TeamModel account and bind with Education Cloud account',\r\n completeWithin30Minutes: 'Please complete this stage within {time} minutes. If expired, you will need to log in again',\r\n back: 'Back',\r\n chooseBindingMethod: 'Please choose , Any method ,to bind your existing TeamModel account',\r\n qrCodeBinding: 'QR-Code',\r\n qrCodeExpired: 'Your QR Code has expired, please click the update button below',\r\n update: 'Update',\r\n useHiTA5AppToScan: 'Please use HiTA5 APP to scan the code',\r\n emailPhoneUserID: 'TeamModel Account',\r\n password: 'Password',\r\n bindNow: 'Bind Now',\r\n sms: 'SMS',\r\n phoneNumber: 'Phone Number',\r\n verificationCode: 'Verification Code',\r\n confirmVerificationCode: 'Confirm Verification Code',\r\n sendingSMS: 'Sending SMS...',\r\n registerNewAccountPrompt: 'Would you like to register a new TeamModel account?',\r\n confirm: 'Confirm',\r\n cancel: 'Cancel',\r\n bindingSuccessful: 'Binding Successful',\r\n qrCodeLogin: 'QRCode Login',\r\n incorrectAccountOrPassword: 'Incorrect account or password',\r\n enterAccountAndPassword: 'Please enter account and password',\r\n incorrectPhoneNumberFormat: 'Incorrect phone number format',\r\n enterPhoneNumber: 'Please enter phone number',\r\n incorrectAccountOrVerificationCode: 'Incorrect account or verification code',\r\n incorrectVerificationCodeFormat: 'Incorrect verification code format',\r\n enterVerificationCode: 'Please enter verification code',\r\n verificationCodeSendFailed: 'Failed to send verification code',\r\n verificationCodeSent: 'Verification code sent',\r\n afterBindingLoginWithEduCloud: 'After binding, you can log in directly with your Education Cloud account next time!',\r\n }\r\n};\r\n","import { createI18n } from \"vue-i18n\";\r\n\r\nimport customZhCn from \"./lang/zh-CN\";\r\nimport customZhTw from \"./lang/zh-TW\";\r\nimport customEnUs from \"./lang/en-US\";\r\n\r\nconst navLang = localStorage.getItem(\"local\") ? localStorage.getItem(\"local\") : navigator.language;\r\nconst localLang = navLang === \"zh-TW\" || navLang === \"zh-CN\" || navLang === \"en-US\" ? navLang : false;\r\nlet lang = localLang || \"en-US\";\r\n\r\nconst i18n = createI18n({\r\n allowComposition:true,\r\n //legacy:false,\r\n locale: lang,\r\n messages: {\r\n \"zh-CN\": customZhCn,\r\n \"zh-TW\": customZhTw,\r\n \"en-US\": customEnUs,\r\n },\r\n});\r\n\r\nexport default i18n;\r\n","/* eslint-disable */\r\nimport { createApp } from \"vue\";\r\nimport { createPinia } from \"pinia\";\r\n\r\nimport App from \"./App.vue\";\r\nimport router from \"./router\";\r\nimport i18n from \"./locale\";\r\nimport VueLazyload from 'vue-lazyload'\r\nimport ElementPlus from 'element-plus'\r\nimport 'element-plus/dist/index.css'\r\nimport * as ElementPlusIconsVue from '@element-plus/icons-vue'\r\nimport {createHead} from '@vueuse/head'\r\n\r\nimport { Tabs, TabPane, Slider, Poptip, RadioGroup, Radio, Rate, Message } from 'view-ui-plus'\r\nimport 'view-ui-plus/dist/styles/viewuiplus.css';\r\nimport \"./assets/icons/index.js\";\r\n\r\n\r\nimport iconSet from 'quasar/icon-set/material-icons'\r\nimport './assets/material-icons/material-icons.css' \r\n\r\nimport { Quasar,Loading,ClosePopup } from 'quasar'\r\n\r\n\r\nconst pinia = createPinia();\r\nconst head = createHead();\r\n\r\nconst app = createApp(App);\r\n\r\n//iview按需引入\r\napp.component('TabPane', TabPane)\r\napp.component('Tabs', Tabs)\r\napp.component('Slider', Slider)\r\napp.component('Poptip', Poptip)\r\napp.component('RadioGroup', RadioGroup)\r\napp.component('Radio', Radio)\r\napp.component('Rate', Rate)\r\n\r\n\r\napp.use(Quasar, {\r\n // ...,\r\n iconSet: iconSet,\r\n plugins: {\r\n Loading\r\n },\r\n config: {\r\n // loading: /* look at QuasarConfOptions from the API card */\r\n },\r\n directives: {\r\n ClosePopup,\r\n }\r\n})\r\n\r\n\r\n//全局註冊所有ui組件\r\napp.use(ElementPlus);\r\nfor (const [key, component] of Object.entries(ElementPlusIconsVue)) {\r\n app.component(key, component);\r\n}\r\n\r\n// 路由規則:目前只有Setting頁需要登入才能看\r\nrouter.beforeEach((to, from, next) => {\r\n // 如果是桃園網域的首頁 要導致桃園專屬頁面 \r\n if (document.location.hostname === 'taoyuan.teammodel.net' && \r\n document.location.pathname === '/' && to.name !== 'Home') { \r\n next({ name: 'HomePage_Taoyuan' });\r\n } else if (to.meta && to.meta.requiresAuth) {\r\n sessionStorage.getItem(\"id_token\") ? next() : next({ name: \"HomePage_Taoyuan\" });\r\n } \r\n // else if( \r\n // //Cname === 'event.teammodel.net' && \r\n // to.query.sid !== undefined){\r\n // next({ name: 'Activity_Info' });\r\n // } \r\n else {\r\n next();\r\n }\r\n});\r\n\r\napp.use(head)\r\napp.use(pinia);\r\napp.use(router);\r\napp.use(i18n);\r\napp.use(ElementPlus)\r\napp.provide(\"$t\", i18n.global.t); //讓$t再vue3 setup可用\r\n\r\n\r\napp.use(Message, {\r\n i18n: (key, value) => i18n.t(key, value),\r\n top: 70,\r\n duration: 2\r\n})\r\napp.provide(\"$Message\", Message); //讓$t再vue3 setup可用\r\n\r\napp.use(VueLazyload, {\r\n preLoad: 1.3,\r\n loading: '/loading2.gif',\r\n})\r\n\r\n//卡片背景圖懶加載\r\napp.directive(\"lazy-background\", {\r\n mounted(el, binding) {\r\n const options = {\r\n rootMargin: \"0px\",\r\n threshold: 0.3, // 調整這個數值以控制加載時間\r\n };\r\n // 將 rootMargin 設置為 '0px',這意味著元素的邊界即將進入視窗時就會觸發 Intersection Observer,並開始加載圖片。\r\n // 調整 threshold 的值(範圍從 0 到 1),來控制何時開始加載圖片。如果將 threshold 設置為 0.3,則當元素的 30% 進入視窗時就會開始加載圖片。\r\n\r\n const imageObserver = new IntersectionObserver((entries) => {\r\n entries.forEach((entry) => {\r\n if (entry.isIntersecting) {\r\n el.style.backgroundImage = binding.value;\r\n imageObserver.unobserve(entry.target);\r\n }\r\n });\r\n }, options);\r\n\r\n imageObserver.observe(el);\r\n },\r\n});\r\n\r\napp.mount(\"#app\");\r\n","var map = {\n\t\"./animals_bear.png\": 30812,\n\t\"./animals_cat1.png\": 94747,\n\t\"./animals_cat2.png\": 16416,\n\t\"./animals_cat3.png\": 94537,\n\t\"./animals_chicken.png\": 73357,\n\t\"./animals_cow.png\": 9477,\n\t\"./animals_deer.png\": 87370,\n\t\"./animals_duck.png\": 16413,\n\t\"./animals_elephant.png\": 17109,\n\t\"./animals_fox.png\": 55991,\n\t\"./animals_frog.png\": 21496,\n\t\"./animals_giraffe.png\": 972,\n\t\"./animals_goat.png\": 43203,\n\t\"./animals_lion.png\": 36624,\n\t\"./animals_monkey.png\": 54993,\n\t\"./animals_mouse.png\": 78829,\n\t\"./animals_owl.png\": 6562,\n\t\"./animals_panda.png\": 97316,\n\t\"./animals_penguin.png\": 512,\n\t\"./animals_pig.png\": 31088,\n\t\"./animals_poodle.png\": 16357,\n\t\"./animals_rabbit.png\": 32810,\n\t\"./animals_redpanda.png\": 7569,\n\t\"./animals_sheep.png\": 16473,\n\t\"./animals_shibainu.png\": 12931,\n\t\"./animals_tiger.png\": 77801,\n\t\"./animals_wolf.png\": 50398,\n\t\"./awards/awards_chip1.png\": 63691,\n\t\"./awards/awards_chip2.png\": 49872,\n\t\"./awards/awards_chip3.png\": 56121,\n\t\"./awards/awards_chip4.png\": 53702,\n\t\"./awards/awards_decoration1.png\": 53815,\n\t\"./awards/awards_decoration2.png\": 95708,\n\t\"./awards/awards_decoration3.png\": 78597,\n\t\"./awards/awards_firstplace.png\": 40185,\n\t\"./awards/awards_medal.png\": 58977,\n\t\"./awards/awards_money1.png\": 34651,\n\t\"./awards/awards_money2.png\": 72672,\n\t\"./awards/awards_moneybag.png\": 80860,\n\t\"./awards/awards_secondplace.png\": 27917,\n\t\"./awards/awards_thirdplace.png\": 50254,\n\t\"./awards/awards_trophies.png\": 54528,\n\t\"./awards/awards_trophy1.png\": 23639,\n\t\"./awards/awards_trophy2.png\": 99708,\n\t\"./awards/awards_trophy3.png\": 51973,\n\t\"./chess/chess_checkersblue.png\": 63796,\n\t\"./chess/chess_checkersgreen.png\": 77527,\n\t\"./chess/chess_checkerspurple.png\": 60446,\n\t\"./chess/chess_checkersred.png\": 38695,\n\t\"./chess/chess_checkersyellow.png\": 90672,\n\t\"./chess/chess_chessblack1.png\": 97476,\n\t\"./chess/chess_chessblack2.png\": 99103,\n\t\"./chess/chess_chessblack3.png\": 45302,\n\t\"./chess/chess_chessblack4.png\": 95273,\n\t\"./chess/chess_chessblack5.png\": 71072,\n\t\"./chess/chess_chessblack6.png\": 52283,\n\t\"./chess/chess_chesswhite1.png\": 69714,\n\t\"./chess/chess_chesswhite2.png\": 34857,\n\t\"./chess/chess_chesswhite3.png\": 80032,\n\t\"./chess/chess_chesswhite4.png\": 38687,\n\t\"./chess/chess_chesswhite5.png\": 60598,\n\t\"./chess/chess_chesswhite6.png\": 51277,\n\t\"./chess/chess_chinesechessblack1.png\": 86841,\n\t\"./chess/chess_chinesechessblack2.png\": 22306,\n\t\"./chess/chess_chinesechessblack3.png\": 59787,\n\t\"./chess/chess_chinesechessblack4.png\": 97524,\n\t\"./chess/chess_chinesechessblack5.png\": 35005,\n\t\"./chess/chess_chinesechessblack6.png\": 93766,\n\t\"./chess/chess_chinesechessblack7.png\": 32783,\n\t\"./chess/chess_chinesechessred1.png\": 75325,\n\t\"./chess/chess_chinesechessred2.png\": 94118,\n\t\"./chess/chess_chinesechessred3.png\": 75663,\n\t\"./chess/chess_chinesechessred4.png\": 90288,\n\t\"./chess/chess_chinesechessred5.png\": 96537,\n\t\"./chess/chess_chinesechessred6.png\": 13602,\n\t\"./chess/chess_chinesechessred7.png\": 4107,\n\t\"./chess/chess_goblack.png\": 15989,\n\t\"./chess/chess_gowhite.png\": 25503,\n\t\"./chess/chess_japanchess01.png\": 2845,\n\t\"./chess/chess_japanchess02.png\": 35430,\n\t\"./chess/chess_japanchess03.png\": 4175,\n\t\"./chess/chess_japanchess04.png\": 8304,\n\t\"./chess/chess_japanchess05.png\": 24057,\n\t\"./chess/chess_japanchess06.png\": 10050,\n\t\"./chess/chess_japanchess07.png\": 73707,\n\t\"./chess/chess_japanchess08.png\": 93404,\n\t\"./chess/chess_japanchess09.png\": 10917,\n\t\"./chess/chess_japanchess10.png\": 30911,\n\t\"./chess/chess_japanchess11.png\": 77110,\n\t\"./chess/chess_japanchess12.png\": 92525,\n\t\"./chess/chess_japanchess13.png\": 29284,\n\t\"./chess/chess_japanchess14.png\": 84091,\n\t\"./chess/chess_japanchess15.png\": 62546,\n\t\"./drink/drink_bubbletea.png\": 23802,\n\t\"./drink/drink_coffee.png\": 25500,\n\t\"./drink/drink_cola.png\": 39951,\n\t\"./drink/drink_fanta.png\": 94548,\n\t\"./drink/drink_latte.png\": 2524,\n\t\"./drink/drink_pepsi.png\": 40797,\n\t\"./drink/drink_sprite.png\": 84235,\n\t\"./drink/drink_tea.png\": 12180,\n\t\"./face/mood_angry.png\": 37491,\n\t\"./face/mood_cold.png\": 60056,\n\t\"./face/mood_cry.png\": 92160,\n\t\"./face/mood_devil.png\": 95058,\n\t\"./face/mood_die.png\": 37454,\n\t\"./face/mood_doubt.png\": 27138,\n\t\"./face/mood_happy.png\": 1798,\n\t\"./face/mood_hot.png\": 28985,\n\t\"./face/mood_hurt.png\": 51513,\n\t\"./face/mood_lauth.png\": 94434,\n\t\"./face/mood_love.png\": 44138,\n\t\"./face/mood_rolleyes.png\": 16173,\n\t\"./face/mood_sad.png\": 91336,\n\t\"./face/mood_shock.png\": 67270,\n\t\"./face/mood_sick.png\": 62268,\n\t\"./face/mood_sleep.png\": 51173,\n\t\"./face/mood_smile.png\": 80136,\n\t\"./festival/festival_chinesenewyear1.png\": 295,\n\t\"./festival/festival_chinesenewyear2.png\": 80236,\n\t\"./festival/festival_christmas.png\": 60984,\n\t\"./festival/festival_dragonboatfestival.png\": 27013,\n\t\"./festival/festival_easter.png\": 10092,\n\t\"./festival/festival_gift.png\": 5344,\n\t\"./festival/festival_halloween.png\": 75165,\n\t\"./festival/festival_luckycat.png\": 36962,\n\t\"./fish/fish_bigclam.png\": 33617,\n\t\"./fish/fish_clownfish.png\": 31737,\n\t\"./fish/fish_crab.png\": 57452,\n\t\"./fish/fish_eel.png\": 8330,\n\t\"./fish/fish_goldfish.png\": 18478,\n\t\"./fish/fish_octopus.png\": 99931,\n\t\"./fish/fish_pufferfish.png\": 28748,\n\t\"./fish/fish_shrimp.png\": 49915,\n\t\"./fish/fish_snapper.png\": 14765,\n\t\"./fish/fish_squid.png\": 27542,\n\t\"./fish/fish_starfish.png\": 24716,\n\t\"./fish/fish_tropicalfish.png\": 89064,\n\t\"./fish/fish_yellowfish.png\": 75060,\n\t\"./food/food_cake.png\": 45058,\n\t\"./food/food_dounut.png\": 18283,\n\t\"./food/food_hamburger.png\": 19569,\n\t\"./food/food_icecream.png\": 30831,\n\t\"./food/food_pieceofcake.png\": 40161,\n\t\"./food/food_pizza.png\": 94850,\n\t\"./food/food_popcorn.png\": 2911,\n\t\"./food/food_roastchicken.png\": 45698,\n\t\"./food/food_steak.png\": 74810,\n\t\"./fruit/fruit_apple.png\": 14214,\n\t\"./fruit/fruit_banana.png\": 76523,\n\t\"./fruit/fruit_cantaloupe.png\": 51312,\n\t\"./fruit/fruit_cherry.png\": 12619,\n\t\"./fruit/fruit_grape.png\": 36067,\n\t\"./fruit/fruit_grapefruit.png\": 94525,\n\t\"./fruit/fruit_kiwi.png\": 95608,\n\t\"./fruit/fruit_lemon.png\": 16523,\n\t\"./fruit/fruit_lyme.png\": 93775,\n\t\"./fruit/fruit_mulberry.png\": 44698,\n\t\"./fruit/fruit_orange.png\": 48522,\n\t\"./fruit/fruit_pinapple.png\": 65023,\n\t\"./fruit/fruit_snakeberry.png\": 81764,\n\t\"./fruit/fruit_strawberry.png\": 45215,\n\t\"./fruit/fruit_watermelon.png\": 47382,\n\t\"./gesture_five.png\": 30976,\n\t\"./gesture_good.png\": 4759,\n\t\"./gesture_ok.png\": 58373,\n\t\"./gesture_one.png\": 34002,\n\t\"./gesture_yeah.png\": 79681,\n\t\"./gesture_zero.png\": 37686,\n\t\"./manda/manda_001.png\": 60783,\n\t\"./manda/manda_002.png\": 55668,\n\t\"./manda/manda_003.png\": 76797,\n\t\"./manda/manda_004.png\": 15074,\n\t\"./manda/manda_005.png\": 5579,\n\t\"./manda/manda_006.png\": 91760,\n\t\"./manda/manda_007.png\": 98009,\n\t\"./manda/manda_008.png\": 8622,\n\t\"./manda/manda_009.png\": 8119,\n\t\"./manda/manda_010.png\": 4353,\n\t\"./manda/manda_011.png\": 31640,\n\t\"./manda/manda_012.png\": 6131,\n\t\"./manda/manda_013.png\": 55370,\n\t\"./manda/manda_014.png\": 40037,\n\t\"./manda/manda_015.png\": 22524,\n\t\"./manda/manda_016.png\": 11255,\n\t\"./manda/manda_017.png\": 21262,\n\t\"./manda/manda_018.png\": 53177,\n\t\"./manda/manda_019.png\": 37424,\n\t\"./manda/manda_020.png\": 9196,\n\t\"./manda/manda_021.png\": 20821,\n\t\"./manda/manda_022.png\": 446,\n\t\"./manda/manda_023.png\": 76231,\n\t\"./manda/manda_024.png\": 96616,\n\t\"./manda/manda_025.png\": 51038,\n\t\"./manda/manda_026.png\": 68762,\n\t\"./manda/manda_027.png\": 58595,\n\t\"./manda/manda_028.png\": 58404,\n\t\"./manda/manda_029.png\": 21645,\n\t\"./manda/manda_030.png\": 22167,\n\t\"./manda/manda_031.png\": 92942,\n\t\"./manda/manda_032.png\": 63301,\n\t\"./manda/manda_033.png\": 80412,\n\t\"./manda/manda_034.png\": 35283,\n\t\"./manda/manda_035.png\": 80074,\n\t\"./manda/manda_036.png\": 10657,\n\t\"./manda/manda_037.png\": 89528,\n\t\"./manda/manda_038.png\": 14479,\n\t\"./manda/manda_039.png\": 75462,\n\t\"./manda/manda_040.png\": 70410,\n\t\"./manda/manda_041.png\": 25619,\n\t\"./music/music_001.png\": 70703,\n\t\"./music/music_002.png\": 96212,\n\t\"./music/music_003.png\": 29245,\n\t\"./music/music_004.png\": 24994,\n\t\"./music/music_005.png\": 46123,\n\t\"./music/music_006.png\": 74832,\n\t\"./music/music_007.png\": 81081,\n\t\"./music/music_008.png\": 49166,\n\t\"./music/music_009.png\": 94743,\n\t\"./music/music_010.png\": 33505,\n\t\"./music/music_011.png\": 48888,\n\t\"./music/music_012.png\": 39731,\n\t\"./music/music_013.png\": 84522,\n\t\"./music/music_014.png\": 69189,\n\t\"./music/music_015.png\": 39772,\n\t\"./music/music_016.png\": 40407,\n\t\"./music/music_017.png\": 97390,\n\t\"./music/music_018.png\": 70425,\n\t\"./music/music_019.png\": 89872,\n\t\"./music/music_020.png\": 68972,\n\t\"./music/music_021.png\": 54421,\n\t\"./music/music_022.png\": 87070,\n\t\"./music/music_023.png\": 5383,\n\t\"./music/music_024.png\": 13864,\n\t\"./music/music_025.png\": 28081,\n\t\"./music/music_026.png\": 97914,\n\t\"./music/music_027.png\": 99139,\n\t\"./other_bell.png\": 44002,\n\t\"./other_book.png\": 23002,\n\t\"./other_books.png\": 21179,\n\t\"./other_clock.png\": 7131,\n\t\"./other_doll.png\": 69434,\n\t\"./other_earth.png\": 52765,\n\t\"./other_goal.png\": 14584,\n\t\"./other_hourglass.png\": 67131,\n\t\"./other_light.png\": 67325,\n\t\"./other_teddy.png\": 94451,\n\t\"./people/img_student1.png\": 59900,\n\t\"./people/img_student2.png\": 48631,\n\t\"./people/img_student3.png\": 74990,\n\t\"./people/img_student4.png\": 58081,\n\t\"./people/img_student5.png\": 69016,\n\t\"./people/img_student6.png\": 59859,\n\t\"./people/img_teacher1.png\": 70153,\n\t\"./people/img_teacher2.png\": 21362,\n\t\"./people/img_teacher3.png\": 70363,\n\t\"./people/img_teacher4.png\": 60420,\n\t\"./people/img_teacher5.png\": 2925,\n\t\"./sports/sport_americanfootball.png\": 83254,\n\t\"./sports/sport_archery.png\": 1637,\n\t\"./sports/sport_badminton.png\": 57305,\n\t\"./sports/sport_baseball.png\": 74631,\n\t\"./sports/sport_basketball.png\": 91034,\n\t\"./sports/sport_soccer.png\": 17734,\n\t\"./sports/sport_tabletennis.png\": 57514,\n\t\"./sports/sport_tennis.png\": 56086,\n\t\"./sports/sport_volleyball.png\": 98271,\n\t\"./symbol/symbol_arrow1black.png\": 56505,\n\t\"./symbol/symbol_arrow1blue.png\": 11074,\n\t\"./symbol/symbol_arrow1green.png\": 66833,\n\t\"./symbol/symbol_arrow1red.png\": 81729,\n\t\"./symbol/symbol_arrow1yellow.png\": 92658,\n\t\"./symbol/symbol_arrow2black.png\": 19988,\n\t\"./symbol/symbol_arrow2blue.png\": 50093,\n\t\"./symbol/symbol_arrow2green.png\": 18516,\n\t\"./symbol/symbol_arrow2red.png\": 75024,\n\t\"./symbol/symbol_arrow2yellow.png\": 96749,\n\t\"./symbol/symbol_correct.png\": 78642,\n\t\"./symbol/symbol_deleteblack.png\": 33174,\n\t\"./symbol/symbol_deleteblue.png\": 16811,\n\t\"./symbol/symbol_deletegreen.png\": 99094,\n\t\"./symbol/symbol_deletered.png\": 12986,\n\t\"./symbol/symbol_deleteyellow.png\": 95399,\n\t\"./symbol/symbol_good.png\": 18505,\n\t\"./symbol/symbol_hashblack.png\": 75889,\n\t\"./symbol/symbol_hashblue.png\": 17242,\n\t\"./symbol/symbol_hashgreen.png\": 14841,\n\t\"./symbol/symbol_hashred.png\": 63097,\n\t\"./symbol/symbol_hashyellow.png\": 6970,\n\t\"./symbol/symbol_heart.png\": 53020,\n\t\"./symbol/symbol_marine.png\": 86360,\n\t\"./symbol/symbol_questionblack.png\": 76389,\n\t\"./symbol/symbol_questionblue.png\": 30038,\n\t\"./symbol/symbol_questiongreen.png\": 29989,\n\t\"./symbol/symbol_questionred.png\": 91765,\n\t\"./symbol/symbol_questionyellow.png\": 1622,\n\t\"./symbol/symbol_starblack.png\": 62349,\n\t\"./symbol/symbol_starblue.png\": 44286,\n\t\"./symbol/symbol_stargreen.png\": 98845,\n\t\"./symbol/symbol_starred.png\": 93853,\n\t\"./symbol/symbol_staryellow.png\": 85358,\n\t\"./traffic_ballon.png\": 60558,\n\t\"./traffic_car.png\": 43370,\n\t\"./traffic_scooter.png\": 90125,\n\t\"./traffic_truck.png\": 26129,\n\t\"./veg_bellpepper.png\": 87294,\n\t\"./veg_carrot.png\": 18336,\n\t\"./veg_mushroom.png\": 70167,\n\t\"./weather/weather_.png\": 34932,\n\t\"./weather/weather_cloud.png\": 12881,\n\t\"./weather/weather_moon.png\": 54211,\n\t\"./weather/weather_rainbow.png\": 36424,\n\t\"./weather/weather_snow.png\": 55093,\n\t\"./weather/weather_star.png\": 53416,\n\t\"./weather/weather_sun.png\": 86280,\n\t\"./weather/weather_thunder.png\": 2848,\n\t\"./weather/weather_tornado.png\": 45141,\n\t\"./weather/weather_umberlla.png\": 54246,\n\t\"./weather/weather_windy.png\": 78549\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 13822;","var map = {\n\t\"./add.svg\": 75134,\n\t\"./add_arrow2.svg\": 88926,\n\t\"./add_img.svg\": 62594,\n\t\"./add_imgbgc2.svg\": 21772,\n\t\"./arrow-down.svg\": 52325,\n\t\"./arrow-next.svg\": 72590,\n\t\"./arrow-pre.svg\": 3732,\n\t\"./arrowdown.svg\": 51392,\n\t\"./bell.svg\": 3050,\n\t\"./check.svg\": 72179,\n\t\"./circle-fill.svg\": 7769,\n\t\"./close.svg\": 74983,\n\t\"./copy.svg\": 68898,\n\t\"./copy2.svg\": 35388,\n\t\"./delete.svg\": 55556,\n\t\"./draw-initial.svg\": 65244,\n\t\"./edit.svg\": 61593,\n\t\"./ellip-fill.svg\": 75041,\n\t\"./eraser.svg\": 41753,\n\t\"./eye.svg\": 33288,\n\t\"./file-left.svg\": 72951,\n\t\"./file-right.svg\": 38354,\n\t\"./grid.svg\": 30457,\n\t\"./group.svg\": 5818,\n\t\"./hi.svg\": 52236,\n\t\"./highlighter.svg\": 72242,\n\t\"./import.svg\": 69362,\n\t\"./info.svg\": 5489,\n\t\"./list.svg\": 77293,\n\t\"./log_out.svg\": 24028,\n\t\"./minus-pure.svg\": 49618,\n\t\"./more.svg\": 62878,\n\t\"./moveBottom.svg\": 28591,\n\t\"./moveTop.svg\": 23731,\n\t\"./navigator.svg\": 51904,\n\t\"./no-color.svg\": 86526,\n\t\"./pencil-alt.svg\": 99480,\n\t\"./rec-fill.svg\": 69697,\n\t\"./refresh.svg\": 16598,\n\t\"./refreshht.svg\": 34850,\n\t\"./save.svg\": 77854,\n\t\"./scale_hand.svg\": 16195,\n\t\"./search.svg\": 45093,\n\t\"./select.svg\": 36805,\n\t\"./star-fill.svg\": 36429,\n\t\"./textNote.svg\": 34764,\n\t\"./trash.svg\": 8737,\n\t\"./tri-fill.svg\": 45314,\n\t\"./undo.svg\": 62267\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 48202;","var map = {\n\t\"./bean_01.png\": 38159,\n\t\"./bean_02.png\": 15700,\n\t\"./bean_02_2.png\": 86255,\n\t\"./bean_03.png\": 36829,\n\t\"./bean_04.png\": 44034,\n\t\"./bean_05.png\": 7691,\n\t\"./bean_06.png\": 25936,\n\t\"./bean_07.png\": 58041,\n\t\"./bean_08.png\": 26126\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 233;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + (chunkId === 482 ? \"FluidFramework-HashFallback\" : chunkId) + \".\" + {\"189\":\"9438f376\",\"482\":\"956e55d6\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn undefined;\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"htcommunity:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunkhtcommunity\"] = self[\"webpackChunkhtcommunity\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [504], function() { return __webpack_require__(68184); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["symbol","$w","__name__","__version__","__author__","_noop","logger","console","log","debug","error","warn","info","module","exports","$d","document","$g","id","getElementById","$c","tag","createElement","$t","n","t","hasChildNodes","firstChild","nodeValue","appendChild","createTextNode","$h","HTMLElement","innerHTML","$i","el","nodeType","style","ownerDocument","String","prototype","startsWith","p","this","slice","length","DEFAULT_OPTIONS","container","editable","theme","mode","support_html","view","engine","hmargin","vmargin","line_width","line_color","draggable","hide_scrollbars_when_draggable","node_overflow","layout","hspace","vspace","pspace","cousin_space","default_event_handle","enable_mousedown_handle","enable_click_handle","enable_dblclick_handle","enable_mousewheel_handle","shortcut","enable","handles","mapping","addchild","addbrother","editnode","delnode","toggle","left","up","right","down","jm","options","current","version","opts","util","json","merge","initialized","mind","event_handles","init","direction","center","of","dir","parseInt","toLowerCase","event_type","show","resize","edit","select","key","meta","ctrl","alt","shift","node","sId","iIndex","sTopic","oData","bIsRoot","oParent","eDirection","bExpanded","index","topic","data","isroot","parent","expanded","children","_data","compare","node1","node2","r","i1","i2","inherited","pnode","pid","is_node","get_location","vd","x","abs_x","y","abs_y","get_size","w","width","h","height","name","author","root","selected","nodes","get_node","nodeid","set_root","_put_node","add_node","parent_node","idx","node_index","push","_reindex","insert_node_before","node_before","get_node_before","the_node","insert_node_after","node_after","get_node_after","brothers","move_node","before_id","parent_id","_move_node","_flow_node_direction","len","_move_node_internal","beforeid","parentid","sibling","si","splice","remove_node","ci","k","sort","i","format","node_tree","example","get_mind","source","df","_parse","get_data","_buildnode","node_root","_extract_data","_extract_subnode","node_json","node_parent","d","o","node_data","node_array","_array","narray","reverse","root_node","_extract_root","root_json","extract_count","node_direction","sub_extract_count","_array_node","freemind","xml","xml_doc","_parse_xml","xml_root","_find_root","_load_node","xmllines","_buildmap","join","window","DOMParser","parser","parseFromString","ActiveXObject","async","loadXML","childNodes","tagName","ns","xml_node","node_id","getAttribute","node_topic","topic_children","topic_child","textContent","_load_attributes","node_expanded","node_position","child","attr","attr_data","pos","ajax","request","url","param","method","callback","fail_callback","tmp_param","encodeURIComponent","xhr","XMLHttpRequest","onreadystatechange","readyState","status","string2json","responseText","open","setRequestHeader","send","get","post","dom","add_event","e","addEventListener","attachEvent","file","read","file_data","fn_callback","reader","FileReader","onload","result","readAsText","save","type","blob","Blob","BlobBuilder","MozBlobBuilder","WebKitBlobBuilder","MSBlobBuilder","bb","append","getBlob","navigator","msSaveBlob","URL","webkitURL","bloburl","createObjectURL","anchor","visibility","href","download","body","evt","createEvent","initEvent","dispatchEvent","removeChild","location","json2string","JSON","stringify","json_str","parse","b","a","Object","toString","call","uuid","newid","Date","getTime","Math","random","substring","text","is_empty","s","replace","opts_layout","opts_view","data_provider","layout_provider","view_provider","shortcut_provider","_event_bind","init_plugins","enable_edit","disable_edit","enable_event_handle","event_handle","disable_event_handle","get_editable","set_theme","theme_old","reset_theme","reset_custom_style","mousedown_handle","click_handle","dblclick_handle","mousewheel_handle","element","target","event","srcElement","get_binded_nodeid","select_node","select_clear","is_expander","toggle_node","begin_edit","ctrlKey","preventDefault","deltaY","zoomIn","zoomOut","edit_node_begin","end_edit","edit_node_end","save_location","relayout","restore_location","expand_node","collapse_node","expand_all","collapse_all","expand_to_depth","depth","_reset","reset","_show","m","load","invoke_event_handle","get_meta","data_format","get_root","the_parent_node","undefined","calculate_next_child_direction","reset_node_custom_style","the_node_before","the_node_after","update_node","updated_node","is_visible","get_selected_node","is_node_visible","find_node_before","c","prev","ni","find_node_after","getthis","set_node_color","bgcolor","fgcolor","set_node_font_style","size","weight","set_node_background_image","image","rotation","set_node_background_rotation","add_event_listener","clear_event_listener","j","setTimeout","_invoke_event_handle","l","mind_data","isside","bounds","cache_valid","children_len","layout_direction","layout_offset","_layout_direction_root","layout_data","children_count","side_index","_layout_direction_side","subnode","offset_x","offset_y","outer_height","left_nodes","right_nodes","unshift","outer_height_left","_layout_offset_subnodes","outer_height_right","max","total_height","nodes_count","node_outer_height","base_y","pd","set_visible","middle_height","_layout_offset_subnodes_height","get_node_offset","offset_cache","_offset_","offset_p","get_node_point","view_data","get_node_point_in","get_node_point_out","pout_cache","_pout_","get_expander_point","ex_p","ceil","get_min_size","pout","part_layout","target_depth","curr_nodes","curr_depth","root_layout_data","visible","is_expand","graph_canvas","e_canvas","className","canvas_ctx","getContext","set_size","clear","clearRect","draw_line","pin","offset","color","ctx","strokeStyle","lineWidth","lineCap","_bezier_to","copy_to","dest_canvas_ctx","drawImage","x1","y1","x2","y2","beginPath","moveTo","bezierCurveTo","stroke","_line_to","lineTo","graph_svg","e_svg","setAttribute","lines","createElementNS","line","img","Image","src","btoa","XMLSerializer","serializeToString","path","e_panel","e_nodes","selected_node","editing_node","graph","e_editor","tabIndex","actualZoom","zoomStep","minZoom","maxZoom","v","keyCode","stopPropagation","dragging_enabled","draggable_canvas","obj","event_name","parentElement","clear_lines","clear_nodes","theme_name","init_nodes","expand_size","min_size","min_width","min_height","client_w","clientWidth","client_h","clientHeight","init_nodes_size","doc_frag","createDocumentFragment","create_node_element","d_e","expander","_reset_node_custom_style","origin_style","clear_node_custom_style","get_editing_node","is_editing","ncs","getComputedStyle","value","getPropertyValue","zIndex","focus","get_view_offset","_x","_y","_center_root","show_nodes","show_lines","setZoom","zoom","outer_w","outer_h","_offset","scrollLeft","scrollTop","keep_center","_saved_location","top","node_element","p_expander","expander_text","display","backgroundColor","fontSize","fontWeight","fontStyle","backgroundImage","scaledImageData","toDataURL","backgroundSize","transform","lineColor","dragging","eventDown","clientX","clientY","eventMove","scrollBy","get_draggable_canvas","enable_draggable_canvas","disable_draggable_canvas","_newid","_mapping","handle","handler","bind","handle_addchild","handle_addbrother","handle_editnode","handle_delnode","handle_toggle","handle_up","handle_down","handle_left","handle_right","keys","Array","isArray","id_generator","enable_shortcut","disable_shortcut","which","kc","metaKey","altKey","shiftKey","_jm","up_node","np","down_node","_handle_direction","floor","childrencount","plugin","plugins","register_plugin","sender","_init_plugins","fn_init","global","_createElementBlock","class","_normalizeClass","$options","svgClass","_createElementVNode","iconName","_hoisted_1","props","iconClass","required","default","computed","__exports__","render","__default__","isPausedAnimation","ref","__props","onMounted","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_createTextVNode","_hoisted_7","_cache","$event","$data","title","_hoisted_8","_hoisted_9","_hoisted_10","intro","_hoisted_11","_hoisted_12","onChange","args","fileChangeHandler","_hoisted_13","_hoisted_14","imagefileChangeHandler","_hoisted_15","_hoisted_16","_hoisted_17","pickedType","_hoisted_18","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","schoolId","_hoisted_29","_hoisted_30","_hoisted_31","schoolName","_hoisted_32","_hoisted_33","_createVNode","_component_SelectMenu","category","cateGroup","defaultSelect","_hoisted_34","_hoisted_35","cateGrade","_hoisted_36","_hoisted_37","cateSubject","_hoisted_38","_hoisted_39","cateLang","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","ccShareAgainType","_hoisted_47","_hoisted_48","_hoisted_49","_hoisted_50","_hoisted_51","ccShareCommercial","_hoisted_52","onClick","uploadAndSave","validToUpload","_hoisted_53","_Fragment","_renderList","materialsByMe","item","_createBlock","_component_Card","materials","blobsas","onViewContent","viewContent","blobsasurl","apiUrl","cn","globalrc","cnrc","accountUrl","clientID","clientsecret","htCommunityUrl","ies5ApiUrl","globaltest","refreshing","serverLocation","handleHeader","config","flag","checkTokenExpired","sessionStorage","getItem","refreshToken","headers","localStorage","language","auth_token","nowTime","cT","eT","btw","axios","profile","grant_type","client_id","access_token","then","res","setItem","expires_in","err","transferUrlIfTest","domain","protocol","hostname","port","includes","params","indexOf","lang","Promise","resolve","reject","response","interceptors","use","getUUID","now","performance","encrypt","word","keyStr","CryptoJS","Utf8","srcs","encrypted","iv","CTR","padding","Pkcs7","decrypt","sortMaterials","val","localeCompare","timeStamp","checkSessionAccessTokenReady","intervalId","timeoutId","intervalCallback","accessToken","clearInterval","clearTimeout","setInterval","Error","urlify","urlRegex","jsFn","host","loginTmdID","entryurl","nonceStr","accountUrltest","decodeURIComponent","logout","tmid","getCode","idToken","isTicket","nonce","id_token","getToken","code","searchParams","has","getTokenUnlogin","client_secret","getSas","createMaterial","updateMaterials","getAllMaterials","getMaterialsByUserId","getMaterialsByGroupId","getMaterialById","getMaterialsByType","getMaterialsBySearch","saveAllMaterialsHits","getRelatedMaterials","deleteMaterialById","updateMaterialById","createUserInfo","getUserInfoById","updateUserInfoById","createReportMsg","getAllReportMsgs","getAllReportMsgsMaterialId","updateReportMsgById","createMessage","getMessageByUserId","createMessagesByToIds","createGroup","getGroupsIattend","getGroupsIcreated","getGroupInfoById","updateGroupInfoById","deleteGroupMembers","getAllUsers","getCoreUsers","createResourcePack","getResourcePacksIcreated","getResourcePackInfoById","updateResourcePackInfoById","deleteResourcePackById","getResourcePackByGroupId","updatePacks","testcourselist","getPurchaseData","getIesTeacherCourse","getJointEventFind","getJointCourseFind","setJointCourseUpsert","getJointExamFind","ActivitySentEmail","setJointCourseUpsertPlus","geties5ApiUrl","getMindMapSas","createMindMap","getMindMapsByTmid","getMindMapByMid","updateMindMap","deleteMindMap","main","mindmapAPI","$props","hidden","loaded","isLoadingNow","imgBlobUrl","getImgUrl","emitViewContent","_toDisplayString","groupAllowShow","uploader","truncatedIntro","showMore","_component_svg_icon","option","allowAddInMyPack","allowEdit","confirmAddToPack","pageName","confirmAddToGroupPack","allowAddInGroupPack","moveOutFromGroup","allowMoveOut","openSelectedGroupForm","allowMoveIn","allowCopy","openEditMaterialForm","_ctx","confirmDelete","showMoreMenu","allowRemoveFromPack","moveOutFromPack","hits","$i18n","locale","grade","subject","components","SvgIcon","setup","store","useMainStore","mounted","closeMenu","methods","$emit","setCurrentEditMaterialGroupMode","$refs","moreDropdown","contains","setCurrentEditItem","checkBackgroundImageLoaded","imageUrl","tempImg","finalUrl","timestamp","date","toLocaleDateString","maxLength","substr","showDropDown","currentSelect","setCurrentSelect","menu","beforeUnmount","removeEventListener","useCounterStore","defineStore","state","count","actions","increment","decrement","BlobServiceClient","require","counterStore","blobServiceClient","containerClient","materialFile","imageFile","groups","Card","SelectMenu","that","setCurrentPage","getMaterialsByMe","api","forEach","groupName","catch","groupIndex","findIndex","groupSelect","materialFileInfo","school","isUploadToReview","gradeSelect","Number","subjectSelect","langSelect","split","groupId","materialRes","uploadBlob","blobUrl","imageRes","writeDBRes","setBlobSas","initblob","targetFile","targetname","blockBlobClient","getBlockBlobClient","uploadBrowserData","from","files","getContainerClient","setBlobContainerClient","routers","useRouter","routerskip","goInfo","urlhost","op_redirecturi","datastr","Base64","encode","inject","ActivityFun","ElMessageBox","alert","confirmButtonText","showSelectedPackForm","_component_SelectedGroupForm","groupsNamelist","packslist","listType","onClose","onConfirm","updatePack","_createCommentVNode","currentTitle","_component_SearchBar","_component_SelectMultiMenu","cateMulti","cateTwo","cardOption","_component_Sorter","$setup","showTitle","displayedItems","onConfirmAddToPack","_component_Pagination","materialsByType","onDisplayedItems","setDisplayedItems","setSort","currentSortBy","watch","currentPage","way","setSortBy","selectAll","for","toggleSelect","label","map","newValue","menuMulti","checkShowConfirm","confirm","close","groupsNamelistSelect","newVal","placeholder","search","resetSearch","searchContent","searchContentAtHome","searchContentAtCate","showStartEllipsis","goToPage","visiblePages","page","showEndEllipsis","itemsPerPage","totalPages","start","end","maxVisiblePages","_","startPage","endPage","getCurrentInstance","mountMsg","provide","orinMaterials","cateOne","titles","packsOriginal","Sorter","SelectMultiMenu","SearchBar","Pagination","SelectedGroupForm","created","allHits","getAllHits","selectMulti","selectTwo","updateFilterMaterials","mapTitle","pagination","gotoPage","isLogin","getReasourcePacksIcreated","checkAllowEdit","decoded","jwt_decode","filter","sub","formData","materialsList","mId","currentEditItem","searchText","titleIndex","controls","freshKey","_component_ReportMsgForm","closeReportMsgForm","saveReportMsg","showReportMsgForm","currentContent","_component_ImgCarousel","images","htexSnapshotImgs","getBlobUrl","sendMsgHT","openReportMsgForm","isShowReportBtn","_component_CCAuthBadge","isStringEndsWithMP3","isStringEndsWithMP4","viewProfile","updateTimeStamp","finalEditor","relatedMaterials","getFileList","resole","zip","JSZip","zobj","values","zblob","zfile","File","lastModified","message","cmpToBase64","fName","cont","generateAsync","compression","unzByBase64","zipfile","unzip","loadAsync","base64","content","currentImgId","prevPage","nextPage","cateReason","editNote","localeProfile","reasonSelect","createReportData","materialId","materialType","reasonCode","applicant","note","badges","badge","rel","imgSrc","shouldShowBadge","Boolean","isloadingHtexImgs","ImgCarousel","ReportMsgForm","CCAuthBadge","isContentHidden","saveLocal","getHtexFile","deSavedContent","getSavedContent","$route","chrome","webview","postMessage","downloadFileUrl","convertBlobToFile","fetch","fileName","HTEXFile","zipTool","indexJSON","find","htexCoordinationText","htexCoordination","imgpreviewLength","slides","targetImgName","thumbnail","imgIndex","str","lastIndex","lastIndexOf","savedContent","pk","ttl","encSavedContent","scrollTo","behavior","showConfirmDeleteModal","_component_Modal","deleteModalOption","closeModal","deleteMaterial","showConfirmDeletePackModal","deleteModalOptionForPack","deletePack","showEditMaterialForm","_component_EditMaterialForm","closeEditMaterialForm","updateMaterial","showCreateGroupForm","_component_CreateGroupForm","closeCreateGroupForm","showCreatePackForm","_component_CreatePackForm","closeCreatePackForm","createOrUpdatePack","packFormMode","packPageMode","showSelectedGroupForm","setToGroup","moveToPack","_normalizeStyle","background","currentProfile","uploadNum","_component_router_link","to","_withCtx","checkCreateUserInfo","currentTabId","setTab","groupCate","openCreateGroupForm","group","groupImgURL","viewGroupProfile","getGroupImgUrl","isFilterICreated","groupCreator","openCreatePackForm","packs","_component_CardPack","imgUrl","viewPackContent","onOpenEditPackForm","openEditPackForm","onConfirmDelete","confirmDeletePack","onOpenSelectedGroupForm","onOpenEditMaterialForm","showUserInfo","isDBHasUser","updateUserInfo","showUpdateBtn","xmlns","viewBox","showCloseIconBtn","showEditItemTitle","desc","btnStyle","editTitle","editIntro","checkIsChange","confirmUpdate","updateData","accept","editImgPreview","groupIntro","groupImgFile","pathLong","setImgCoverByClipart","isMaterialSelected","currentSelectMaterials","getTypeText","material","importAll","pathShort","pickImgType","checkImgStyle","getImgListItemUrl","packCreator","containStyle","randemColor","letters","onerror","editOption","countGroupIcreated","maxGroupCreated","currentSetToGroupMode","currentLoginAccount","packsLoginOriginal","Modal","EditMaterialForm","CreateGroupForm","CreatePackForm","CardPack","groupTypeSelect","refreshReasourcePacksIcreated","getPacksLoginAcountCreated","getSavedProfile","picture","loginProfile","setMaterialToGroup","setPackToGroup","currentEditMaterialGroupMode","updatePackInfo","packFileInfo","packCreatorData","isCopy","updateId","deleteBlobFolder","folderName","blobContainerClient","iterator","listBlobsFlat","prefix","byPage","next","done","segment","blobItems","deleteBlob","uploadImgBlob","createPack","commonData","dataWithImgUrl","cateType","isLoadingImgNow","isLoading","_component_Loader","_imports_0","Loader","getAllMaterialsForManager","resetSelect","selectType","selectOne","orderBy","reportedMsgs","showChangViewBtn","currentViewMode","reportedMsgsByMId","onSearchReport","searchReport","cateStatus","hideStatus","setView","displayedReportedMsgs","detail","createdTime","reviewed","reviewedTime","acceptReport","rejectReport","reEditReport","setShowList","showList","setAll","totalreports","reportedItem","subId","orinData","orinDataByMId","getMaterialDetail","updateFilterReportList","selectStatus","finalIndex","localDate","importance","fromUser","toUserId","msgImg","mItem","_hoisted_67","showSelectedGroupPackForm","moveToGroupPack","groupPackslist","materialsForEditPack","_component_GroupInvitationForm","groupMembers","currentGroupProfile","showGroupInvitationForm","sendInvitations","_component_EditManagerModal","isCurrentAccountManager","showEditManagerModal","saveGroupManagersSetting","showConfirmDeleteMemberModal","closeDeleteMemberModal","saveGroupMembersSetting","showConfirmLeaveModal","leaveModalOption","leaveGroup","deleteMaterialModalOption","isStayOldReview","addWaitingList","isCurrentAccountMember","isWaitingMember","openInvitationForm","uploadPackNum","gMaterials","checkCardOption","onMoveOutFromGroup","onConfirmAddToGroupPack","showNotHiddenReview","setApproveAllWaitings","saveWaitingMembersSetting","waitingMembers","member","approve","setApproveSingleWaiting","setRemoveAllGroupMembers","isManager","remove","setRemoveSingleGroupMember","groupManagers","_hoisted_54","_hoisted_55","_hoisted_56","_hoisted_57","_hoisted_58","_hoisted_59","_hoisted_60","showAskStayOldReview","_hoisted_61","_hoisted_62","_hoisted_63","_hoisted_64","updateGroupInfo","_hoisted_65","_hoisted_66","_hoisted_68","checkPackCardOption","moveOutPackFromGroup","_hoisted_69","_hoisted_70","_hoisted_71","_hoisted_72","_hoisted_73","setApproveAllMaterialsReview","saveMaterialReviewSetting","_hoisted_74","reviewMaterials","_component_CardReview","onSetApproveSingleReview","setApproveSingleReview","_hoisted_75","_hoisted_76","_hoisted_77","_hoisted_78","setApproveAllPacksReview","savePackReviewSetting","_hoisted_79","reviewPacks","_component_PackReview","onSetApproveSinglePackReview","setApproveSinglePackReview","setSingleManager","$parent","filterUsers","addInvitedList","showNoData","invitedList","removeFromInvtedList","closeDropDown","searchMenu","searchDropdown","memberIndex","existId","toUserIds","getContentTypeName","tempGroupAllowShow","typeNames","htex","audio","video","back","exam","tutorial","plan","subindex","ref_for","getInnerImgUrl","subitem","groupPacksOriginal","EditManagerModal","GroupInvitationForm","CardReview","PackReview","newvalue","oldvalue","Init","refreshGroupInfo","getGroupInfo","gid","$router","deleteWaitingMembers","addGroupManagers","deleteGroupManagers","getGroupPacksLoginAcountCreated","checkIsLogin","checkAllowEditGroup","checkInGroup","checkInWaitingMembers","groupImgUrl","groupInfoResponse","mIdx","manager","managerIndex","attachlink","routelink","getMaterialsForPack","concat","updateMaterialsList","packList","originalList","getPackImgUrl","currentPackContent","onMoveOutFromPack","refreshPackInfo","getPackInfo","pack","infoCtrl","isShowHi","pic","pictureUri","tmdid","open_name","school_name","isSowpurchaseMsg1","isSowpurchaseMsg2","isShowApply","loadingCtrl","clickToLearnHiTeach","extensions","reactive","Name","Key","nameOptions","infoFun","ApplicationData","myProductData","applyClick","t_data","jwtDecode","action","promises","shortCode","purchaseCode","bbAPIDomain","errCode","all","getListData","cityId","yes","no","getContent","time","startDate","endDate","isInList","isFull","toISOString","Contentarr","exstr","apItem","exItem","ex","reload","useGlobalMethods","router","afterLoginRouter","pathname","origin","useTimerStore","startTime","endTime","remainingTime","getters","formattedTime","minutes","seconds","padStart","startTimer","timeLeft","stopTimer","onTimerEnd","removeItem","loadTimer","storedStartTime","storedEndTime","storedRemainingTime","gt_educloudtw","optionsData","option_gl","timerStore","route","useRoute","coreAPIUrl","haveTeamModelAccount","noTeamModelAccount","checkAccount","opencode","query","open_code","redirect_uri","edu_id_token","open_mail","getSchoolData","school_id","open_id","doubleCheckfun","cancelButtonText","ElMessage","schdata","fullData","schres","option_gl001","countryId","countryName","og","odItem","od","goback","goTo","onUnmounted","min","teamModel","password","phone","qrCodeDataUrl","qrCodeurl","sseSurvive","isSend","showQRcode","isPC","chooseBindingMethod","isMobileBrowser","lanSSE","es","EventSourcePolyfill","closeSSE","esdata","sid","generateQRCode","idTokenBinding","QRCode","goAccountBinding","account","data2","res2","goBack","countMin","countCtrl","sendCtrl","countdown","timer","clickToSentFun","phoneRegex","isPhoneNumberValid","test","sentMessageFun","goMsgBinding","pinRegex","pin_code","country","useHead","property","columns","dataKey","cellRenderer","rowData","goToUrl","statusInfo","getStatusText","txt","ActivityArry","admin","ActivityMainPage","isReviewer","webID","Official","ActivityID","testWebList","isTestWeb","ActiveStart","PageStatus","isJoin","ecName","ecEmail","scope","localRead","FractionData","rank","TName","groupListInfo","testID","OfficialID","dialogAddClassCtrl","classListCtrl","PlanData","step","stepStartTime","stepEndTime","stepName","description","blobsName","urlOpen","isNow","PlanDataRowClass","row","Now_plan","getPlanDataFun","twoDaysLater","jointEventId","assistants","applyInfoData","signUpGroup","signUpGroupOptions","signUpGroupFun","signUpClassOptionsShow","signUpClassData","signUpClass","applyTableData","course","signUpClassOptions","signUpClassFun","getActiveData","runCount","GroupId","creatorId","JointCourseData","Data_group","Data_groupID","Data_course","Data_courseID","Data_class","Data_classID","jointGroupId","classData","courseLists","courseId","groupLists","groupList","courseDetail","stageData","schedule","planData","getCurrentPlanData","groupID","courseID","classID","stage","stageID","stageStatus","currentPlan","getIes5dataFun","gradeName","courseBase","courseTasks","schedules","students","memberCount","updateDataFun","dialogAddClassCancel","dialogAddClassConfirm","chooseCount","countSelectedItems","sentEmailData","mail","ApplyCouponData","coupon","applyInfoDataTemp","reduce","acc","selectedCourses","subjectId","courseName","isFind","creatorName","creatorEmail","provinceId","provinceName","cityName","CourseData","jointCourse","some","isNarrow","handleResize","innerWidth","BtnFunction","gotoTeammodel","websirtPart2","getfileUrl","encodeURI","temp","websitKeyWord","isMatch","keyword","showData","showDataFun","showDataOptions","absenceRate","passRate","avgScore","srcUrl","useMindMapStore","mindMapBlobsasurl","mindMapBlobContainerClient","mindMapBlobSas","setMindMapBlobContainerClient","blobClient","setMindMapBlobSas","sas","$Message","teammodelId","$q","useQuasar","mockImg","showShareLinkBox","showComfirmDelete","showActionMenu","currentView","mindmapList","pageBtns","currentPageNum","currentSortField","currentSortOrder","currentMindMap","serviceConfig","connection","tenantId","tokenProvider","InsecureTokenProvider","endpoint","currentMindMapURL","actionMenuPos","getMyMindMapListBySort","field","pageSize","pageNumber","sortField","sortOrder","getMyMindMapList","openCowork","mindMapStore","initMindMapBlob","serviceClient","openMindMapByID","mindmap","openActionMenu","loginTMID","setIsLogIn","openShareLinkBox","mid","getMyMindMapListByPage","openComfirmDelete","closeComfirmDelete","closeShareLinkBox","initOpenCowork","client","AzureClient","containerSchema","initialObjects","mindHistory","SharedMap","createContainer","containerId","attach","mindmapEditor","fluidContainerId","closeOpenCowork","handleClickOutside","closest","getMindMapImgUrl","snapshotUrl","searchMindMaps","loading","hide","_hoisted_86","_hoisted_91","nameLabelX","nameLabelY","currentNameLabel","showNameLabel","_component_q_dialog","modelValue","showImgEditor","persistent","_component_mind_map_img_editor","selfEditMode","isModified","isStartSave","showBigImg","clickImg","currentViewImg","triggerInputMD","InputMD","ctrlNodeMode","nodeText","maxlength","nodeTextLength","isCurrentSelectRoot","showMoreSetting","lineColorArr","currentLineColor","setLineColor","nodeColorArr","currentNodeColor","setNodeColor","imgfileChangeHandler","resetImageUploader","currentImgUrl","openWhiteEditor","maxImageSize","isOverMaxImageSize","openEditor","nodeTextURL","nodeTextNote","nodeTextNoteLength","nodeEditBy","isCurrentNodePreEditByMe","isTool","showAddNoteTool","isUploadImg","posY","posX","openNode","deleteSelectNode","_hoisted_80","isCurrentNodeCanBeDelete","moveNode","_hoisted_81","isCurrentNodeCanMoveUp","_hoisted_82","isCurrentNodeCanMoveDown","_hoisted_83","copyNode","_hoisted_84","_hoisted_85","_hoisted_87","showSelectedNote","_hoisted_88","_hoisted_89","_hoisted_90","_hoisted_92","_hoisted_93","_hoisted_94","seat","showNodeMenu","_hoisted_95","_hoisted_96","jmNodeIconStr","attachment","isQueryLogout","_component_q_card","_component_q_card_actions","align","_component_q_btn","flat","saveImgForNode","_component_AddImgBox","showAddImgBox","_component_AddTextBox","showAddTextBox","TextSettingToolpos","_component_TextSetting","isEditingTextNow","moveToTop","toggleBtnOn","currentSelectElement","moveToBottom","addDraw","_component_Poptip","penPopVisible","placement","trigger","_component_PenSetting","penIconType","addShape","shapePopVisible","_component_ShapeSetting","shapeState","shapeFill","shapeType","shapeIconType","_component_q_icon","openTextbox","openImgBox","deleteObj","eraserPopVisible","stageClear","doUndo","zoomPanMode","zoomPopVisible","setBarMode","zoomToDefault","zoomSize","_component_Slider","onOnInput","setZoomSize","onOnChange","logoutui","objMenuPos","editTextObj","isCurrentTexObj","copyPasteTextObjByObjMenu","deleteObjByObjMenu","moveToTopByObjMenu","moveToBottomByObjMenu","openURL_NewTab","isCurrentTextURL","showObjMenu","app","createApp","App","component","req","requireAll","requireContext","currentTab","closeAddImgBox","_component_Tabs","_component_TabPane","addImgMode","resetAddImageUploader","addImgObj","bgColors","freecolor","setBgColor","genUUID","addImageUploader","getViewCenter","stageWidth","stageHeight","offsetX","offsetY","scale","scaleX","centerX","centerY","dataURLtoFile","dataurl","filename","arr","mime","match","bstr","atob","u8arr","Uint8Array","charCodeAt","compressFile","layer","fileReader","readAsDataURL","imageObj","ratio","calScaleRatio","canvas","context","originalWidth","originalHeight","canvasWidth","canvasHeight","parseFloat","toFixed","konvaCanvasUploadFile","fileUrl","currentIndex","Konva","fromURL","scaleRatio","setAttrs","tr","Transformer","anchorStroke","anchorFill","anchorSize","anchorCornerRadius","anchorStrokeWidth","borderStroke","borderStrokeWidth","borderDash","ele","attrs","destroy","add","addMenuBtnToTr","draw","undoHistory","warning","addImgBgc","relativScaleRatio","addWhiteRectBg","Rect","screenOffsetY","fill","illLinearGradientStartPoint","listening","currentAddTextValue","textSize","colorArr","textColor","chioceColor","stickerColorArr","currentStickerColor","setStickerColor","addTextBox","closeTextBox","button4","hex","standard","addSticker","textNode","currentEditTextNode","pastText","Label","Tag","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","shadowOpacity","Text","lineHeight","moveHtexToTop","isSendByMe","addPureText","bigramSimilarity","first","second","firstBigrams","Map","bigram","set","intersectionSize","classList","_component_RadioGroup","penType","_component_Radio","strokeColor","strokeSize","setSize","setColor","opacity","shapeList","items","shapesSelect","color2","icon","colorSelect","QIcon","updateShapeType","updateShapeColor","shapeColor","shapeBorderColor","colorArr2","debuglog","theArgs","inputImgFileBeforeOpenCanvas","mindMapUploadFile","mindMapInfo","isPaint","lastLine","oldonex","oldoney","newPoints","zoomType","upagatekey","screenOffsetX","blobSas_read","currentSelectItem","currentDeleteItem","hostStageWidth","hostStageHeight","currentDragElement","complexStyle","poslinkInfo","isShowHint","isOpenObjLink","isOpenMultiLink","isOpenPlayerLink","currentPlayerHtml","currentPlayerTimeout","currentObjLink","currentMultiLinks","doUndoIndex","undoInitLayer","preScale","currentMenuObj","isRenderHTEX","webIRSLayerSize","myFinalSendCoworkAction","finalCoworkAction","currentEditor","coworkEraserMode","undoDeleteHistory","undoDeleteByOtherHistory","drawHistory","isDrawOut","isSelectTouchingNow","teacherLargeH","teacherLargeW","isCoworkStageScaleHT","coworkBgRatio","coworkBgScreenOffsetX","coworkBgScreenOffsetY","AddImgBox","AddTextBox","TextSetting","PenSetting","ShapeSetting","QBtn","QCard","QCardActions","QDialog","Loading","pixelRatio","hitOnDragEnabled","captureTouchEventsEnabled","gesture","containerDom","Stage","innerHeight","ges","setPointersPositions","Layer","bgSrc","bgRatio","bgScreenOffsetX","bgScreenOffsetY","bgRect","boardPdfBg","closePlayer","media","getElementsByClassName","pause","currentTime","playerMedia","play","openCurrentSelectLink","link","urlType","openCurrentObjLink","removeTransformer","removeTextTransformer","mimeType","quality","imgFile","on","absolutePosition","addKonvaSingleImg","recoverScale","$mobileirs","hostmode","rdReadOnlyBlobSasToken","finallink","fromLocal","batchDraw","updateStageObj","targetAction","fromInfo","childrenIndex","normalClassName","KonvaItem","KonvaGroup","targetItem","hasOwnProperty","scaleY","Index","refreshLayerIndex","showMsg","indexA","indexB","konvaCanvasUploadJsonData","times","targetfilename","hostmodeFilePath","HiGroup","HiGroupID","currentFile","isShowHintNow","imgTargetWidth","imgTargetHeight","bgWidth","bgHeight","imgWidthMinusCanvasWidth","imgHeightMinusCanvasHeight","output","getRelativePointerPosition","getAbsoluteTransform","copy","invert","getStage","getPointerPosition","point","removeStageEvents","cursor","off","removeTargetEvents","hideAllMenu","setGroupChildDraggable","rect","currentArrow","lastClientX","lastClientY","Line","strokeWidth","hitStrokeWidth","closed","globalCompositeOperation","points","lineJoin","Circle","radius","Ellipse","radiusX","radiusY","RegularPolygon","sides","Star","numPoints","innerRadius","outerRadius","deltaX","newArrowHeight","sqrt","pow","newRotation","atan2","PI","newElement","finalWidth","penSetting","tension","onex","oney","saveUndoUpdate","_nodes","finalhistoryItem","finalhistoryItemAttr","checkURLinText","fixURL","pattern","matchedValue","copyObj","clone","isNaN","filelink","filelinkType","links","urlShortName","validURL","textIndex","currentHtexFilePath","lock","tempText","abs","deleteLineInCowork","duration","closable","konvaObjIndex","konvaItem","deleteObjInCowork","pop","beginClientX","beginClientY","panning","clickStageToZoom","pointer","mousePointTo","newPos","position","RegExp","moveUp","setTwoBackObjIndex","trNode","objbtnbg","findOne","objbtn","Path","updatePos","touch","menuX","menuY","touches","changedTouches","pageX","pageY","setSendByMe","beforeDestroy","destroyChildren","mdtest1","mdtest2","mdtest3","mdtest4","mdtest5","mdtest6","mdtest7","mdtest8","mdtest9","mdtest10","mdtest11","remark","remarkParse","removeMarkdownFences","mdText","trim","fixHeading","adjustedLines","foundFirstLevelHeading","noTitle","fixNumToList","leadingSpaces","trimmedLine","removeEmptyLinesInLists","markdownText","insideList","fixIndent","input","insideSection","indentStack","currentIndentLevel","repeat","preConvertMDHeadingToList","currentIndent","isFirstHeading","headingMatch","listMatch","level","indent","removeIndentation","mdtext","minIndent","unindentedLines","mdToJsMind","vm","finalmdtext","branchIndex","testMDFormatByJest","ast","mindData","addNode","parentId","isRoot","isFirstLevel","parentLineColor","parentBgColor","childrenLength","nodeId","finalNote","nodeImg","nodeLink","lineColorIndex","nodeColorIndex","traverseAst","topicNode","currentBgColor","sublist","rootNode","rootTopic","list","jsMindToMd","jmNode","traverse","currentMdText","step0","step1","step2","step3","step4","step5","finalResult","testMDFormat","mdTestText","jsMind","MindMapImgEditor","iviewMessage","fluidMindRoot","fluidMindHistory","noTimeTitle","sf","SchemaFactory","Mind","object","string","boolean","optional","arrayRecursive","testFluidShareTreeInMind","SharedTree","treeViewConfiguration","TreeViewConfiguration","schema","hash","getContainer","viewWith","initialize","replaceChildrenOuterBracesWithArray","deepToRaw","reloadLayout","Tree","fluidStarted","testFluidShareMapInMind","init_data","changed","actionItem","isSentByMe","updateStageNode","mapSize","setFluidShareMap","actionType","finalItem","nodeID","convertToMind","setFluidShareTreeMindRoot","finalChildren","isReactive","isRef","toRaw","rawObj","jmNodeAttechIcon","currentNode","currentNodeHasImg","log_level","anonymousSeat","autoSaveIntervalId","currentMoveTargetNode","isNoSnapShot","initMindMap","startX","startY","jmDom","handleNodeMenu","viewBigImg","handleEdit","onMouseMove","onMouseUp","scrollFactor","jmInner","querySelector","accumulatedTime","snapshotInterval","tolerance","saveMindMapSnapshot","mindmapData","tempData","replaceNodeImgUrl","newImgBlobLink","childNode","jmnodesElement","offsetHeight","offsetWidth","htmlToImage","dataURL","success","showLoading","copyTargetNode","itemInfo","beforeNodeID","nodeContent","refresh","mainImageUploader","mainImageUploaderInit","itemContent","parentNodeID","addTargetNode","newNode","setCurrentNameLabel","deleteTargetNode","updateTargetNode","moveTargetNode","preNode","parentNode","afterMoveNode","tempDiv","nodePos","viewportHeight","distanceToBottom","addNodeToSelectNode","updateSelectNode","ssage","filteredString","imgElement","urlElement","$nextTick","nextNode","showMindMap","fileInput","click","mdData","md","studentInput","addStudents","newStudents","student","deleteStudent","submitCourse","members","mitem","nickname","irs","groupListName","limitCount","gologin","datenow","routes","TestPage","requiresAuth","HomePage_Taoyuan","HomePage_Activity","AccountInfo","Binding_CheckAccount","Binding_Choose","Activity_List","Activity_Info","Activity_CreateClass","Activity_Data","CatePage","Content","Profile","GroupProfile","PackContent","Setting","Management","Reported","MindMapHome","MindMap","createRouter","history","createWebHistory","beforeEach","mountedMsg","setMountedMsg","setCurrentContent","saveCardHit","packContent","saveItem","waveWidth","waveheight","waveFrequency","waveAmplitude","region_name","region_url","notitle","ActivityPageList","ActiveShowCtrl","menuOpen","Event","setLoginInfo","wavePath","waveLength","isMindMapPage","MenuFun","unmount","Message","mount","currentUrl","logOut","post_logout_redirect_uri","id_token_hint","debounce","delay","tid","apply","onBeforeMount","ResizeObserverOriginal","ResizeObserver","check","userAgent","vendor","opera","constructor","super","新增","編輯","輸入文字","確定","取消","請先選取節點","不可刪除有子項目的節點","新增失敗","編輯失敗","加入根節點","左邊","右邊","已是最上面","已是最下面","圖片","圖片過大提示字1","圖片過大提示字2","連結","連結網址","連結名稱","輸入URL","輸入連結名稱","註解","進階設定","線條顏色","節點顏色","preEditHint","刪除","上移","下移","複製","檢視圖片","最後更新","imgEditor","詢問離開動作","保存圖片","捨棄變更","比例","檔案圖片","選取圖片作為物件","背景設置","選取圖片作為背景","文字工具","編輯文字便利貼","刪除文字便利貼","字體大小","字體顏色","顏色","便利貼顏色","畫筆","通用畫筆","高光筆","鐳射筆","大小","圖形","邊框","填充","箭頭","直線","圓形","橢圓","矩形","三角形","星形","所選圖片過大","打開點擊的物件連結","多連結詢問","目前沒有動作可復原","復原我最近一次刪除動作","ModifyHint","物件化畫板","重新整理圖層","刪除鎖定物件提示字","協作無法刪除鎖定提示字","移到最上層","移到最下層","konvaCanvas","applyCheck","authorization","entry1","getAuthorization","competition","registration","eventPreparation","notification","additionalItem","teamModelAccount","schoolNotInList","schoolAuthorizationFull","notApplied","appliedNotAuthorized","sendVerificationCode","resend","chooseMethodToProceed","bindExistingTeamModelAccount","registerAndBindNewAccount","completeWithin30Minutes","qrCodeBinding","qrCodeExpired","update","useHiTA5AppToScan","emailPhoneUserID","bindNow","sms","phoneNumber","verificationCode","confirmVerificationCode","sendingSMS","registerNewAccountPrompt","cancel","bindingSuccessful","qrCodeLogin","incorrectAccountOrPassword","enterAccountAndPassword","incorrectPhoneNumberFormat","enterPhoneNumber","incorrectAccountOrVerificationCode","incorrectVerificationCodeFormat","enterVerificationCode","verificationCodeSendFailed","verificationCodeSent","afterBindingLoginWithEduCloud","navLang","localLang","i18n","createI18n","allowComposition","messages","customZhCn","customZhTw","customEnUs","pinia","createPinia","head","createHead","_TabPane","_Tabs","_Slider","_Poptip","_RadioGroup","_Radio","_Rate","Quasar","iconSet","directives","ClosePopup","ElementPlus","entries","ElementPlusIconsVue","_Message","VueLazyload","preLoad","directive","binding","rootMargin","threshold","imageObserver","IntersectionObserver","entry","isIntersecting","unobserve","observe","webpackContext","webpackContextResolve","__webpack_require__","__webpack_module_cache__","moduleId","cachedModule","__webpack_modules__","deferred","O","chunkIds","fn","priority","notFulfilled","Infinity","fulfilled","every","getter","__esModule","definition","defineProperty","enumerable","f","chunkId","u","miniCssF","g","globalThis","Function","prop","inProgress","dataWebpackPrefix","script","needAttach","scripts","getElementsByTagName","charset","timeout","nc","onScriptComplete","doneFns","Symbol","toStringTag","nmd","paths","installedChunks","installedChunkData","promise","loadingEnded","errorType","realSrc","webpackJsonpCallback","parentChunkLoadingFunction","moreModules","runtime","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""}