From ce70bc450a2401997bb850f89f3c4dc0a23e0a72 Mon Sep 17 00:00:00 2001
From: zhongshujie <2862698242@qq.com>
Date: 星期五, 05 九月 2025 18:38:13 +0800
Subject: [PATCH] 31 数字化口腔修复技术 整本

---
 src/books/rehabilitationAssessmentTechniques/view/components/chapter15.vue  |   42 
 src/assets/icons/index.js                                                   |   28 
 src/assets/js/config.js                                                     |    5 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter2.vue   |   44 
 src/books/rehabilitationMedicineIntroduction/view/components/header.vue     |    5 
 src/books/dentalMorphologyFunction/view/components/header.vue               |    3 
 src/books/digitalDentalRestorationTechnology/assets/main.less               |  151 
 src/books/medicalImagingAnatomy/assets/images/0095-01.jpg                   |    0 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter16.vue  |   31 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter14.vue  |   42 
 src/books/digitalDentalRestorationTechnology/view/components/chapter001.vue |  192 
 src/books/rehabilitationAssessmentTechniques/view/components/header.vue     |   22 
 src/books/exerciseTherapyTechniques/assets/images/0158-01.jpg               |    0 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter1.vue   |   54 
 src/books/digitalDentalRestorationTechnology/view/components/chapter007.vue |  384 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter4.vue   |   58 
 src/books/digitalDentalRestorationTechnology/view/components/chapter006.vue |  530 +
 src/assets/methods/examination.js                                           |  207 
 src/books/medicalImagingAnatomy/assets/images/0311-02.jpg                   |    0 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter3.vue   |   46 
 src/books/digitalDentalRestorationTechnology/assets/images/0028-01-01.png   |    0 
 src/components/svgIcon/index.vue                                            |   12 
 yarn.lock                                                                   | 2546 ++++----
 src/components/dialogExaminations/index.vue                                 |  182 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter17.vue  |   32 
 src/books/digitalDentalRestorationTechnology/assets/images/0028-01-02.png   |    0 
 .env.product                                                                |    6 
 package-lock.json                                                           | 5385 +++++++----------
 src/books/digitalDentalRestorationTechnology/view/components/chapter004.vue |  938 ++-
 src/books/medicalImagingAnatomy/assets/images/0271-01.jpg                   |    0 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter10.vue  |   42 
 src/books/preventiveDentistry/view/components/index.vue                     |   23 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter7.vue   |   32 
 src/books/rehabilitationMedicineIntroduction/assets/main.less               |    5 
 src/books/rehabilitationMedicineIntroduction/view/components/index.vue      |   23 
 src/books/preventiveDentistry/assets/examinationList.js                     |    2 
 src/books/exerciseTherapyTechniques/assets/images/0163-01.jpg               |    0 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter11.vue  |   56 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter6.vue   |   44 
 src/books/digitalDentalRestorationTechnology/view/components/chapter005.vue |  637 +
 src/books/rehabilitationAssessmentTechniques/view/components/chapter5.vue   |   28 
 src/books/preventiveDentistry/view/components/chapter001.vue                |   46 
 src/books/digitalDentalRestorationTechnology/assets/images/zongJie.svg      |    2 
 src/books/digitalDentalRestorationTechnology/view/components/index.vue      | 1919 +++---
 public/index.html                                                           |   40 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter9.vue   |   90 
 src/books/digitalDentalRestorationTechnology/view/components/chapter002.vue |  560 +
 src/books/rehabilitationAssessmentTechniques/view/components/chapter12.vue  |   68 
 .env                                                                        |    2 
 src/books/clinicalMedicalSummary/assets/images/0158-01.jpg                  |    0 
 src/books/preventiveDentistry/view/components/chapter002.vue                |    2 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter8.vue   |   52 
 src/books/CTExaminationTechnology/view/components/index.vue                 | 1942 +++---
 src/books/digitalDentalRestorationTechnology/view/components/chapter003.vue | 1009 ++-
 src/books/rehabilitationAssessmentTechniques/view/components/index.vue      |   40 
 package.json                                                                |    5 
 src/books/rehabilitationAssessmentTechniques/view/components/chapter13.vue  |   40 
 src/books/digitalDentalRestorationTechnology/assets/images/tuoZhan.svg      |    2 
 src/App.vue                                                                 |   44 
 59 files changed, 8,971 insertions(+), 8,729 deletions(-)

diff --git a/.env b/.env
index 85ffefe..c7210ab 100644
--- a/.env
+++ b/.env
@@ -1,4 +1,4 @@
 VUE_APP_ENV = 'dev'
-VUE_APP_API_URL = "https://yxjy.pumcp.com/"
+VUE_APP_API_URL = "https://yxjy.pumcp.com"
 VUE_APP_RESOURCE_CTX = 'https://yxjy.pumcp.com/books/resource/'
 VUE_APP_PUBLIC_PATH = '/books/book'
\ No newline at end of file
diff --git a/.env.product b/.env.product
index d85b42c..0070e24 100644
--- a/.env.product
+++ b/.env.product
@@ -1,11 +1,11 @@
 VUE_APP_ENV = 'product'
 # 鎺ュ彛璇锋眰鍦板潃
-VUE_APP_API_URL = "https://yxjy.pumcp.com/"
+VUE_APP_API_URL = "https://yxjy.pumcp.com"
 # 鏁欐潗閰嶇疆鏂囦欢鐨勮幏鍙栧湴鍧�
 VUE_APP_RESOURCE_CTX = 'https://yxjy.pumcp.com/books/resource/'
 # 鏁欐潗闈欐�佽祫婧愯幏鍙栫殑璺緞锛岄儴缃叉椂淇敼涓哄綋鍓嶈繖鏈功
-VUE_APP_PUBLIC_PATH = 'https://yxjy.pumcp.com/books/book/TCMRehabilitationTechnology'
+VUE_APP_PUBLIC_PATH = 'https://yxjy.pumcp.com/books/book/digitalDentalRestorationTechnology'
 # 褰撳墠椤圭洰鏋跺瓙鍐呮墍鏈夌殑涔︾殑鏂囦欢澶瑰悕绉帮紝鐢ㄤ簬鎵撳寘鏃惰繃婊ゅ叾浠栨枃浠跺す
 VUE_APP_BOOK_LIST = "demo/exerciseTherapyTechniques/MSDiseaseRehabilitation/prosthodontics/normalHumanBodyStructureFunction/physiology/clinicalDiseasesSynopsis/speechTherapyTechniques/orthodontics/physicalFactorTherapyTechnology/occupationalTherapyTechniques/rehabilitationMedicineIntroduction/rehabilitationAssessmentTechniques/rehabilitationPsychology/humanKinematicsFundamentals/preventiveDentistry/oralImaging/clinicalDiseasesSummary/digitalDentalRestorationTechnology/clinicalMedicalSummary/CTExaminationTechnology/medicalImagingAnatomy/MRIExaminationTechnology/dentalMorphologyFunction/oralAnatomicalPhysiology/oralFixedRestorationTechnology/RPDtechnology/oralcomprehensiveSkills/completeDentureTechnology/oralMaxillofacialSurgery/oralHistopathology/TCMRehabilitationTechnology"
 # 褰撳墠閮ㄧ讲鐨勪功鐨勬枃浠跺す鍚嶇О锛岄儴缃叉椂淇敼涓哄綋鍓嶈繖鏈功
-VUE_APP_BOOK_ID = 'TCMRehabilitationTechnology'
+VUE_APP_BOOK_ID = 'digitalDentalRestorationTechnology'
diff --git a/package-lock.json b/package-lock.json
index caa9ac2..214edbe 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -23,7 +23,8 @@
         "viewerjs": "^1.11.6",
         "vue": "^2.6.14",
         "vue-mathjax": "^0.1.1",
-        "vuex": "^3.6.2"
+        "vuex": "^3.6.2",
+        "yarn": "^1.22.22"
       },
       "devDependencies": {
         "@babel/core": "^7.12.16",
@@ -31,7 +32,7 @@
         "@types/spark-md5": "^3.0.4",
         "@vue/cli-plugin-babel": "~5.0.0",
         "@vue/cli-plugin-eslint": "~5.0.0",
-        "@vue/cli-service": "~5.0.0",
+        "@vue/cli-service": "^5.0.9",
         "eslint": "^7.32.0",
         "eslint-plugin-vue": "^8.0.3",
         "less": "^4.2.0",
@@ -81,25 +82,24 @@
       }
     },
     "node_modules/@babel/code-frame": {
-      "version": "7.24.2",
-      "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz",
-      "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+      "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/highlight": "^7.24.2",
-        "picocolors": "^1.0.0"
+        "@babel/helper-validator-identifier": "^7.27.1",
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.1.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/compat-data": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.4.tgz",
-      "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz",
+      "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
       }
@@ -155,57 +155,42 @@
       }
     },
     "node_modules/@babel/generator": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.4.tgz",
-      "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
+      "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.24.0",
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jsesc": "^2.5.1"
+        "@babel/parser": "^7.28.3",
+        "@babel/types": "^7.28.2",
+        "@jridgewell/gen-mapping": "^0.3.12",
+        "@jridgewell/trace-mapping": "^0.3.28",
+        "jsesc": "^3.0.2"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-annotate-as-pure": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
-      "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
+      "version": "7.27.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
+      "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
-      "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.22.15"
+        "@babel/types": "^7.27.3"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-compilation-targets": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
-      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+      "version": "7.27.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+      "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-validator-option": "^7.23.5",
-        "browserslist": "^4.22.2",
+        "@babel/compat-data": "^7.27.2",
+        "@babel/helper-validator-option": "^7.27.1",
+        "browserslist": "^4.24.0",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
       },
@@ -214,20 +199,17 @@
       }
     },
     "node_modules/@babel/helper-create-class-features-plugin": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz",
-      "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz",
+      "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-member-expression-to-functions": "^7.23.0",
-        "@babel/helper-optimise-call-expression": "^7.22.5",
-        "@babel/helper-replace-supers": "^7.24.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/helper-annotate-as-pure": "^7.27.3",
+        "@babel/helper-member-expression-to-functions": "^7.27.1",
+        "@babel/helper-optimise-call-expression": "^7.27.1",
+        "@babel/helper-replace-supers": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+        "@babel/traverse": "^7.28.3",
         "semver": "^6.3.1"
       },
       "engines": {
@@ -238,14 +220,13 @@
       }
     },
     "node_modules/@babel/helper-create-regexp-features-plugin": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
-      "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz",
+      "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "regexpu-core": "^5.3.1",
+        "@babel/helper-annotate-as-pure": "^7.27.1",
+        "regexpu-core": "^6.2.0",
         "semver": "^6.3.1"
       },
       "engines": {
@@ -256,97 +237,65 @@
       }
     },
     "node_modules/@babel/helper-define-polyfill-provider": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
-      "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
+      "version": "0.6.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
+      "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.22.6",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "debug": "^4.1.1",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "debug": "^4.4.1",
         "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2"
+        "resolve": "^1.22.10"
       },
       "peerDependencies": {
         "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
       }
     },
-    "node_modules/@babel/helper-environment-visitor": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
-      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+    "node_modules/@babel/helper-globals": {
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+      "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-function-name": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
-      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.23.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-hoist-variables": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
-      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-member-expression-to-functions": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
-      "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
+      "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.23.0"
+        "@babel/traverse": "^7.27.1",
+        "@babel/types": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-imports": {
-      "version": "7.24.3",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
-      "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+      "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.24.0"
+        "@babel/traverse": "^7.27.1",
+        "@babel/types": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-module-transforms": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
-      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+      "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-simple-access": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/helper-validator-identifier": "^7.22.20"
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.27.1",
+        "@babel/traverse": "^7.28.3"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -356,38 +305,35 @@
       }
     },
     "node_modules/@babel/helper-optimise-call-expression": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
-      "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
+      "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/types": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-plugin-utils": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
-      "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+      "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-remap-async-to-generator": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
-      "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
+      "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-wrap-function": "^7.22.20"
+        "@babel/helper-annotate-as-pure": "^7.27.1",
+        "@babel/helper-wrap-function": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -397,15 +343,14 @@
       }
     },
     "node_modules/@babel/helper-replace-supers": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz",
-      "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
+      "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-member-expression-to-functions": "^7.23.0",
-        "@babel/helper-optimise-call-expression": "^7.22.5"
+        "@babel/helper-member-expression-to-functions": "^7.27.1",
+        "@babel/helper-optimise-call-expression": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -414,100 +359,66 @@
         "@babel/core": "^7.0.0"
       }
     },
-    "node_modules/@babel/helper-simple-access": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
-      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
     "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
-      "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
+      "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/types": "^7.22.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
-    "node_modules/@babel/helper-split-export-declaration": {
-      "version": "7.22.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
-      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.22.5"
+        "@babel/traverse": "^7.27.1",
+        "@babel/types": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-string-parser": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
-      "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
-      "dev": true,
-      "license": "MIT",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+      "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-identifier": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
-      "dev": true,
-      "license": "MIT",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+      "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-validator-option": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
-      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+      "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helper-wrap-function": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
-      "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz",
+      "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-function-name": "^7.22.5",
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.22.19"
+        "@babel/template": "^7.27.2",
+        "@babel/traverse": "^7.28.3",
+        "@babel/types": "^7.28.2"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/helpers": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.4.tgz",
-      "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz",
+      "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/template": "^7.24.0",
-        "@babel/traverse": "^7.24.1",
-        "@babel/types": "^7.24.0"
+        "@babel/template": "^7.27.2",
+        "@babel/types": "^7.28.2"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -530,10 +441,12 @@
       }
     },
     "node_modules/@babel/parser": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.4.tgz",
-      "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
-      "license": "MIT",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz",
+      "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==",
+      "dependencies": {
+        "@babel/types": "^7.28.2"
+      },
       "bin": {
         "parser": "bin/babel-parser.js"
       },
@@ -542,14 +455,28 @@
       }
     },
     "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz",
-      "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz",
+      "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz",
+      "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -559,13 +486,12 @@
       }
     },
     "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz",
-      "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz",
+      "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -575,15 +501,14 @@
       }
     },
     "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz",
-      "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz",
+      "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/plugin-transform-optional-chaining": "^7.24.1"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+        "@babel/plugin-transform-optional-chaining": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -593,14 +518,13 @@
       }
     },
     "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz",
-      "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz",
+      "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.28.3"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -611,10 +535,10 @@
     },
     "node_modules/@babel/plugin-proposal-class-properties": {
       "version": "7.18.6",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
       "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
+      "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/helper-create-class-features-plugin": "^7.18.6",
         "@babel/helper-plugin-utils": "^7.18.6"
@@ -627,15 +551,14 @@
       }
     },
     "node_modules/@babel/plugin-proposal-decorators": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz",
-      "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz",
+      "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-decorators": "^7.24.1"
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-syntax-decorators": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -646,52 +569,9 @@
     },
     "node_modules/@babel/plugin-proposal-private-property-in-object": {
       "version": "7.21.0-placeholder-for-preset-env.2",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
       "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
       "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
-      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
       "engines": {
         "node": ">=6.9.0"
       },
@@ -700,13 +580,12 @@
       }
     },
     "node_modules/@babel/plugin-syntax-decorators": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz",
-      "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz",
+      "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -717,10 +596,9 @@
     },
     "node_modules/@babel/plugin-syntax-dynamic-import": {
       "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
       "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.8.0"
       },
@@ -728,27 +606,13 @@
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
     "node_modules/@babel/plugin-syntax-import-assertions": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz",
-      "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz",
+      "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -758,165 +622,27 @@
       }
     },
     "node_modules/@babel/plugin-syntax-import-attributes": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz",
-      "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
+      "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-import-meta": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
-      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
       },
       "peerDependencies": {
         "@babel/core": "^7.0.0-0"
       }
     },
     "node_modules/@babel/plugin-syntax-jsx": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz",
-      "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
+      "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
-      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      },
-      "peerDependencies": {
-        "@babel/core": "^7.0.0-0"
-      }
-    },
-    "node_modules/@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
-      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/helper-plugin-utils": "^7.14.5"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -927,10 +653,9 @@
     },
     "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
       "version": "7.18.6",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
       "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/helper-create-regexp-features-plugin": "^7.18.6",
         "@babel/helper-plugin-utils": "^7.18.6"
@@ -943,13 +668,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-arrow-functions": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz",
-      "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
+      "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -959,16 +683,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-async-generator-functions": {
-      "version": "7.24.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz",
-      "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz",
+      "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-remap-async-to-generator": "^7.22.20",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-remap-async-to-generator": "^7.27.1",
+        "@babel/traverse": "^7.28.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -978,15 +700,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-async-to-generator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz",
-      "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz",
+      "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-imports": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-remap-async-to-generator": "^7.22.20"
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-remap-async-to-generator": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -996,13 +717,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz",
-      "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz",
+      "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1012,13 +732,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-block-scoping": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz",
-      "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz",
+      "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1028,14 +747,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-class-properties": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz",
-      "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz",
+      "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1045,15 +763,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-class-static-block": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz",
-      "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz",
+      "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.24.4",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
+        "@babel/helper-create-class-features-plugin": "^7.28.3",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1063,20 +779,17 @@
       }
     },
     "node_modules/@babel/plugin-transform-classes": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz",
-      "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz",
+      "integrity": "sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-replace-supers": "^7.24.1",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "globals": "^11.1.0"
+        "@babel/helper-annotate-as-pure": "^7.27.3",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-globals": "^7.28.0",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-replace-supers": "^7.27.1",
+        "@babel/traverse": "^7.28.3"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1086,14 +799,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-computed-properties": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz",
-      "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
+      "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/template": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/template": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1103,13 +815,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-destructuring": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz",
-      "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz",
+      "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.28.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1119,14 +831,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-dotall-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz",
-      "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz",
+      "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1136,13 +847,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-duplicate-keys": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz",
-      "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz",
+      "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1151,15 +861,45 @@
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-transform-dynamic-import": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz",
-      "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==",
+    "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz",
+      "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-dynamic-import": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz",
+      "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.27.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0-0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-explicit-resource-management": {
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz",
+      "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-transform-destructuring": "^7.28.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1169,14 +909,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz",
-      "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz",
+      "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1186,14 +924,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-export-namespace-from": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz",
-      "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
+      "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1203,14 +939,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-for-of": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz",
-      "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
+      "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1220,15 +955,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-function-name": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz",
-      "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
+      "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-compilation-targets": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1238,14 +972,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-json-strings": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz",
-      "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz",
+      "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1255,13 +987,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz",
-      "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
+      "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1271,14 +1002,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-logical-assignment-operators": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz",
-      "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz",
+      "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1288,13 +1017,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-member-expression-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz",
-      "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz",
+      "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1304,14 +1032,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-amd": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz",
-      "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz",
+      "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1321,15 +1048,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-commonjs": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz",
-      "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz",
+      "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-simple-access": "^7.22.5"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1339,16 +1064,15 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-systemjs": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz",
-      "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz",
+      "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-validator-identifier": "^7.22.20"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1358,14 +1082,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-modules-umd": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz",
-      "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz",
+      "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1375,14 +1098,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
-      "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
+      "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.5",
-        "@babel/helper-plugin-utils": "^7.22.5"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1392,13 +1114,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-new-target": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz",
-      "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz",
+      "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1408,14 +1129,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz",
-      "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz",
+      "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1425,14 +1144,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-numeric-separator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz",
-      "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz",
+      "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1442,16 +1159,16 @@
       }
     },
     "node_modules/@babel/plugin-transform-object-rest-spread": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz",
-      "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz",
+      "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.24.1"
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-transform-destructuring": "^7.28.0",
+        "@babel/plugin-transform-parameters": "^7.27.7",
+        "@babel/traverse": "^7.28.0"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1461,14 +1178,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-object-super": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz",
-      "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz",
+      "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-replace-supers": "^7.24.1"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-replace-supers": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1478,14 +1194,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-optional-catch-binding": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz",
-      "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz",
+      "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1495,15 +1209,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-optional-chaining": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz",
-      "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz",
+      "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1513,13 +1225,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-parameters": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz",
-      "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==",
+      "version": "7.27.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
+      "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1529,14 +1240,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-private-methods": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz",
-      "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz",
+      "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1546,16 +1256,14 @@
       }
     },
     "node_modules/@babel/plugin-transform-private-property-in-object": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz",
-      "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz",
+      "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+        "@babel/helper-annotate-as-pure": "^7.27.1",
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1565,13 +1273,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-property-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz",
-      "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz",
+      "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1581,14 +1288,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-regenerator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz",
-      "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz",
+      "integrity": "sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "regenerator-transform": "^0.15.2"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1597,14 +1302,29 @@
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@babel/plugin-transform-reserved-words": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz",
-      "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==",
+    "node_modules/@babel/plugin-transform-regexp-modifiers": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz",
+      "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
+      },
+      "engines": {
+        "node": ">=6.9.0"
+      },
+      "peerDependencies": {
+        "@babel/core": "^7.0.0"
+      }
+    },
+    "node_modules/@babel/plugin-transform-reserved-words": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz",
+      "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==",
+      "dev": true,
+      "dependencies": {
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1614,17 +1334,16 @@
       }
     },
     "node_modules/@babel/plugin-transform-runtime": {
-      "version": "7.24.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz",
-      "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz",
+      "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-imports": "^7.24.3",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "babel-plugin-polyfill-corejs2": "^0.4.10",
-        "babel-plugin-polyfill-corejs3": "^0.10.1",
-        "babel-plugin-polyfill-regenerator": "^0.6.1",
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "babel-plugin-polyfill-corejs2": "^0.4.14",
+        "babel-plugin-polyfill-corejs3": "^0.13.0",
+        "babel-plugin-polyfill-regenerator": "^0.6.5",
         "semver": "^6.3.1"
       },
       "engines": {
@@ -1635,13 +1354,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-shorthand-properties": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz",
-      "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
+      "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1651,14 +1369,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-spread": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz",
-      "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz",
+      "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1668,13 +1385,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-sticky-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz",
-      "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
+      "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1684,13 +1400,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-template-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz",
-      "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz",
+      "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1700,13 +1415,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-typeof-symbol": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz",
-      "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz",
+      "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1716,13 +1430,12 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-escapes": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz",
-      "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz",
+      "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1732,14 +1445,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-property-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz",
-      "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz",
+      "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1749,14 +1461,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz",
-      "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
+      "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1766,14 +1477,13 @@
       }
     },
     "node_modules/@babel/plugin-transform-unicode-sets-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz",
-      "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz",
+      "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -1783,92 +1493,80 @@
       }
     },
     "node_modules/@babel/preset-env": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.4.tgz",
-      "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz",
+      "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/compat-data": "^7.24.4",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-validator-option": "^7.23.5",
-        "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1",
-        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1",
+        "@babel/compat-data": "^7.28.0",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-validator-option": "^7.27.1",
+        "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
+        "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
+        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
+        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
+        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3",
         "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-import-assertions": "^7.24.1",
-        "@babel/plugin-syntax-import-attributes": "^7.24.1",
-        "@babel/plugin-syntax-import-meta": "^7.10.4",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5",
+        "@babel/plugin-syntax-import-assertions": "^7.27.1",
+        "@babel/plugin-syntax-import-attributes": "^7.27.1",
         "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
-        "@babel/plugin-transform-arrow-functions": "^7.24.1",
-        "@babel/plugin-transform-async-generator-functions": "^7.24.3",
-        "@babel/plugin-transform-async-to-generator": "^7.24.1",
-        "@babel/plugin-transform-block-scoped-functions": "^7.24.1",
-        "@babel/plugin-transform-block-scoping": "^7.24.4",
-        "@babel/plugin-transform-class-properties": "^7.24.1",
-        "@babel/plugin-transform-class-static-block": "^7.24.4",
-        "@babel/plugin-transform-classes": "^7.24.1",
-        "@babel/plugin-transform-computed-properties": "^7.24.1",
-        "@babel/plugin-transform-destructuring": "^7.24.1",
-        "@babel/plugin-transform-dotall-regex": "^7.24.1",
-        "@babel/plugin-transform-duplicate-keys": "^7.24.1",
-        "@babel/plugin-transform-dynamic-import": "^7.24.1",
-        "@babel/plugin-transform-exponentiation-operator": "^7.24.1",
-        "@babel/plugin-transform-export-namespace-from": "^7.24.1",
-        "@babel/plugin-transform-for-of": "^7.24.1",
-        "@babel/plugin-transform-function-name": "^7.24.1",
-        "@babel/plugin-transform-json-strings": "^7.24.1",
-        "@babel/plugin-transform-literals": "^7.24.1",
-        "@babel/plugin-transform-logical-assignment-operators": "^7.24.1",
-        "@babel/plugin-transform-member-expression-literals": "^7.24.1",
-        "@babel/plugin-transform-modules-amd": "^7.24.1",
-        "@babel/plugin-transform-modules-commonjs": "^7.24.1",
-        "@babel/plugin-transform-modules-systemjs": "^7.24.1",
-        "@babel/plugin-transform-modules-umd": "^7.24.1",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
-        "@babel/plugin-transform-new-target": "^7.24.1",
-        "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1",
-        "@babel/plugin-transform-numeric-separator": "^7.24.1",
-        "@babel/plugin-transform-object-rest-spread": "^7.24.1",
-        "@babel/plugin-transform-object-super": "^7.24.1",
-        "@babel/plugin-transform-optional-catch-binding": "^7.24.1",
-        "@babel/plugin-transform-optional-chaining": "^7.24.1",
-        "@babel/plugin-transform-parameters": "^7.24.1",
-        "@babel/plugin-transform-private-methods": "^7.24.1",
-        "@babel/plugin-transform-private-property-in-object": "^7.24.1",
-        "@babel/plugin-transform-property-literals": "^7.24.1",
-        "@babel/plugin-transform-regenerator": "^7.24.1",
-        "@babel/plugin-transform-reserved-words": "^7.24.1",
-        "@babel/plugin-transform-shorthand-properties": "^7.24.1",
-        "@babel/plugin-transform-spread": "^7.24.1",
-        "@babel/plugin-transform-sticky-regex": "^7.24.1",
-        "@babel/plugin-transform-template-literals": "^7.24.1",
-        "@babel/plugin-transform-typeof-symbol": "^7.24.1",
-        "@babel/plugin-transform-unicode-escapes": "^7.24.1",
-        "@babel/plugin-transform-unicode-property-regex": "^7.24.1",
-        "@babel/plugin-transform-unicode-regex": "^7.24.1",
-        "@babel/plugin-transform-unicode-sets-regex": "^7.24.1",
+        "@babel/plugin-transform-arrow-functions": "^7.27.1",
+        "@babel/plugin-transform-async-generator-functions": "^7.28.0",
+        "@babel/plugin-transform-async-to-generator": "^7.27.1",
+        "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
+        "@babel/plugin-transform-block-scoping": "^7.28.0",
+        "@babel/plugin-transform-class-properties": "^7.27.1",
+        "@babel/plugin-transform-class-static-block": "^7.28.3",
+        "@babel/plugin-transform-classes": "^7.28.3",
+        "@babel/plugin-transform-computed-properties": "^7.27.1",
+        "@babel/plugin-transform-destructuring": "^7.28.0",
+        "@babel/plugin-transform-dotall-regex": "^7.27.1",
+        "@babel/plugin-transform-duplicate-keys": "^7.27.1",
+        "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
+        "@babel/plugin-transform-dynamic-import": "^7.27.1",
+        "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
+        "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
+        "@babel/plugin-transform-export-namespace-from": "^7.27.1",
+        "@babel/plugin-transform-for-of": "^7.27.1",
+        "@babel/plugin-transform-function-name": "^7.27.1",
+        "@babel/plugin-transform-json-strings": "^7.27.1",
+        "@babel/plugin-transform-literals": "^7.27.1",
+        "@babel/plugin-transform-logical-assignment-operators": "^7.27.1",
+        "@babel/plugin-transform-member-expression-literals": "^7.27.1",
+        "@babel/plugin-transform-modules-amd": "^7.27.1",
+        "@babel/plugin-transform-modules-commonjs": "^7.27.1",
+        "@babel/plugin-transform-modules-systemjs": "^7.27.1",
+        "@babel/plugin-transform-modules-umd": "^7.27.1",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
+        "@babel/plugin-transform-new-target": "^7.27.1",
+        "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
+        "@babel/plugin-transform-numeric-separator": "^7.27.1",
+        "@babel/plugin-transform-object-rest-spread": "^7.28.0",
+        "@babel/plugin-transform-object-super": "^7.27.1",
+        "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
+        "@babel/plugin-transform-optional-chaining": "^7.27.1",
+        "@babel/plugin-transform-parameters": "^7.27.7",
+        "@babel/plugin-transform-private-methods": "^7.27.1",
+        "@babel/plugin-transform-private-property-in-object": "^7.27.1",
+        "@babel/plugin-transform-property-literals": "^7.27.1",
+        "@babel/plugin-transform-regenerator": "^7.28.3",
+        "@babel/plugin-transform-regexp-modifiers": "^7.27.1",
+        "@babel/plugin-transform-reserved-words": "^7.27.1",
+        "@babel/plugin-transform-shorthand-properties": "^7.27.1",
+        "@babel/plugin-transform-spread": "^7.27.1",
+        "@babel/plugin-transform-sticky-regex": "^7.27.1",
+        "@babel/plugin-transform-template-literals": "^7.27.1",
+        "@babel/plugin-transform-typeof-symbol": "^7.27.1",
+        "@babel/plugin-transform-unicode-escapes": "^7.27.1",
+        "@babel/plugin-transform-unicode-property-regex": "^7.27.1",
+        "@babel/plugin-transform-unicode-regex": "^7.27.1",
+        "@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
         "@babel/preset-modules": "0.1.6-no-external-plugins",
-        "babel-plugin-polyfill-corejs2": "^0.4.10",
-        "babel-plugin-polyfill-corejs3": "^0.10.4",
-        "babel-plugin-polyfill-regenerator": "^0.6.1",
-        "core-js-compat": "^3.31.0",
+        "babel-plugin-polyfill-corejs2": "^0.4.14",
+        "babel-plugin-polyfill-corejs3": "^0.13.0",
+        "babel-plugin-polyfill-regenerator": "^0.6.5",
+        "core-js-compat": "^3.43.0",
         "semver": "^6.3.1"
       },
       "engines": {
@@ -1880,10 +1578,9 @@
     },
     "node_modules/@babel/preset-modules": {
       "version": "0.1.6-no-external-plugins",
-      "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
       "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/helper-plugin-utils": "^7.0.0",
         "@babel/types": "^7.4.4",
@@ -1893,72 +1590,53 @@
         "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
       }
     },
-    "node_modules/@babel/regjsgen": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
-      "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
-      "dev": true,
-      "license": "MIT"
-    },
     "node_modules/@babel/runtime": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.4.tgz",
-      "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==",
-      "license": "MIT",
-      "dependencies": {
-        "regenerator-runtime": "^0.14.0"
-      },
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz",
+      "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==",
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/template": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz",
-      "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
+      "version": "7.27.2",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+      "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/parser": "^7.24.0",
-        "@babel/types": "^7.24.0"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/parser": "^7.27.2",
+        "@babel/types": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/traverse": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.1.tgz",
-      "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz",
+      "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/code-frame": "^7.24.1",
-        "@babel/generator": "^7.24.1",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.24.1",
-        "@babel/types": "^7.24.0",
-        "debug": "^4.3.1",
-        "globals": "^11.1.0"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/generator": "^7.28.3",
+        "@babel/helper-globals": "^7.28.0",
+        "@babel/parser": "^7.28.3",
+        "@babel/template": "^7.27.2",
+        "@babel/types": "^7.28.2",
+        "debug": "^4.3.1"
       },
       "engines": {
         "node": ">=6.9.0"
       }
     },
     "node_modules/@babel/types": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz",
-      "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
-      "dev": true,
-      "license": "MIT",
+      "version": "7.28.2",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz",
+      "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==",
       "dependencies": {
-        "@babel/helper-string-parser": "^7.23.4",
-        "@babel/helper-validator-identifier": "^7.22.20",
-        "to-fast-properties": "^2.0.0"
+        "@babel/helper-string-parser": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.27.1"
       },
       "engines": {
         "node": ">=6.9.0"
@@ -2077,34 +1755,19 @@
       "license": "BSD-3-Clause"
     },
     "node_modules/@jridgewell/gen-mapping": {
-      "version": "0.3.5",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
-      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+      "version": "0.3.13",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@jridgewell/set-array": "^1.2.1",
-        "@jridgewell/sourcemap-codec": "^1.4.10",
+        "@jridgewell/sourcemap-codec": "^1.5.0",
         "@jridgewell/trace-mapping": "^0.3.24"
-      },
-      "engines": {
-        "node": ">=6.0.0"
       }
     },
     "node_modules/@jridgewell/resolve-uri": {
       "version": "3.1.2",
       "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
       "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6.0.0"
-      }
-    },
-    "node_modules/@jridgewell/set-array": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
-      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
       "dev": true,
       "license": "MIT",
       "engines": {
@@ -2123,18 +1786,16 @@
       }
     },
     "node_modules/@jridgewell/sourcemap-codec": {
-      "version": "1.4.15",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
+      "dev": true
     },
     "node_modules/@jridgewell/trace-mapping": {
-      "version": "0.3.25",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-      "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+      "version": "0.3.30",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
+      "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@jridgewell/resolve-uri": "^3.1.0",
         "@jridgewell/sourcemap-codec": "^1.4.14"
@@ -2454,11 +2115,10 @@
       }
     },
     "node_modules/@types/estree": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
-      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+      "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
+      "dev": true
     },
     "node_modules/@types/express": {
       "version": "4.17.21",
@@ -2647,36 +2307,31 @@
     },
     "node_modules/@vue/babel-helper-vue-jsx-merge-props": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
       "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/@vue/babel-helper-vue-transform-on": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.2.tgz",
-      "integrity": "sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz",
+      "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==",
+      "dev": true
     },
     "node_modules/@vue/babel-plugin-jsx": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.2.tgz",
-      "integrity": "sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz",
+      "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-module-imports": "~7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-jsx": "^7.23.3",
-        "@babel/template": "^7.23.9",
-        "@babel/traverse": "^7.23.9",
-        "@babel/types": "^7.23.9",
-        "@vue/babel-helper-vue-transform-on": "1.2.2",
-        "@vue/babel-plugin-resolve-type": "1.2.2",
-        "camelcase": "^6.3.0",
-        "html-tags": "^3.3.1",
-        "svg-tags": "^1.0.0"
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-syntax-jsx": "^7.27.1",
+        "@babel/template": "^7.27.2",
+        "@babel/traverse": "^7.28.0",
+        "@babel/types": "^7.28.2",
+        "@vue/babel-helper-vue-transform-on": "1.5.0",
+        "@vue/babel-plugin-resolve-type": "1.5.0",
+        "@vue/shared": "^3.5.18"
       },
       "peerDependencies": {
         "@babel/core": "^7.0.0-0"
@@ -2687,55 +2342,30 @@
         }
       }
     },
-    "node_modules/@vue/babel-plugin-jsx/node_modules/@babel/helper-module-imports": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-      "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.22.15"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
     "node_modules/@vue/babel-plugin-resolve-type": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.2.tgz",
-      "integrity": "sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz",
+      "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/helper-module-imports": "~7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/parser": "^7.23.9",
-        "@vue/compiler-sfc": "^3.4.15"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/parser": "^7.28.0",
+        "@vue/compiler-sfc": "^3.5.18"
+      },
+      "funding": {
+        "url": "https://github.com/sponsors/sxzz"
       },
       "peerDependencies": {
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@vue/babel-plugin-resolve-type/node_modules/@babel/helper-module-imports": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-      "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/types": "^7.22.15"
-      },
-      "engines": {
-        "node": ">=6.9.0"
-      }
-    },
     "node_modules/@vue/babel-plugin-transform-vue-jsx": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz",
       "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/helper-module-imports": "^7.0.0",
         "@babel/plugin-syntax-jsx": "^7.2.0",
@@ -2748,22 +2378,11 @@
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@vue/babel-plugin-transform-vue-jsx/node_modules/html-tags": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz",
-      "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=4"
-      }
-    },
     "node_modules/@vue/babel-preset-app": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz",
-      "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.9.tgz",
+      "integrity": "sha512-0rKOF4s/AhaRMJLybxOCgXfwtYhO3pwDSL/q/W8wRs1LzmHAc77FyTXWlun6VyKiSKwSdtH7CvOiWqq+DfofdA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/core": "^7.12.16",
         "@babel/helper-compilation-targets": "^7.12.16",
@@ -2796,28 +2415,11 @@
         }
       }
     },
-    "node_modules/@vue/babel-preset-app/node_modules/lru-cache": {
-      "version": "6.0.0",
-      "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
-      "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-      "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "yallist": "^4.0.0"
-      },
-      "engines": {
-        "node": ">=10"
-      }
-    },
     "node_modules/@vue/babel-preset-app/node_modules/semver": {
-      "version": "7.6.0",
-      "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
-      "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
+      "version": "7.7.2",
+      "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+      "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
       "dev": true,
-      "license": "ISC",
-      "dependencies": {
-        "lru-cache": "^6.0.0"
-      },
       "bin": {
         "semver": "bin/semver.js"
       },
@@ -2825,19 +2427,11 @@
         "node": ">=10"
       }
     },
-    "node_modules/@vue/babel-preset-app/node_modules/yallist": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
-      "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
-      "dev": true,
-      "license": "ISC"
-    },
     "node_modules/@vue/babel-preset-jsx": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz",
       "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
         "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
@@ -2860,10 +2454,9 @@
     },
     "node_modules/@vue/babel-sugar-composition-api-inject-h": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz",
       "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/plugin-syntax-jsx": "^7.2.0"
       },
@@ -2873,10 +2466,9 @@
     },
     "node_modules/@vue/babel-sugar-composition-api-render-instance": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz",
       "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/plugin-syntax-jsx": "^7.2.0"
       },
@@ -2886,10 +2478,9 @@
     },
     "node_modules/@vue/babel-sugar-functional-vue": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz",
       "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/plugin-syntax-jsx": "^7.2.0"
       },
@@ -2899,10 +2490,9 @@
     },
     "node_modules/@vue/babel-sugar-inject-h": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz",
       "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/plugin-syntax-jsx": "^7.2.0"
       },
@@ -2912,10 +2502,9 @@
     },
     "node_modules/@vue/babel-sugar-v-model": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz",
       "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/plugin-syntax-jsx": "^7.2.0",
         "@vue/babel-helper-vue-jsx-merge-props": "^1.4.0",
@@ -2928,32 +2517,11 @@
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@vue/babel-sugar-v-model/node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
-    "node_modules/@vue/babel-sugar-v-model/node_modules/html-tags": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz",
-      "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=4"
-      }
-    },
     "node_modules/@vue/babel-sugar-v-on": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz",
       "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/plugin-syntax-jsx": "^7.2.0",
         "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
@@ -2963,33 +2531,21 @@
         "@babel/core": "^7.0.0-0"
       }
     },
-    "node_modules/@vue/babel-sugar-v-on/node_modules/camelcase": {
-      "version": "5.3.1",
-      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
-      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=6"
-      }
-    },
     "node_modules/@vue/cli-overlay": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz",
-      "integrity": "sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==",
-      "dev": true,
-      "license": "MIT"
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.9.tgz",
+      "integrity": "sha512-aBdZWrYKxLuFz1FDsk/muFD7GycrsW73Gi11yRc7R2W7Bm8mDRc9HKAI790gdg4NV+chkDFmfkegjg5iMDEpAA==",
+      "dev": true
     },
     "node_modules/@vue/cli-plugin-babel": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz",
-      "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.9.tgz",
+      "integrity": "sha512-oDZt1Kfe4KGNtig3/3zFo2pIeDJij2uS0M6S+tAqQno4Zpla2D8Hk/AR5PrstUd/HmhHZYJoGyF78MOfj3SbWg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/core": "^7.12.16",
-        "@vue/babel-preset-app": "^5.0.8",
-        "@vue/cli-shared-utils": "^5.0.8",
+        "@vue/babel-preset-app": "^5.0.9",
+        "@vue/cli-shared-utils": "^5.0.9",
         "babel-loader": "^8.2.2",
         "thread-loader": "^3.0.0",
         "webpack": "^5.54.0"
@@ -2999,13 +2555,12 @@
       }
     },
     "node_modules/@vue/cli-plugin-eslint": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz",
-      "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.9.tgz",
+      "integrity": "sha512-OfAa85qhP0dKSprI8+9qjbXW8BzOlOvEtXwdrTrAKlD6aN8oa/u6k4vbfJGdYbpsbpkj8FXYdCRkTgNG8KZbxg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@vue/cli-shared-utils": "^5.0.8",
+        "@vue/cli-shared-utils": "^5.0.9",
         "eslint-webpack-plugin": "^3.1.0",
         "globby": "^11.0.2",
         "webpack": "^5.54.0",
@@ -3017,43 +2572,40 @@
       }
     },
     "node_modules/@vue/cli-plugin-router": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz",
-      "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.9.tgz",
+      "integrity": "sha512-kopbO/8kIl5CAffwgptXEwV509i+M0FfwW4sSkgQ2RzpxOYBjQZvp+096mjZfFcWKSmryNP/ri/Mnu78vmhlhw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@vue/cli-shared-utils": "^5.0.8"
+        "@vue/cli-shared-utils": "^5.0.9"
       },
       "peerDependencies": {
         "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0"
       }
     },
     "node_modules/@vue/cli-plugin-vuex": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz",
-      "integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.9.tgz",
+      "integrity": "sha512-AQhgGNFVd4Pu2crvS0a+hRckgrJv07gzOASdbLd3I72wkT43dd01MLRp8IBRRsu92t3MXenW86AZUCbQBz3//A==",
       "dev": true,
-      "license": "MIT",
       "peerDependencies": {
         "@vue/cli-service": "^3.0.0 || ^4.0.0 || ^5.0.0-0"
       }
     },
     "node_modules/@vue/cli-service": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-5.0.8.tgz",
-      "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.9.tgz",
+      "integrity": "sha512-yTX7GVyM19tEbd+y5/gA6MkVKA6K61nVYHYAivD61Hx6odVFmQsaC3/R3cWAHM1P5oVKCevBbumPljbT+tFG2w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@babel/helper-compilation-targets": "^7.12.16",
         "@soda/friendly-errors-webpack-plugin": "^1.8.0",
         "@soda/get-current-script": "^1.0.2",
         "@types/minimist": "^1.2.0",
-        "@vue/cli-overlay": "^5.0.8",
-        "@vue/cli-plugin-router": "^5.0.8",
-        "@vue/cli-plugin-vuex": "^5.0.8",
-        "@vue/cli-shared-utils": "^5.0.8",
+        "@vue/cli-overlay": "^5.0.9",
+        "@vue/cli-plugin-router": "^5.0.9",
+        "@vue/cli-plugin-vuex": "^5.0.9",
+        "@vue/cli-shared-utils": "^5.0.9",
         "@vue/component-compiler-utils": "^3.3.0",
         "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7",
         "@vue/web-component-wrapper": "^1.3.0",
@@ -3140,11 +2692,10 @@
       }
     },
     "node_modules/@vue/cli-shared-utils": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz",
-      "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.9.tgz",
+      "integrity": "sha512-lf4KykiG8j9KwvNVi7fKtASmHuLsxCcCsflVU2b2CHMRuR4weOIV3zuuCrjWKjk0APn/MHJhgCjJGzHMbTtd5w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@achrinza/node-ipc": "^9.2.5",
         "chalk": "^4.1.2",
@@ -3273,57 +2824,53 @@
       "license": "ISC"
     },
     "node_modules/@vue/compiler-core": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.23.tgz",
-      "integrity": "sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.20.tgz",
+      "integrity": "sha512-8TWXUyiqFd3GmP4JTX9hbiTFRwYHgVL/vr3cqhr4YQ258+9FADwvj7golk2sWNGHR67QgmCZ8gz80nQcMokhwg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/parser": "^7.24.1",
-        "@vue/shared": "3.4.23",
+        "@babel/parser": "^7.28.3",
+        "@vue/shared": "3.5.20",
         "entities": "^4.5.0",
         "estree-walker": "^2.0.2",
-        "source-map-js": "^1.2.0"
+        "source-map-js": "^1.2.1"
       }
     },
     "node_modules/@vue/compiler-dom": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.23.tgz",
-      "integrity": "sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.20.tgz",
+      "integrity": "sha512-whB44M59XKjqUEYOMPYU0ijUV0G+4fdrHVKDe32abNdX/kJe1NUEMqsi4cwzXa9kyM9w5S8WqFsrfo1ogtBZGQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@vue/compiler-core": "3.4.23",
-        "@vue/shared": "3.4.23"
+        "@vue/compiler-core": "3.5.20",
+        "@vue/shared": "3.5.20"
       }
     },
     "node_modules/@vue/compiler-sfc": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.23.tgz",
-      "integrity": "sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.20.tgz",
+      "integrity": "sha512-SFcxapQc0/feWiSBfkGsa1v4DOrnMAQSYuvDMpEaxbpH5dKbnEM5KobSNSgU+1MbHCl+9ftm7oQWxvwDB6iBfw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/parser": "^7.24.1",
-        "@vue/compiler-core": "3.4.23",
-        "@vue/compiler-dom": "3.4.23",
-        "@vue/compiler-ssr": "3.4.23",
-        "@vue/shared": "3.4.23",
+        "@babel/parser": "^7.28.3",
+        "@vue/compiler-core": "3.5.20",
+        "@vue/compiler-dom": "3.5.20",
+        "@vue/compiler-ssr": "3.5.20",
+        "@vue/shared": "3.5.20",
         "estree-walker": "^2.0.2",
-        "magic-string": "^0.30.8",
-        "postcss": "^8.4.38",
-        "source-map-js": "^1.2.0"
+        "magic-string": "^0.30.17",
+        "postcss": "^8.5.6",
+        "source-map-js": "^1.2.1"
       }
     },
     "node_modules/@vue/compiler-ssr": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.23.tgz",
-      "integrity": "sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.20.tgz",
+      "integrity": "sha512-RSl5XAMc5YFUXpDQi+UQDdVjH9FnEpLDHIALg5J0ITHxkEzJ8uQLlo7CIbjPYqmZtt6w0TsIPbo1izYXwDG7JA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@vue/compiler-dom": "3.4.23",
-        "@vue/shared": "3.4.23"
+        "@vue/compiler-dom": "3.5.20",
+        "@vue/shared": "3.5.20"
       }
     },
     "node_modules/@vue/component-compiler-utils": {
@@ -3397,11 +2944,10 @@
       "license": "ISC"
     },
     "node_modules/@vue/shared": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.23.tgz",
-      "integrity": "sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg==",
-      "dev": true,
-      "license": "MIT"
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.20.tgz",
+      "integrity": "sha512-SoRGP596KU/ig6TfgkCMbXkr4YJ91n/QSdMuqeP5r3hVIYA3CPHUBCc7Skak0EAKV+5lL4KyIh61VA/pK1CIAA==",
+      "dev": true
     },
     "node_modules/@vue/vue-loader-v15": {
       "name": "vue-loader",
@@ -3448,179 +2994,162 @@
       "license": "MIT"
     },
     "node_modules/@webassemblyjs/ast": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz",
-      "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
+      "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/helper-numbers": "1.11.6",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+        "@webassemblyjs/helper-numbers": "1.13.2",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
       }
     },
     "node_modules/@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
-      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
+      "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
+      "dev": true
     },
     "node_modules/@webassemblyjs/helper-api-error": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
-      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
+      "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
+      "dev": true
     },
     "node_modules/@webassemblyjs/helper-buffer": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
-      "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
+      "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
+      "dev": true
     },
     "node_modules/@webassemblyjs/helper-numbers": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
-      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
+      "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/floating-point-hex-parser": "1.11.6",
-        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@webassemblyjs/floating-point-hex-parser": "1.13.2",
+        "@webassemblyjs/helper-api-error": "1.13.2",
         "@xtuc/long": "4.2.2"
       }
     },
     "node_modules/@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
-      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
+      "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
+      "dev": true
     },
     "node_modules/@webassemblyjs/helper-wasm-section": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
-      "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
+      "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/wasm-gen": "1.12.1"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-buffer": "1.14.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/wasm-gen": "1.14.1"
       }
     },
     "node_modules/@webassemblyjs/ieee754": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
-      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
+      "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@xtuc/ieee754": "^1.2.0"
       }
     },
     "node_modules/@webassemblyjs/leb128": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
-      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
+      "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
       "dev": true,
-      "license": "Apache-2.0",
       "dependencies": {
         "@xtuc/long": "4.2.2"
       }
     },
     "node_modules/@webassemblyjs/utf8": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
-      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
-      "dev": true,
-      "license": "MIT"
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
+      "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
+      "dev": true
     },
     "node_modules/@webassemblyjs/wasm-edit": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
-      "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
+      "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/helper-wasm-section": "1.12.1",
-        "@webassemblyjs/wasm-gen": "1.12.1",
-        "@webassemblyjs/wasm-opt": "1.12.1",
-        "@webassemblyjs/wasm-parser": "1.12.1",
-        "@webassemblyjs/wast-printer": "1.12.1"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-buffer": "1.14.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/helper-wasm-section": "1.14.1",
+        "@webassemblyjs/wasm-gen": "1.14.1",
+        "@webassemblyjs/wasm-opt": "1.14.1",
+        "@webassemblyjs/wasm-parser": "1.14.1",
+        "@webassemblyjs/wast-printer": "1.14.1"
       }
     },
     "node_modules/@webassemblyjs/wasm-gen": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
-      "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
+      "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/ieee754": "1.11.6",
-        "@webassemblyjs/leb128": "1.11.6",
-        "@webassemblyjs/utf8": "1.11.6"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/ieee754": "1.13.2",
+        "@webassemblyjs/leb128": "1.13.2",
+        "@webassemblyjs/utf8": "1.13.2"
       }
     },
     "node_modules/@webassemblyjs/wasm-opt": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
-      "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
+      "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/wasm-gen": "1.12.1",
-        "@webassemblyjs/wasm-parser": "1.12.1"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-buffer": "1.14.1",
+        "@webassemblyjs/wasm-gen": "1.14.1",
+        "@webassemblyjs/wasm-parser": "1.14.1"
       }
     },
     "node_modules/@webassemblyjs/wasm-parser": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
-      "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
+      "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-api-error": "1.11.6",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/ieee754": "1.11.6",
-        "@webassemblyjs/leb128": "1.11.6",
-        "@webassemblyjs/utf8": "1.11.6"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-api-error": "1.13.2",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/ieee754": "1.13.2",
+        "@webassemblyjs/leb128": "1.13.2",
+        "@webassemblyjs/utf8": "1.13.2"
       }
     },
     "node_modules/@webassemblyjs/wast-printer": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
-      "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
+      "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/ast": "1.14.1",
         "@xtuc/long": "4.2.2"
       }
     },
     "node_modules/@xtuc/ieee754": {
       "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
       "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
-      "dev": true,
-      "license": "BSD-3-Clause"
+      "dev": true
     },
     "node_modules/@xtuc/long": {
       "version": "4.2.2",
-      "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
       "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
-      "dev": true,
-      "license": "Apache-2.0"
+      "dev": true
     },
     "node_modules/abab": {
       "version": "2.0.6",
@@ -3650,11 +3179,10 @@
       }
     },
     "node_modules/acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+      "version": "8.15.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+      "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
       "devOptional": true,
-      "license": "MIT",
       "bin": {
         "acorn": "bin/acorn"
       },
@@ -3693,13 +3221,16 @@
         "node": ">=0.4.0"
       }
     },
-    "node_modules/acorn-import-attributes": {
-      "version": "1.9.5",
-      "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
-      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+    "node_modules/acorn-import-phases": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
+      "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
       "dev": true,
+      "engines": {
+        "node": ">=10.13.0"
+      },
       "peerDependencies": {
-        "acorn": "^8"
+        "acorn": "^8.14.0"
       }
     },
     "node_modules/acorn-jsx": {
@@ -4158,12 +3689,12 @@
       }
     },
     "node_modules/axios": {
-      "version": "1.6.8",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
-      "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz",
+      "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==",
       "dependencies": {
         "follow-redirects": "^1.15.6",
-        "form-data": "^4.0.0",
+        "form-data": "^4.0.4",
         "proxy-from-env": "^1.1.0"
       }
     },
@@ -4209,23 +3740,21 @@
     },
     "node_modules/babel-plugin-dynamic-import-node": {
       "version": "2.3.3",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
       "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "object.assign": "^4.1.0"
       }
     },
     "node_modules/babel-plugin-polyfill-corejs2": {
-      "version": "0.4.10",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
-      "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
+      "version": "0.4.14",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
+      "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/compat-data": "^7.22.6",
-        "@babel/helper-define-polyfill-provider": "^0.6.1",
+        "@babel/compat-data": "^7.27.7",
+        "@babel/helper-define-polyfill-provider": "^0.6.5",
         "semver": "^6.3.1"
       },
       "peerDependencies": {
@@ -4233,27 +3762,25 @@
       }
     },
     "node_modules/babel-plugin-polyfill-corejs3": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
-      "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz",
+      "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.6.1",
-        "core-js-compat": "^3.36.1"
+        "@babel/helper-define-polyfill-provider": "^0.6.5",
+        "core-js-compat": "^3.43.0"
       },
       "peerDependencies": {
         "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
       }
     },
     "node_modules/babel-plugin-polyfill-regenerator": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz",
-      "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==",
+      "version": "0.6.5",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
+      "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/helper-define-polyfill-provider": "^0.6.1"
+        "@babel/helper-define-polyfill-provider": "^0.6.5"
       },
       "peerDependencies": {
         "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -4376,11 +3903,10 @@
       "license": "MIT"
     },
     "node_modules/body-parser": {
-      "version": "1.20.2",
-      "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz",
-      "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
+      "version": "1.20.3",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+      "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "bytes": "3.1.2",
         "content-type": "~1.0.5",
@@ -4390,7 +3916,7 @@
         "http-errors": "2.0.0",
         "iconv-lite": "0.4.24",
         "on-finished": "2.4.1",
-        "qs": "6.11.0",
+        "qs": "6.13.0",
         "raw-body": "2.5.2",
         "type-is": "~1.6.18",
         "unpipe": "1.0.0"
@@ -4400,32 +3926,20 @@
         "npm": "1.2.8000 || >= 1.4.16"
       }
     },
-    "node_modules/body-parser/node_modules/bytes": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
-      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
     "node_modules/body-parser/node_modules/debug": {
       "version": "2.6.9",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "ms": "2.0.0"
       }
     },
     "node_modules/body-parser/node_modules/ms": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
       "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/bonjour-service": {
       "version": "1.2.1",
@@ -4446,24 +3960,22 @@
       "license": "ISC"
     },
     "node_modules/brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "version": "1.1.12",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+      "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
       "devOptional": true,
-      "license": "MIT",
       "dependencies": {
         "balanced-match": "^1.0.0",
         "concat-map": "0.0.1"
       }
     },
     "node_modules/braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "fill-range": "^7.0.1"
+        "fill-range": "^7.1.1"
       },
       "engines": {
         "node": ">=8"
@@ -4476,9 +3988,9 @@
       "optional": true
     },
     "node_modules/browserslist": {
-      "version": "4.23.0",
-      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz",
-      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+      "version": "4.25.4",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz",
+      "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==",
       "dev": true,
       "funding": [
         {
@@ -4494,12 +4006,11 @@
           "url": "https://github.com/sponsors/ai"
         }
       ],
-      "license": "MIT",
       "dependencies": {
-        "caniuse-lite": "^1.0.30001587",
-        "electron-to-chromium": "^1.4.668",
-        "node-releases": "^2.0.14",
-        "update-browserslist-db": "^1.0.13"
+        "caniuse-lite": "^1.0.30001737",
+        "electron-to-chromium": "^1.5.211",
+        "node-releases": "^2.0.19",
+        "update-browserslist-db": "^1.1.3"
       },
       "bin": {
         "browserslist": "cli.js"
@@ -4541,11 +4052,10 @@
       "license": "MIT"
     },
     "node_modules/bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8"
       }
@@ -4592,7 +4102,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
       "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
-      "dev": true,
       "dependencies": {
         "es-errors": "^1.3.0",
         "function-bind": "^1.1.2"
@@ -4639,16 +4148,12 @@
       }
     },
     "node_modules/camelcase": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz",
-      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
-        "node": ">=10"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=6"
       }
     },
     "node_modules/caniuse-api": {
@@ -4665,9 +4170,9 @@
       }
     },
     "node_modules/caniuse-lite": {
-      "version": "1.0.30001610",
-      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz",
-      "integrity": "sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==",
+      "version": "1.0.30001739",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz",
+      "integrity": "sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==",
       "dev": true,
       "funding": [
         {
@@ -4682,8 +4187,7 @@
           "type": "github",
           "url": "https://github.com/sponsors/ai"
         }
-      ],
-      "license": "CC-BY-4.0"
+      ]
     },
     "node_modules/canvas": {
       "version": "2.11.2",
@@ -5134,18 +4638,17 @@
       }
     },
     "node_modules/compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
+      "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
+        "bytes": "3.1.2",
+        "compressible": "~2.0.18",
         "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
+        "negotiator": "~0.6.4",
+        "on-headers": "~1.1.0",
+        "safe-buffer": "5.2.1",
         "vary": "~1.1.2"
       },
       "engines": {
@@ -5169,12 +4672,14 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/compression/node_modules/safe-buffer": {
-      "version": "5.1.2",
-      "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
-      "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+    "node_modules/compression/node_modules/negotiator": {
+      "version": "0.6.4",
+      "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
+      "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
       "dev": true,
-      "license": "MIT"
+      "engines": {
+        "node": ">= 0.6"
+      }
     },
     "node_modules/concat-map": {
       "version": "0.0.1",
@@ -5227,10 +4732,9 @@
     },
     "node_modules/content-type": {
       "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
       "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.6"
       }
@@ -5243,11 +4747,10 @@
       "license": "MIT"
     },
     "node_modules/cookie": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.6.0.tgz",
-      "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
+      "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.6"
       }
@@ -5336,13 +4839,12 @@
       }
     },
     "node_modules/core-js-compat": {
-      "version": "3.37.0",
-      "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.37.0.tgz",
-      "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+      "version": "3.45.1",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz",
+      "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "browserslist": "^4.23.0"
+        "browserslist": "^4.25.3"
       },
       "funding": {
         "type": "opencollective",
@@ -5374,11 +4876,10 @@
       }
     },
     "node_modules/cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+      "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "path-key": "^3.1.0",
         "shebang-command": "^2.0.0",
@@ -5862,13 +5363,12 @@
       "license": "MIT"
     },
     "node_modules/debug": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
-      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+      "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
       "devOptional": true,
-      "license": "MIT",
       "dependencies": {
-        "ms": "2.1.2"
+        "ms": "^2.1.3"
       },
       "engines": {
         "node": ">=6.0"
@@ -6084,20 +5584,18 @@
     },
     "node_modules/depd": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
       "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8"
       }
     },
     "node_modules/destroy": {
       "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
       "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8",
         "npm": "1.2.8000 || >= 1.4.16"
@@ -6310,7 +5808,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
       "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
-      "dev": true,
       "dependencies": {
         "call-bind-apply-helpers": "^1.0.1",
         "es-errors": "^1.3.0",
@@ -6339,17 +5836,15 @@
     },
     "node_modules/ee-first": {
       "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/electron-to-chromium": {
-      "version": "1.4.739",
-      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.739.tgz",
-      "integrity": "sha512-koRkawXOuN9w/ymhTNxGfB8ta4MRKVW0nzifU17G1UwTWlBg0vv7xnz4nxDnRFSBe9nXMGRgICcAzqXc0PmLeA==",
-      "dev": true,
-      "license": "ISC"
+      "version": "1.5.211",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.211.tgz",
+      "integrity": "sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==",
+      "dev": true
     },
     "node_modules/element-ui": {
       "version": "2.15.14",
@@ -6385,11 +5880,10 @@
       }
     },
     "node_modules/encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+      "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8"
       }
@@ -6405,9 +5899,9 @@
       }
     },
     "node_modules/enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+      "version": "5.18.3",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+      "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
       "dev": true,
       "dependencies": {
         "graceful-fs": "^4.2.4",
@@ -6433,10 +5927,9 @@
     },
     "node_modules/entities": {
       "version": "4.5.0",
-      "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
       "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
       "dev": true,
-      "license": "BSD-2-Clause",
       "engines": {
         "node": ">=0.12"
       },
@@ -6549,7 +6042,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
       "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
-      "dev": true,
       "engines": {
         "node": ">= 0.4"
       }
@@ -6558,7 +6050,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
       "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
-      "dev": true,
       "license": "MIT",
       "engines": {
         "node": ">= 0.4"
@@ -6575,7 +6066,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
       "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
-      "dev": true,
       "dependencies": {
         "es-errors": "^1.3.0"
       },
@@ -6587,7 +6077,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
       "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
-      "dev": true,
       "dependencies": {
         "es-errors": "^1.3.0",
         "get-intrinsic": "^1.2.6",
@@ -6616,11 +6105,10 @@
       }
     },
     "node_modules/escalade": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz",
-      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=6"
       }
@@ -7266,10 +6754,9 @@
     },
     "node_modules/estree-walker": {
       "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
       "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/esutils": {
       "version": "2.0.3",
@@ -7283,10 +6770,9 @@
     },
     "node_modules/etag": {
       "version": "1.8.1",
-      "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
       "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.6"
       }
@@ -7338,11 +6824,10 @@
       }
     },
     "node_modules/execa/node_modules/cross-spawn": {
-      "version": "6.0.5",
-      "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz",
-      "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+      "version": "6.0.6",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
+      "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "nice-try": "^1.0.4",
         "path-key": "^2.0.1",
@@ -7469,38 +6954,37 @@
       "dev": true
     },
     "node_modules/express": {
-      "version": "4.19.2",
-      "resolved": "https://registry.npmmirror.com/express/-/express-4.19.2.tgz",
-      "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
+      "version": "4.21.2",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
+      "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "accepts": "~1.3.8",
         "array-flatten": "1.1.1",
-        "body-parser": "1.20.2",
+        "body-parser": "1.20.3",
         "content-disposition": "0.5.4",
         "content-type": "~1.0.4",
-        "cookie": "0.6.0",
+        "cookie": "0.7.1",
         "cookie-signature": "1.0.6",
         "debug": "2.6.9",
         "depd": "2.0.0",
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "etag": "~1.8.1",
-        "finalhandler": "1.2.0",
+        "finalhandler": "1.3.1",
         "fresh": "0.5.2",
         "http-errors": "2.0.0",
-        "merge-descriptors": "1.0.1",
+        "merge-descriptors": "1.0.3",
         "methods": "~1.1.2",
         "on-finished": "2.4.1",
         "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
+        "path-to-regexp": "0.1.12",
         "proxy-addr": "~2.0.7",
-        "qs": "6.11.0",
+        "qs": "6.13.0",
         "range-parser": "~1.2.1",
         "safe-buffer": "5.2.1",
-        "send": "0.18.0",
-        "serve-static": "1.15.0",
+        "send": "0.19.0",
+        "serve-static": "1.16.2",
         "setprototypeof": "1.2.0",
         "statuses": "2.0.1",
         "type-is": "~1.6.18",
@@ -7509,6 +6993,10 @@
       },
       "engines": {
         "node": ">= 0.10.0"
+      },
+      "funding": {
+        "type": "opencollective",
+        "url": "https://opencollective.com/express"
       }
     },
     "node_modules/express/node_modules/debug": {
@@ -7622,6 +7110,22 @@
       "dev": true,
       "license": "MIT"
     },
+    "node_modules/fast-uri": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+      "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "github",
+          "url": "https://github.com/sponsors/fastify"
+        },
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/fastify"
+        }
+      ]
+    },
     "node_modules/fastq": {
       "version": "1.17.1",
       "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz",
@@ -7672,11 +7176,10 @@
       }
     },
     "node_modules/fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "to-regex-range": "^5.0.1"
       },
@@ -7685,14 +7188,13 @@
       }
     },
     "node_modules/finalhandler": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz",
-      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
+      "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "on-finished": "2.4.1",
         "parseurl": "~1.3.3",
@@ -7705,20 +7207,18 @@
     },
     "node_modules/finalhandler/node_modules/debug": {
       "version": "2.6.9",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "ms": "2.0.0"
       }
     },
     "node_modules/finalhandler/node_modules/ms": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
       "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/find-cache-dir": {
       "version": "3.3.2",
@@ -7829,12 +7329,14 @@
       }
     },
     "node_modules/form-data": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
-      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
+      "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
       "dependencies": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.8",
+        "es-set-tostringtag": "^2.1.0",
+        "hasown": "^2.0.2",
         "mime-types": "^2.1.12"
       },
       "engines": {
@@ -7879,10 +7381,9 @@
     },
     "node_modules/fresh": {
       "version": "0.5.2",
-      "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
       "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.6"
       }
@@ -7947,7 +7448,6 @@
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
       "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-      "dev": true,
       "license": "MIT",
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
@@ -8034,7 +7534,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
       "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
-      "dev": true,
       "dependencies": {
         "call-bind-apply-helpers": "^1.0.2",
         "es-define-property": "^1.0.1",
@@ -8058,7 +7557,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
       "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
-      "dev": true,
       "dependencies": {
         "dunder-proto": "^1.0.1",
         "es-object-atoms": "^1.0.0"
@@ -8147,16 +7645,6 @@
       "dev": true,
       "license": "BSD-2-Clause"
     },
-    "node_modules/globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=4"
-      }
-    },
     "node_modules/globalthis": {
       "version": "1.0.4",
       "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz",
@@ -8208,7 +7696,6 @@
       "version": "1.2.0",
       "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
       "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
-      "dev": true,
       "engines": {
         "node": ">= 0.4"
       },
@@ -8321,7 +7808,6 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
       "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
-      "dev": true,
       "engines": {
         "node": ">= 0.4"
       },
@@ -8333,7 +7819,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
       "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
-      "dev": true,
       "dependencies": {
         "has-symbols": "^1.0.3"
       },
@@ -8424,7 +7909,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
       "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
-      "dev": true,
       "license": "MIT",
       "dependencies": {
         "function-bind": "^1.1.2"
@@ -8565,16 +8049,12 @@
       }
     },
     "node_modules/html-tags": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz",
-      "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
+      "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
       "dev": true,
-      "license": "MIT",
       "engines": {
-        "node": ">=8"
-      },
-      "funding": {
-        "url": "https://github.com/sponsors/sindresorhus"
+        "node": ">=4"
       }
     },
     "node_modules/html-webpack-plugin": {
@@ -8649,10 +8129,9 @@
     },
     "node_modules/http-errors": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
       "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "depd": "2.0.0",
         "inherits": "2.0.4",
@@ -8701,11 +8180,10 @@
       }
     },
     "node_modules/http-proxy-middleware": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
-      "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
+      "version": "2.0.9",
+      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz",
+      "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "@types/http-proxy": "^1.17.8",
         "http-proxy": "^1.18.1",
@@ -8750,10 +8228,9 @@
     },
     "node_modules/iconv-lite": {
       "version": "0.4.24",
-      "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
       "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "safer-buffer": ">= 2.1.2 < 3"
       },
@@ -9025,13 +8502,15 @@
       }
     },
     "node_modules/is-core-module": {
-      "version": "2.13.1",
-      "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz",
-      "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+      "version": "2.16.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+      "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "hasown": "^2.0.0"
+        "hasown": "^2.0.2"
+      },
+      "engines": {
+        "node": ">= 0.4"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
@@ -9232,10 +8711,9 @@
     },
     "node_modules/is-number": {
       "version": "7.0.0",
-      "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=0.12.0"
       }
@@ -9706,16 +9184,15 @@
       }
     },
     "node_modules/jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+      "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
       "dev": true,
-      "license": "MIT",
       "bin": {
         "jsesc": "bin/jsesc"
       },
       "engines": {
-        "node": ">=4"
+        "node": ">=6"
       }
     },
     "node_modules/json-buffer": {
@@ -9996,10 +9473,9 @@
     },
     "node_modules/lodash.debounce": {
       "version": "4.0.8",
-      "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
       "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/lodash.defaultsdeep": {
       "version": "4.6.1",
@@ -10010,10 +9486,9 @@
     },
     "node_modules/lodash.kebabcase": {
       "version": "4.1.1",
-      "resolved": "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
+      "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
       "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/lodash.mapvalues": {
       "version": "4.6.0",
@@ -10290,13 +9765,12 @@
       }
     },
     "node_modules/magic-string": {
-      "version": "0.30.10",
-      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.10.tgz",
-      "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
+      "version": "0.30.18",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz",
+      "integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@jridgewell/sourcemap-codec": "^1.4.15"
+        "@jridgewell/sourcemap-codec": "^1.5.5"
       }
     },
     "node_modules/make-dir": {
@@ -10340,15 +9814,14 @@
       "version": "1.1.0",
       "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
       "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
-      "dev": true,
       "engines": {
         "node": ">= 0.4"
       }
     },
     "node_modules/mathlive": {
-      "version": "0.101.0",
-      "resolved": "https://registry.npmmirror.com/mathlive/-/mathlive-0.101.0.tgz",
-      "integrity": "sha512-/4pXiqttFhThEQ2oxEZjTFyMuVLc0cEe3GjczncaH/bP9ZYhkmlFIWNzyU9zYXzS8YugczAL7trENdCXukXBgA==",
+      "version": "0.101.2",
+      "resolved": "https://registry.npmjs.org/mathlive/-/mathlive-0.101.2.tgz",
+      "integrity": "sha512-PJiJogNcaVgyk34YgJ+jQ460lkBWIQ7u1WSQb/NchZ98NBPxQRwjM6xt7mYVK5n+9O5L/mq3cNXtfcG6hP4VNg==",
       "dependencies": {
         "@cortex-js/compute-engine": "0.24.1"
       },
@@ -10370,10 +9843,9 @@
     },
     "node_modules/media-typer": {
       "version": "0.3.0",
-      "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
       "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.6"
       }
@@ -10392,11 +9864,13 @@
       }
     },
     "node_modules/merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+      "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
       "dev": true,
-      "license": "MIT"
+      "funding": {
+        "url": "https://github.com/sponsors/sindresorhus"
+      }
     },
     "node_modules/merge-options": {
       "version": "1.0.1",
@@ -10457,13 +9931,12 @@
       }
     },
     "node_modules/micromatch": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
-      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "braces": "^3.0.2",
+        "braces": "^3.0.3",
         "picomatch": "^2.3.1"
       },
       "engines": {
@@ -10743,11 +10216,10 @@
       }
     },
     "node_modules/ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
-      "devOptional": true,
-      "license": "MIT"
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+      "devOptional": true
     },
     "node_modules/multicast-dns": {
       "version": "7.2.5",
@@ -10782,16 +10254,15 @@
       "optional": true
     },
     "node_modules/nanoid": {
-      "version": "3.3.7",
-      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
-      "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
+      "version": "3.3.11",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+      "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
       "funding": [
         {
           "type": "github",
           "url": "https://github.com/sponsors/ai"
         }
       ],
-      "license": "MIT",
       "bin": {
         "nanoid": "bin/nanoid.cjs"
       },
@@ -10963,11 +10434,10 @@
       }
     },
     "node_modules/node-releases": {
-      "version": "2.0.14",
-      "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz",
-      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
-      "dev": true,
-      "license": "MIT"
+      "version": "2.0.19",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+      "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
+      "dev": true
     },
     "node_modules/nopt": {
       "version": "5.0.0",
@@ -11236,10 +10706,9 @@
     },
     "node_modules/on-finished": {
       "version": "2.4.1",
-      "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
       "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "ee-first": "1.1.1"
       },
@@ -11248,11 +10717,10 @@
       }
     },
     "node_modules/on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
+      "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8"
       }
@@ -11653,11 +11121,10 @@
       "license": "MIT"
     },
     "node_modules/path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
-      "dev": true,
-      "license": "MIT"
+      "version": "0.1.12",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
+      "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
+      "dev": true
     },
     "node_modules/path-type": {
       "version": "4.0.0",
@@ -11670,10 +11137,9 @@
       }
     },
     "node_modules/picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
-      "license": "ISC"
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
     },
     "node_modules/picomatch": {
       "version": "2.3.1",
@@ -11755,9 +11221,9 @@
       }
     },
     "node_modules/postcss": {
-      "version": "8.4.38",
-      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz",
-      "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
+      "version": "8.5.6",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+      "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
       "funding": [
         {
           "type": "opencollective",
@@ -11772,11 +11238,10 @@
           "url": "https://github.com/sponsors/ai"
         }
       ],
-      "license": "MIT",
       "dependencies": {
-        "nanoid": "^3.3.7",
-        "picocolors": "^1.0.0",
-        "source-map-js": "^1.2.0"
+        "nanoid": "^3.3.11",
+        "picocolors": "^1.1.1",
+        "source-map-js": "^1.2.1"
       },
       "engines": {
         "node": "^10 || ^12 || >=14"
@@ -12661,13 +12126,12 @@
       }
     },
     "node_modules/qs": {
-      "version": "6.11.0",
-      "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
-      "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+      "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
       "dev": true,
-      "license": "BSD-3-Clause",
       "dependencies": {
-        "side-channel": "^1.0.4"
+        "side-channel": "^1.0.6"
       },
       "engines": {
         "node": ">=0.6"
@@ -12738,26 +12202,15 @@
     },
     "node_modules/raw-body": {
       "version": "2.5.2",
-      "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
       "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "bytes": "3.1.2",
         "http-errors": "2.0.0",
         "iconv-lite": "0.4.24",
         "unpipe": "1.0.0"
       },
-      "engines": {
-        "node": ">= 0.8"
-      }
-    },
-    "node_modules/raw-body/node_modules/bytes": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
-      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
-      "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8"
       }
@@ -12858,38 +12311,20 @@
     },
     "node_modules/regenerate": {
       "version": "1.4.2",
-      "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
       "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
     "node_modules/regenerate-unicode-properties": {
-      "version": "10.1.1",
-      "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
-      "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
+      "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "regenerate": "^1.4.2"
       },
       "engines": {
         "node": ">=4"
-      }
-    },
-    "node_modules/regenerator-runtime": {
-      "version": "0.14.1",
-      "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
-      "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
-      "license": "MIT"
-    },
-    "node_modules/regenerator-transform": {
-      "version": "0.15.2",
-      "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
-      "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
-      "dev": true,
-      "license": "MIT",
-      "dependencies": {
-        "@babel/runtime": "^7.8.4"
       }
     },
     "node_modules/regex-not": {
@@ -12964,16 +12399,15 @@
       }
     },
     "node_modules/regexpu-core": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz",
-      "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
+      "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@babel/regjsgen": "^0.8.0",
         "regenerate": "^1.4.2",
-        "regenerate-unicode-properties": "^10.1.0",
-        "regjsparser": "^0.9.1",
+        "regenerate-unicode-properties": "^10.2.0",
+        "regjsgen": "^0.8.0",
+        "regjsparser": "^0.12.0",
         "unicode-match-property-ecmascript": "^2.0.0",
         "unicode-match-property-value-ecmascript": "^2.1.0"
       },
@@ -12981,26 +12415,34 @@
         "node": ">=4"
       }
     },
+    "node_modules/regjsgen": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
+      "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
+      "dev": true
+    },
     "node_modules/regjsparser": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz",
-      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
+      "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
       "dev": true,
-      "license": "BSD-2-Clause",
       "dependencies": {
-        "jsesc": "~0.5.0"
+        "jsesc": "~3.0.2"
       },
       "bin": {
         "regjsparser": "bin/parser"
       }
     },
     "node_modules/regjsparser/node_modules/jsesc": {
-      "version": "0.5.0",
-      "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz",
-      "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+      "version": "3.0.2",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+      "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
       "dev": true,
       "bin": {
         "jsesc": "bin/jsesc"
+      },
+      "engines": {
+        "node": ">=6"
       }
     },
     "node_modules/relateurl": {
@@ -13078,18 +12520,20 @@
       "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
     },
     "node_modules/resolve": {
-      "version": "1.22.8",
-      "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz",
-      "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+      "version": "1.22.10",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+      "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "is-core-module": "^2.13.0",
+        "is-core-module": "^2.16.0",
         "path-parse": "^1.0.7",
         "supports-preserve-symlinks-flag": "^1.0.0"
       },
       "bin": {
         "resolve": "bin/resolve"
+      },
+      "engines": {
+        "node": ">= 0.4"
       },
       "funding": {
         "url": "https://github.com/sponsors/ljharb"
@@ -13367,11 +12811,10 @@
       }
     },
     "node_modules/send": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz",
-      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "version": "0.19.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+      "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "debug": "2.6.9",
         "depd": "2.0.0",
@@ -13393,27 +12836,27 @@
     },
     "node_modules/send/node_modules/debug": {
       "version": "2.6.9",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
       "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "ms": "2.0.0"
       }
     },
     "node_modules/send/node_modules/debug/node_modules/ms": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
       "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
-      "dev": true,
-      "license": "MIT"
+      "dev": true
     },
-    "node_modules/send/node_modules/ms": {
-      "version": "2.1.3",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
-      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+    "node_modules/send/node_modules/encodeurl": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
       "dev": true,
-      "license": "MIT"
+      "engines": {
+        "node": ">= 0.8"
+      }
     },
     "node_modules/serialize-javascript": {
       "version": "6.0.2",
@@ -13512,16 +12955,15 @@
       }
     },
     "node_modules/serve-static": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz",
-      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "version": "1.16.2",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+      "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "parseurl": "~1.3.3",
-        "send": "0.18.0"
+        "send": "0.19.0"
       },
       "engines": {
         "node": ">= 0.8.0"
@@ -13597,10 +13039,9 @@
     },
     "node_modules/setprototypeof": {
       "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
       "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
-      "dev": true,
-      "license": "ISC"
+      "dev": true
     },
     "node_modules/shallow-clone": {
       "version": "3.0.1",
@@ -13970,10 +13411,9 @@
       }
     },
     "node_modules/source-map-js": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz",
-      "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
-      "license": "BSD-3-Clause",
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
       "engines": {
         "node": ">=0.10.0"
       }
@@ -14199,10 +13639,9 @@
     },
     "node_modules/statuses": {
       "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
       "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8"
       }
@@ -14695,7 +14134,7 @@
     },
     "node_modules/svg-tags": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
       "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
       "dev": true
     },
@@ -14856,14 +14295,13 @@
       "optional": true
     },
     "node_modules/terser": {
-      "version": "5.30.3",
-      "resolved": "https://registry.npmmirror.com/terser/-/terser-5.30.3.tgz",
-      "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==",
+      "version": "5.43.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
+      "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
       "dev": true,
-      "license": "BSD-2-Clause",
       "dependencies": {
         "@jridgewell/source-map": "^0.3.3",
-        "acorn": "^8.8.2",
+        "acorn": "^8.14.0",
         "commander": "^2.20.0",
         "source-map-support": "~0.5.20"
       },
@@ -14875,17 +14313,16 @@
       }
     },
     "node_modules/terser-webpack-plugin": {
-      "version": "5.3.10",
-      "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
-      "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
+      "version": "5.3.14",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz",
+      "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@jridgewell/trace-mapping": "^0.3.20",
+        "@jridgewell/trace-mapping": "^0.3.25",
         "jest-worker": "^27.4.5",
-        "schema-utils": "^3.1.1",
-        "serialize-javascript": "^6.0.1",
-        "terser": "^5.26.0"
+        "schema-utils": "^4.3.0",
+        "serialize-javascript": "^6.0.2",
+        "terser": "^5.31.1"
       },
       "engines": {
         "node": ">= 10.13.0"
@@ -14909,16 +14346,50 @@
         }
       }
     },
-    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+    "node_modules/terser-webpack-plugin/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+      "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.3"
+      },
+      "peerDependencies": {
+        "ajv": "^8.8.2"
+      }
+    },
+    "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true
+    },
+    "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
+      "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.9",
+        "ajv": "^8.9.0",
+        "ajv-formats": "^2.1.1",
+        "ajv-keywords": "^5.1.0"
       },
       "engines": {
         "node": ">= 10.13.0"
@@ -15039,19 +14510,9 @@
       "license": "MIT"
     },
     "node_modules/tinymce": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmmirror.com/tinymce/-/tinymce-5.4.1.tgz",
-      "integrity": "sha512-eUjwDVCTSHSnFfpzX5TjTHXsGj5gvPQwzo3RFDF374gfK5voHqcRGojvQnu4NtNW1BAb012/KW1tkXBbUrEveg=="
-    },
-    "node_modules/to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
-      "dev": true,
-      "license": "MIT",
-      "engines": {
-        "node": ">=4"
-      }
+      "version": "5.10.9",
+      "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.10.9.tgz",
+      "integrity": "sha512-5bkrors87X9LhYX2xq8GgPHrIgJYHl87YNs+kBcjQ5I3CiUgzo/vFcGvT3MZQ9QHsEeYMhYO6a5CLGGffR8hMg=="
     },
     "node_modules/to-object-path": {
       "version": "0.3.0",
@@ -15094,10 +14555,9 @@
     },
     "node_modules/to-regex-range": {
       "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "is-number": "^7.0.0"
       },
@@ -15145,10 +14605,9 @@
     },
     "node_modules/toidentifier": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
       "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=0.6"
       }
@@ -15243,10 +14702,9 @@
     },
     "node_modules/type-is": {
       "version": "1.6.18",
-      "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
       "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "media-typer": "0.3.0",
         "mime-types": "~2.1.24"
@@ -15377,21 +14835,19 @@
       "license": "MIT"
     },
     "node_modules/unicode-canonical-property-names-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+      "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=4"
       }
     },
     "node_modules/unicode-match-property-ecmascript": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
       "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
         "unicode-canonical-property-names-ecmascript": "^2.0.0",
         "unicode-property-aliases-ecmascript": "^2.0.0"
@@ -15401,21 +14857,19 @@
       }
     },
     "node_modules/unicode-match-property-value-ecmascript": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
-      "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
+      "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=4"
       }
     },
     "node_modules/unicode-property-aliases-ecmascript": {
       "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
       "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=4"
       }
@@ -15456,10 +14910,9 @@
     },
     "node_modules/unpipe": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
       "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">= 0.8"
       }
@@ -15513,9 +14966,9 @@
       }
     },
     "node_modules/update-browserslist-db": {
-      "version": "1.0.13",
-      "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
-      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+      "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
       "dev": true,
       "funding": [
         {
@@ -15531,10 +14984,9 @@
           "url": "https://github.com/sponsors/ai"
         }
       ],
-      "license": "MIT",
       "dependencies": {
-        "escalade": "^3.1.1",
-        "picocolors": "^1.0.0"
+        "escalade": "^3.2.0",
+        "picocolors": "^1.1.1"
       },
       "bin": {
         "update-browserslist-db": "cli.js"
@@ -16020,21 +15472,22 @@
       "license": "BSD-2-Clause"
     },
     "node_modules/webpack": {
-      "version": "5.93.0",
-      "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.93.0.tgz",
-      "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==",
+      "version": "5.101.3",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz",
+      "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==",
       "dev": true,
       "dependencies": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.5",
-        "@webassemblyjs/ast": "^1.12.1",
-        "@webassemblyjs/wasm-edit": "^1.12.1",
-        "@webassemblyjs/wasm-parser": "^1.12.1",
-        "acorn": "^8.7.1",
-        "acorn-import-attributes": "^1.9.5",
-        "browserslist": "^4.21.10",
+        "@types/eslint-scope": "^3.7.7",
+        "@types/estree": "^1.0.8",
+        "@types/json-schema": "^7.0.15",
+        "@webassemblyjs/ast": "^1.14.1",
+        "@webassemblyjs/wasm-edit": "^1.14.1",
+        "@webassemblyjs/wasm-parser": "^1.14.1",
+        "acorn": "^8.15.0",
+        "acorn-import-phases": "^1.0.3",
+        "browserslist": "^4.24.0",
         "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.17.0",
+        "enhanced-resolve": "^5.17.3",
         "es-module-lexer": "^1.2.1",
         "eslint-scope": "5.1.1",
         "events": "^3.2.0",
@@ -16044,11 +15497,11 @@
         "loader-runner": "^4.2.0",
         "mime-types": "^2.1.27",
         "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
+        "schema-utils": "^4.3.2",
         "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.10",
+        "terser-webpack-plugin": "^5.3.11",
         "watchpack": "^2.4.1",
-        "webpack-sources": "^3.2.3"
+        "webpack-sources": "^3.3.3"
       },
       "bin": {
         "webpack": "bin/webpack.js"
@@ -16329,11 +15782,10 @@
       }
     },
     "node_modules/webpack-dev-server/node_modules/ws": {
-      "version": "8.16.0",
-      "resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz",
-      "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
+      "version": "8.18.3",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+      "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=10.0.0"
       },
@@ -16366,11 +15818,10 @@
       }
     },
     "node_modules/webpack-sources": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz",
-      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
+      "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=10.13.0"
       }
@@ -16382,16 +15833,50 @@
       "dev": true,
       "license": "MIT"
     },
-    "node_modules/webpack/node_modules/schema-utils": {
-      "version": "3.3.0",
-      "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
-      "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+    "node_modules/webpack/node_modules/ajv": {
+      "version": "8.17.1",
+      "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+      "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
       "dev": true,
-      "license": "MIT",
       "dependencies": {
-        "@types/json-schema": "^7.0.8",
-        "ajv": "^6.12.5",
-        "ajv-keywords": "^3.5.2"
+        "fast-deep-equal": "^3.1.3",
+        "fast-uri": "^3.0.1",
+        "json-schema-traverse": "^1.0.0",
+        "require-from-string": "^2.0.2"
+      },
+      "funding": {
+        "type": "github",
+        "url": "https://github.com/sponsors/epoberezkin"
+      }
+    },
+    "node_modules/webpack/node_modules/ajv-keywords": {
+      "version": "5.1.0",
+      "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+      "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+      "dev": true,
+      "dependencies": {
+        "fast-deep-equal": "^3.1.3"
+      },
+      "peerDependencies": {
+        "ajv": "^8.8.2"
+      }
+    },
+    "node_modules/webpack/node_modules/json-schema-traverse": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+      "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+      "dev": true
+    },
+    "node_modules/webpack/node_modules/schema-utils": {
+      "version": "4.3.2",
+      "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
+      "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
+      "dev": true,
+      "dependencies": {
+        "@types/json-schema": "^7.0.9",
+        "ajv": "^8.9.0",
+        "ajv-formats": "^2.1.1",
+        "ajv-keywords": "^5.1.0"
       },
       "engines": {
         "node": ">= 10.13.0"
@@ -16662,11 +16147,10 @@
       "license": "ISC"
     },
     "node_modules/ws": {
-      "version": "7.5.9",
-      "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz",
-      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+      "version": "7.5.10",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+      "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
       "dev": true,
-      "license": "MIT",
       "engines": {
         "node": ">=8.3.0"
       },
@@ -16752,6 +16236,19 @@
       "license": "ISC",
       "engines": {
         "node": ">=10"
+      }
+    },
+    "node_modules/yarn": {
+      "version": "1.22.22",
+      "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz",
+      "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==",
+      "hasInstallScript": true,
+      "bin": {
+        "yarn": "bin/yarn.js",
+        "yarnpkg": "bin/yarn.js"
+      },
+      "engines": {
+        "node": ">=4.0.0"
       }
     },
     "node_modules/yorkie": {
@@ -16906,19 +16403,20 @@
       }
     },
     "@babel/code-frame": {
-      "version": "7.24.2",
-      "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz",
-      "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz",
+      "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==",
       "dev": true,
       "requires": {
-        "@babel/highlight": "^7.24.2",
-        "picocolors": "^1.0.0"
+        "@babel/helper-validator-identifier": "^7.27.1",
+        "js-tokens": "^4.0.0",
+        "picocolors": "^1.1.1"
       }
     },
     "@babel/compat-data": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.4.tgz",
-      "integrity": "sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz",
+      "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==",
       "dev": true
     },
     "@babel/core": {
@@ -16956,247 +16454,198 @@
       }
     },
     "@babel/generator": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.4.tgz",
-      "integrity": "sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz",
+      "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.24.0",
-        "@jridgewell/gen-mapping": "^0.3.5",
-        "@jridgewell/trace-mapping": "^0.3.25",
-        "jsesc": "^2.5.1"
+        "@babel/parser": "^7.28.3",
+        "@babel/types": "^7.28.2",
+        "@jridgewell/gen-mapping": "^0.3.12",
+        "@jridgewell/trace-mapping": "^0.3.28",
+        "jsesc": "^3.0.2"
       }
     },
     "@babel/helper-annotate-as-pure": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
-      "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
+      "version": "7.27.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz",
+      "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.5"
-      }
-    },
-    "@babel/helper-builder-binary-assignment-operator-visitor": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz",
-      "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.22.15"
+        "@babel/types": "^7.27.3"
       }
     },
     "@babel/helper-compilation-targets": {
-      "version": "7.23.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
-      "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+      "version": "7.27.2",
+      "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz",
+      "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.23.5",
-        "@babel/helper-validator-option": "^7.23.5",
-        "browserslist": "^4.22.2",
+        "@babel/compat-data": "^7.27.2",
+        "@babel/helper-validator-option": "^7.27.1",
+        "browserslist": "^4.24.0",
         "lru-cache": "^5.1.1",
         "semver": "^6.3.1"
       }
     },
     "@babel/helper-create-class-features-plugin": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz",
-      "integrity": "sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz",
+      "integrity": "sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-member-expression-to-functions": "^7.23.0",
-        "@babel/helper-optimise-call-expression": "^7.22.5",
-        "@babel/helper-replace-supers": "^7.24.1",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
+        "@babel/helper-annotate-as-pure": "^7.27.3",
+        "@babel/helper-member-expression-to-functions": "^7.27.1",
+        "@babel/helper-optimise-call-expression": "^7.27.1",
+        "@babel/helper-replace-supers": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+        "@babel/traverse": "^7.28.3",
         "semver": "^6.3.1"
       }
     },
     "@babel/helper-create-regexp-features-plugin": {
-      "version": "7.22.15",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz",
-      "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz",
+      "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "regexpu-core": "^5.3.1",
+        "@babel/helper-annotate-as-pure": "^7.27.1",
+        "regexpu-core": "^6.2.0",
         "semver": "^6.3.1"
       }
     },
     "@babel/helper-define-polyfill-provider": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz",
-      "integrity": "sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==",
+      "version": "0.6.5",
+      "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz",
+      "integrity": "sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==",
       "dev": true,
       "requires": {
-        "@babel/helper-compilation-targets": "^7.22.6",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "debug": "^4.1.1",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "debug": "^4.4.1",
         "lodash.debounce": "^4.0.8",
-        "resolve": "^1.14.2"
+        "resolve": "^1.22.10"
       }
     },
-    "@babel/helper-environment-visitor": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
-      "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+    "@babel/helper-globals": {
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz",
+      "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==",
       "dev": true
     },
-    "@babel/helper-function-name": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
-      "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
-      "dev": true,
-      "requires": {
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.23.0"
-      }
-    },
-    "@babel/helper-hoist-variables": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
-      "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.22.5"
-      }
-    },
     "@babel/helper-member-expression-to-functions": {
-      "version": "7.23.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz",
-      "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz",
+      "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.23.0"
+        "@babel/traverse": "^7.27.1",
+        "@babel/types": "^7.27.1"
       }
     },
     "@babel/helper-module-imports": {
-      "version": "7.24.3",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz",
-      "integrity": "sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz",
+      "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.24.0"
+        "@babel/traverse": "^7.27.1",
+        "@babel/types": "^7.27.1"
       }
     },
     "@babel/helper-module-transforms": {
-      "version": "7.23.3",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
-      "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz",
+      "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==",
       "dev": true,
       "requires": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-module-imports": "^7.22.15",
-        "@babel/helper-simple-access": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/helper-validator-identifier": "^7.22.20"
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.27.1",
+        "@babel/traverse": "^7.28.3"
       }
     },
     "@babel/helper-optimise-call-expression": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
-      "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz",
+      "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.5"
+        "@babel/types": "^7.27.1"
       }
     },
     "@babel/helper-plugin-utils": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
-      "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz",
+      "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==",
       "dev": true
     },
     "@babel/helper-remap-async-to-generator": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz",
-      "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz",
+      "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-wrap-function": "^7.22.20"
+        "@babel/helper-annotate-as-pure": "^7.27.1",
+        "@babel/helper-wrap-function": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       }
     },
     "@babel/helper-replace-supers": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz",
-      "integrity": "sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz",
+      "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==",
       "dev": true,
       "requires": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-member-expression-to-functions": "^7.23.0",
-        "@babel/helper-optimise-call-expression": "^7.22.5"
-      }
-    },
-    "@babel/helper-simple-access": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
-      "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.22.5"
+        "@babel/helper-member-expression-to-functions": "^7.27.1",
+        "@babel/helper-optimise-call-expression": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       }
     },
     "@babel/helper-skip-transparent-expression-wrappers": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
-      "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz",
+      "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==",
       "dev": true,
       "requires": {
-        "@babel/types": "^7.22.5"
-      }
-    },
-    "@babel/helper-split-export-declaration": {
-      "version": "7.22.6",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
-      "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
-      "dev": true,
-      "requires": {
-        "@babel/types": "^7.22.5"
+        "@babel/traverse": "^7.27.1",
+        "@babel/types": "^7.27.1"
       }
     },
     "@babel/helper-string-parser": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
-      "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
-      "dev": true
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz",
+      "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA=="
     },
     "@babel/helper-validator-identifier": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
-      "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
-      "dev": true
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz",
+      "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow=="
     },
     "@babel/helper-validator-option": {
-      "version": "7.23.5",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
-      "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz",
+      "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==",
       "dev": true
     },
     "@babel/helper-wrap-function": {
-      "version": "7.22.20",
-      "resolved": "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz",
-      "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz",
+      "integrity": "sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==",
       "dev": true,
       "requires": {
-        "@babel/helper-function-name": "^7.22.5",
-        "@babel/template": "^7.22.15",
-        "@babel/types": "^7.22.19"
+        "@babel/template": "^7.27.2",
+        "@babel/traverse": "^7.28.3",
+        "@babel/types": "^7.28.2"
       }
     },
     "@babel/helpers": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.4.tgz",
-      "integrity": "sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz",
+      "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==",
       "dev": true,
       "requires": {
-        "@babel/template": "^7.24.0",
-        "@babel/traverse": "^7.24.1",
-        "@babel/types": "^7.24.0"
+        "@babel/template": "^7.27.2",
+        "@babel/types": "^7.28.2"
       }
     },
     "@babel/highlight": {
@@ -17212,53 +16661,65 @@
       }
     },
     "@babel/parser": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.4.tgz",
-      "integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg=="
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz",
+      "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==",
+      "requires": {
+        "@babel/types": "^7.28.2"
+      }
     },
     "@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz",
-      "integrity": "sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz",
+      "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==",
       "dev": true,
       "requires": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
+      }
+    },
+    "@babel/plugin-bugfix-safari-class-field-initializer-scope": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz",
+      "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz",
-      "integrity": "sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz",
+      "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz",
-      "integrity": "sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz",
+      "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/plugin-transform-optional-chaining": "^7.24.1"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1",
+        "@babel/plugin-transform-optional-chaining": "^7.27.1"
       }
     },
     "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz",
-      "integrity": "sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz",
+      "integrity": "sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==",
       "dev": true,
       "requires": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.28.3"
       }
     },
     "@babel/plugin-proposal-class-properties": {
       "version": "7.18.6",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
       "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
       "dev": true,
       "requires": {
@@ -17267,197 +16728,71 @@
       }
     },
     "@babel/plugin-proposal-decorators": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz",
-      "integrity": "sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz",
+      "integrity": "sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-decorators": "^7.24.1"
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-syntax-decorators": "^7.27.1"
       }
     },
     "@babel/plugin-proposal-private-property-in-object": {
       "version": "7.21.0-placeholder-for-preset-env.2",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
       "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
       "dev": true,
       "requires": {}
     },
-    "@babel/plugin-syntax-async-generators": {
-      "version": "7.8.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
-      "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-class-properties": {
-      "version": "7.12.13",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
-      "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.12.13"
-      }
-    },
-    "@babel/plugin-syntax-class-static-block": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
-      "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
     "@babel/plugin-syntax-decorators": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz",
-      "integrity": "sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz",
+      "integrity": "sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-syntax-dynamic-import": {
       "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
       "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
       "dev": true,
       "requires": {
         "@babel/helper-plugin-utils": "^7.8.0"
       }
     },
-    "@babel/plugin-syntax-export-namespace-from": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
-      "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.3"
-      }
-    },
     "@babel/plugin-syntax-import-assertions": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz",
-      "integrity": "sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz",
+      "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-syntax-import-attributes": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz",
-      "integrity": "sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz",
+      "integrity": "sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
-      }
-    },
-    "@babel/plugin-syntax-import-meta": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
-      "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-json-strings": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
-      "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-syntax-jsx": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz",
-      "integrity": "sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz",
+      "integrity": "sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
-      }
-    },
-    "@babel/plugin-syntax-logical-assignment-operators": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
-      "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-nullish-coalescing-operator": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
-      "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-numeric-separator": {
-      "version": "7.10.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
-      "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.10.4"
-      }
-    },
-    "@babel/plugin-syntax-object-rest-spread": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
-      "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-catch-binding": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
-      "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-optional-chaining": {
-      "version": "7.8.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
-      "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.8.0"
-      }
-    },
-    "@babel/plugin-syntax-private-property-in-object": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
-      "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
-      }
-    },
-    "@babel/plugin-syntax-top-level-await": {
-      "version": "7.14.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
-      "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
-      "dev": true,
-      "requires": {
-        "@babel/helper-plugin-utils": "^7.14.5"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-syntax-unicode-sets-regex": {
       "version": "7.18.6",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
       "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
       "dev": true,
       "requires": {
@@ -17466,594 +16801,599 @@
       }
     },
     "@babel/plugin-transform-arrow-functions": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz",
-      "integrity": "sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz",
+      "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-async-generator-functions": {
-      "version": "7.24.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz",
-      "integrity": "sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz",
+      "integrity": "sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-remap-async-to-generator": "^7.22.20",
-        "@babel/plugin-syntax-async-generators": "^7.8.4"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-remap-async-to-generator": "^7.27.1",
+        "@babel/traverse": "^7.28.0"
       }
     },
     "@babel/plugin-transform-async-to-generator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz",
-      "integrity": "sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz",
+      "integrity": "sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-remap-async-to-generator": "^7.22.20"
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-remap-async-to-generator": "^7.27.1"
       }
     },
     "@babel/plugin-transform-block-scoped-functions": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz",
-      "integrity": "sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz",
+      "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-block-scoping": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz",
-      "integrity": "sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz",
+      "integrity": "sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-class-properties": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz",
-      "integrity": "sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz",
+      "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-class-static-block": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz",
-      "integrity": "sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz",
+      "integrity": "sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.24.4",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5"
+        "@babel/helper-create-class-features-plugin": "^7.28.3",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-classes": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz",
-      "integrity": "sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz",
+      "integrity": "sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-replace-supers": "^7.24.1",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "globals": "^11.1.0"
+        "@babel/helper-annotate-as-pure": "^7.27.3",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-globals": "^7.28.0",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-replace-supers": "^7.27.1",
+        "@babel/traverse": "^7.28.3"
       }
     },
     "@babel/plugin-transform-computed-properties": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz",
-      "integrity": "sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz",
+      "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/template": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/template": "^7.27.1"
       }
     },
     "@babel/plugin-transform-destructuring": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz",
-      "integrity": "sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz",
+      "integrity": "sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.28.0"
       }
     },
     "@babel/plugin-transform-dotall-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz",
-      "integrity": "sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz",
+      "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-duplicate-keys": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz",
-      "integrity": "sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz",
+      "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
+      }
+    },
+    "@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz",
+      "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-dynamic-import": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz",
-      "integrity": "sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz",
+      "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
+      }
+    },
+    "@babel/plugin-transform-explicit-resource-management": {
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz",
+      "integrity": "sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-transform-destructuring": "^7.28.0"
       }
     },
     "@babel/plugin-transform-exponentiation-operator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz",
-      "integrity": "sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz",
+      "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-export-namespace-from": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz",
-      "integrity": "sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz",
+      "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-for-of": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz",
-      "integrity": "sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz",
+      "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
       }
     },
     "@babel/plugin-transform-function-name": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz",
-      "integrity": "sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz",
+      "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-compilation-targets": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       }
     },
     "@babel/plugin-transform-json-strings": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz",
-      "integrity": "sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz",
+      "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-json-strings": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz",
-      "integrity": "sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz",
+      "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-logical-assignment-operators": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz",
-      "integrity": "sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz",
+      "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-member-expression-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz",
-      "integrity": "sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz",
+      "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-modules-amd": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz",
-      "integrity": "sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz",
+      "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-modules-commonjs": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz",
-      "integrity": "sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz",
+      "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-simple-access": "^7.22.5"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-modules-systemjs": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz",
-      "integrity": "sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz",
+      "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==",
       "dev": true,
       "requires": {
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-validator-identifier": "^7.22.20"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.27.1",
+        "@babel/traverse": "^7.27.1"
       }
     },
     "@babel/plugin-transform-modules-umd": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz",
-      "integrity": "sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz",
+      "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-transforms": "^7.23.3",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-module-transforms": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-named-capturing-groups-regex": {
-      "version": "7.22.5",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
-      "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz",
+      "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.5",
-        "@babel/helper-plugin-utils": "^7.22.5"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-new-target": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz",
-      "integrity": "sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz",
+      "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-nullish-coalescing-operator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz",
-      "integrity": "sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz",
+      "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-numeric-separator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz",
-      "integrity": "sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz",
+      "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-object-rest-spread": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz",
-      "integrity": "sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==",
+      "version": "7.28.0",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz",
+      "integrity": "sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==",
       "dev": true,
       "requires": {
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-transform-parameters": "^7.24.1"
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-transform-destructuring": "^7.28.0",
+        "@babel/plugin-transform-parameters": "^7.27.7",
+        "@babel/traverse": "^7.28.0"
       }
     },
     "@babel/plugin-transform-object-super": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz",
-      "integrity": "sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz",
+      "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-replace-supers": "^7.24.1"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-replace-supers": "^7.27.1"
       }
     },
     "@babel/plugin-transform-optional-catch-binding": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz",
-      "integrity": "sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz",
+      "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-optional-chaining": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz",
-      "integrity": "sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz",
+      "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
       }
     },
     "@babel/plugin-transform-parameters": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz",
-      "integrity": "sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==",
+      "version": "7.27.7",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz",
+      "integrity": "sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-private-methods": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz",
-      "integrity": "sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz",
+      "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-private-property-in-object": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz",
-      "integrity": "sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz",
+      "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-annotate-as-pure": "^7.22.5",
-        "@babel/helper-create-class-features-plugin": "^7.24.1",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
+        "@babel/helper-annotate-as-pure": "^7.27.1",
+        "@babel/helper-create-class-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-property-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz",
-      "integrity": "sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz",
+      "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-regenerator": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz",
-      "integrity": "sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz",
+      "integrity": "sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "regenerator-transform": "^0.15.2"
+        "@babel/helper-plugin-utils": "^7.27.1"
+      }
+    },
+    "@babel/plugin-transform-regexp-modifiers": {
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz",
+      "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==",
+      "dev": true,
+      "requires": {
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-reserved-words": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz",
-      "integrity": "sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz",
+      "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-runtime": {
-      "version": "7.24.3",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz",
-      "integrity": "sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz",
+      "integrity": "sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "^7.24.3",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "babel-plugin-polyfill-corejs2": "^0.4.10",
-        "babel-plugin-polyfill-corejs3": "^0.10.1",
-        "babel-plugin-polyfill-regenerator": "^0.6.1",
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "babel-plugin-polyfill-corejs2": "^0.4.14",
+        "babel-plugin-polyfill-corejs3": "^0.13.0",
+        "babel-plugin-polyfill-regenerator": "^0.6.5",
         "semver": "^6.3.1"
       }
     },
     "@babel/plugin-transform-shorthand-properties": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz",
-      "integrity": "sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz",
+      "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-spread": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz",
-      "integrity": "sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz",
+      "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1"
       }
     },
     "@babel/plugin-transform-sticky-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz",
-      "integrity": "sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz",
+      "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-template-literals": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz",
-      "integrity": "sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz",
+      "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-typeof-symbol": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz",
-      "integrity": "sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz",
+      "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-unicode-escapes": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz",
-      "integrity": "sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz",
+      "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==",
       "dev": true,
       "requires": {
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-unicode-property-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz",
-      "integrity": "sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz",
+      "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-unicode-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz",
-      "integrity": "sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz",
+      "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/plugin-transform-unicode-sets-regex": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz",
-      "integrity": "sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==",
+      "version": "7.27.1",
+      "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz",
+      "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==",
       "dev": true,
       "requires": {
-        "@babel/helper-create-regexp-features-plugin": "^7.22.15",
-        "@babel/helper-plugin-utils": "^7.24.0"
+        "@babel/helper-create-regexp-features-plugin": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1"
       }
     },
     "@babel/preset-env": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.4.tgz",
-      "integrity": "sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz",
+      "integrity": "sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.24.4",
-        "@babel/helper-compilation-targets": "^7.23.6",
-        "@babel/helper-plugin-utils": "^7.24.0",
-        "@babel/helper-validator-option": "^7.23.5",
-        "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.24.4",
-        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.24.1",
-        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.1",
-        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.24.1",
+        "@babel/compat-data": "^7.28.0",
+        "@babel/helper-compilation-targets": "^7.27.2",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/helper-validator-option": "^7.27.1",
+        "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.27.1",
+        "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.27.1",
+        "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.27.1",
+        "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.27.1",
+        "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.28.3",
         "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
-        "@babel/plugin-syntax-async-generators": "^7.8.4",
-        "@babel/plugin-syntax-class-properties": "^7.12.13",
-        "@babel/plugin-syntax-class-static-block": "^7.14.5",
-        "@babel/plugin-syntax-dynamic-import": "^7.8.3",
-        "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
-        "@babel/plugin-syntax-import-assertions": "^7.24.1",
-        "@babel/plugin-syntax-import-attributes": "^7.24.1",
-        "@babel/plugin-syntax-import-meta": "^7.10.4",
-        "@babel/plugin-syntax-json-strings": "^7.8.3",
-        "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
-        "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
-        "@babel/plugin-syntax-numeric-separator": "^7.10.4",
-        "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
-        "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
-        "@babel/plugin-syntax-optional-chaining": "^7.8.3",
-        "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
-        "@babel/plugin-syntax-top-level-await": "^7.14.5",
+        "@babel/plugin-syntax-import-assertions": "^7.27.1",
+        "@babel/plugin-syntax-import-attributes": "^7.27.1",
         "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
-        "@babel/plugin-transform-arrow-functions": "^7.24.1",
-        "@babel/plugin-transform-async-generator-functions": "^7.24.3",
-        "@babel/plugin-transform-async-to-generator": "^7.24.1",
-        "@babel/plugin-transform-block-scoped-functions": "^7.24.1",
-        "@babel/plugin-transform-block-scoping": "^7.24.4",
-        "@babel/plugin-transform-class-properties": "^7.24.1",
-        "@babel/plugin-transform-class-static-block": "^7.24.4",
-        "@babel/plugin-transform-classes": "^7.24.1",
-        "@babel/plugin-transform-computed-properties": "^7.24.1",
-        "@babel/plugin-transform-destructuring": "^7.24.1",
-        "@babel/plugin-transform-dotall-regex": "^7.24.1",
-        "@babel/plugin-transform-duplicate-keys": "^7.24.1",
-        "@babel/plugin-transform-dynamic-import": "^7.24.1",
-        "@babel/plugin-transform-exponentiation-operator": "^7.24.1",
-        "@babel/plugin-transform-export-namespace-from": "^7.24.1",
-        "@babel/plugin-transform-for-of": "^7.24.1",
-        "@babel/plugin-transform-function-name": "^7.24.1",
-        "@babel/plugin-transform-json-strings": "^7.24.1",
-        "@babel/plugin-transform-literals": "^7.24.1",
-        "@babel/plugin-transform-logical-assignment-operators": "^7.24.1",
-        "@babel/plugin-transform-member-expression-literals": "^7.24.1",
-        "@babel/plugin-transform-modules-amd": "^7.24.1",
-        "@babel/plugin-transform-modules-commonjs": "^7.24.1",
-        "@babel/plugin-transform-modules-systemjs": "^7.24.1",
-        "@babel/plugin-transform-modules-umd": "^7.24.1",
-        "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
-        "@babel/plugin-transform-new-target": "^7.24.1",
-        "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.1",
-        "@babel/plugin-transform-numeric-separator": "^7.24.1",
-        "@babel/plugin-transform-object-rest-spread": "^7.24.1",
-        "@babel/plugin-transform-object-super": "^7.24.1",
-        "@babel/plugin-transform-optional-catch-binding": "^7.24.1",
-        "@babel/plugin-transform-optional-chaining": "^7.24.1",
-        "@babel/plugin-transform-parameters": "^7.24.1",
-        "@babel/plugin-transform-private-methods": "^7.24.1",
-        "@babel/plugin-transform-private-property-in-object": "^7.24.1",
-        "@babel/plugin-transform-property-literals": "^7.24.1",
-        "@babel/plugin-transform-regenerator": "^7.24.1",
-        "@babel/plugin-transform-reserved-words": "^7.24.1",
-        "@babel/plugin-transform-shorthand-properties": "^7.24.1",
-        "@babel/plugin-transform-spread": "^7.24.1",
-        "@babel/plugin-transform-sticky-regex": "^7.24.1",
-        "@babel/plugin-transform-template-literals": "^7.24.1",
-        "@babel/plugin-transform-typeof-symbol": "^7.24.1",
-        "@babel/plugin-transform-unicode-escapes": "^7.24.1",
-        "@babel/plugin-transform-unicode-property-regex": "^7.24.1",
-        "@babel/plugin-transform-unicode-regex": "^7.24.1",
-        "@babel/plugin-transform-unicode-sets-regex": "^7.24.1",
+        "@babel/plugin-transform-arrow-functions": "^7.27.1",
+        "@babel/plugin-transform-async-generator-functions": "^7.28.0",
+        "@babel/plugin-transform-async-to-generator": "^7.27.1",
+        "@babel/plugin-transform-block-scoped-functions": "^7.27.1",
+        "@babel/plugin-transform-block-scoping": "^7.28.0",
+        "@babel/plugin-transform-class-properties": "^7.27.1",
+        "@babel/plugin-transform-class-static-block": "^7.28.3",
+        "@babel/plugin-transform-classes": "^7.28.3",
+        "@babel/plugin-transform-computed-properties": "^7.27.1",
+        "@babel/plugin-transform-destructuring": "^7.28.0",
+        "@babel/plugin-transform-dotall-regex": "^7.27.1",
+        "@babel/plugin-transform-duplicate-keys": "^7.27.1",
+        "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.27.1",
+        "@babel/plugin-transform-dynamic-import": "^7.27.1",
+        "@babel/plugin-transform-explicit-resource-management": "^7.28.0",
+        "@babel/plugin-transform-exponentiation-operator": "^7.27.1",
+        "@babel/plugin-transform-export-namespace-from": "^7.27.1",
+        "@babel/plugin-transform-for-of": "^7.27.1",
+        "@babel/plugin-transform-function-name": "^7.27.1",
+        "@babel/plugin-transform-json-strings": "^7.27.1",
+        "@babel/plugin-transform-literals": "^7.27.1",
+        "@babel/plugin-transform-logical-assignment-operators": "^7.27.1",
+        "@babel/plugin-transform-member-expression-literals": "^7.27.1",
+        "@babel/plugin-transform-modules-amd": "^7.27.1",
+        "@babel/plugin-transform-modules-commonjs": "^7.27.1",
+        "@babel/plugin-transform-modules-systemjs": "^7.27.1",
+        "@babel/plugin-transform-modules-umd": "^7.27.1",
+        "@babel/plugin-transform-named-capturing-groups-regex": "^7.27.1",
+        "@babel/plugin-transform-new-target": "^7.27.1",
+        "@babel/plugin-transform-nullish-coalescing-operator": "^7.27.1",
+        "@babel/plugin-transform-numeric-separator": "^7.27.1",
+        "@babel/plugin-transform-object-rest-spread": "^7.28.0",
+        "@babel/plugin-transform-object-super": "^7.27.1",
+        "@babel/plugin-transform-optional-catch-binding": "^7.27.1",
+        "@babel/plugin-transform-optional-chaining": "^7.27.1",
+        "@babel/plugin-transform-parameters": "^7.27.7",
+        "@babel/plugin-transform-private-methods": "^7.27.1",
+        "@babel/plugin-transform-private-property-in-object": "^7.27.1",
+        "@babel/plugin-transform-property-literals": "^7.27.1",
+        "@babel/plugin-transform-regenerator": "^7.28.3",
+        "@babel/plugin-transform-regexp-modifiers": "^7.27.1",
+        "@babel/plugin-transform-reserved-words": "^7.27.1",
+        "@babel/plugin-transform-shorthand-properties": "^7.27.1",
+        "@babel/plugin-transform-spread": "^7.27.1",
+        "@babel/plugin-transform-sticky-regex": "^7.27.1",
+        "@babel/plugin-transform-template-literals": "^7.27.1",
+        "@babel/plugin-transform-typeof-symbol": "^7.27.1",
+        "@babel/plugin-transform-unicode-escapes": "^7.27.1",
+        "@babel/plugin-transform-unicode-property-regex": "^7.27.1",
+        "@babel/plugin-transform-unicode-regex": "^7.27.1",
+        "@babel/plugin-transform-unicode-sets-regex": "^7.27.1",
         "@babel/preset-modules": "0.1.6-no-external-plugins",
-        "babel-plugin-polyfill-corejs2": "^0.4.10",
-        "babel-plugin-polyfill-corejs3": "^0.10.4",
-        "babel-plugin-polyfill-regenerator": "^0.6.1",
-        "core-js-compat": "^3.31.0",
+        "babel-plugin-polyfill-corejs2": "^0.4.14",
+        "babel-plugin-polyfill-corejs3": "^0.13.0",
+        "babel-plugin-polyfill-regenerator": "^0.6.5",
+        "core-js-compat": "^3.43.0",
         "semver": "^6.3.1"
       }
     },
     "@babel/preset-modules": {
       "version": "0.1.6-no-external-plugins",
-      "resolved": "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
+      "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
       "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
       "dev": true,
       "requires": {
@@ -18062,58 +17402,44 @@
         "esutils": "^2.0.2"
       }
     },
-    "@babel/regjsgen": {
-      "version": "0.8.0",
-      "resolved": "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
-      "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
-      "dev": true
-    },
     "@babel/runtime": {
-      "version": "7.24.4",
-      "resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.4.tgz",
-      "integrity": "sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==",
-      "requires": {
-        "regenerator-runtime": "^0.14.0"
-      }
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz",
+      "integrity": "sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA=="
     },
     "@babel/template": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz",
-      "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
+      "version": "7.27.2",
+      "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz",
+      "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/parser": "^7.24.0",
-        "@babel/types": "^7.24.0"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/parser": "^7.27.2",
+        "@babel/types": "^7.27.1"
       }
     },
     "@babel/traverse": {
-      "version": "7.24.1",
-      "resolved": "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.1.tgz",
-      "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==",
+      "version": "7.28.3",
+      "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz",
+      "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.24.1",
-        "@babel/generator": "^7.24.1",
-        "@babel/helper-environment-visitor": "^7.22.20",
-        "@babel/helper-function-name": "^7.23.0",
-        "@babel/helper-hoist-variables": "^7.22.5",
-        "@babel/helper-split-export-declaration": "^7.22.6",
-        "@babel/parser": "^7.24.1",
-        "@babel/types": "^7.24.0",
-        "debug": "^4.3.1",
-        "globals": "^11.1.0"
+        "@babel/code-frame": "^7.27.1",
+        "@babel/generator": "^7.28.3",
+        "@babel/helper-globals": "^7.28.0",
+        "@babel/parser": "^7.28.3",
+        "@babel/template": "^7.27.2",
+        "@babel/types": "^7.28.2",
+        "debug": "^4.3.1"
       }
     },
     "@babel/types": {
-      "version": "7.24.0",
-      "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz",
-      "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
-      "dev": true,
+      "version": "7.28.2",
+      "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz",
+      "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==",
       "requires": {
-        "@babel/helper-string-parser": "^7.23.4",
-        "@babel/helper-validator-identifier": "^7.22.20",
-        "to-fast-properties": "^2.0.0"
+        "@babel/helper-string-parser": "^7.27.1",
+        "@babel/helper-validator-identifier": "^7.27.1"
       }
     },
     "@cortex-js/compute-engine": {
@@ -18198,13 +17524,12 @@
       "dev": true
     },
     "@jridgewell/gen-mapping": {
-      "version": "0.3.5",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
-      "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
+      "version": "0.3.13",
+      "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+      "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
       "dev": true,
       "requires": {
-        "@jridgewell/set-array": "^1.2.1",
-        "@jridgewell/sourcemap-codec": "^1.4.10",
+        "@jridgewell/sourcemap-codec": "^1.5.0",
         "@jridgewell/trace-mapping": "^0.3.24"
       }
     },
@@ -18212,12 +17537,6 @@
       "version": "3.1.2",
       "resolved": "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
       "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
-      "dev": true
-    },
-    "@jridgewell/set-array": {
-      "version": "1.2.1",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
-      "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
       "dev": true
     },
     "@jridgewell/source-map": {
@@ -18231,15 +17550,15 @@
       }
     },
     "@jridgewell/sourcemap-codec": {
-      "version": "1.4.15",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
-      "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+      "version": "1.5.5",
+      "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+      "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
       "dev": true
     },
     "@jridgewell/trace-mapping": {
-      "version": "0.3.25",
-      "resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
-      "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
+      "version": "0.3.30",
+      "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz",
+      "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==",
       "dev": true,
       "requires": {
         "@jridgewell/resolve-uri": "^3.1.0",
@@ -18488,9 +17807,9 @@
       }
     },
     "@types/estree": {
-      "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz",
-      "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
+      "version": "1.0.8",
+      "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+      "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
       "dev": true
     },
     "@types/express": {
@@ -18660,73 +17979,49 @@
     },
     "@vue/babel-helper-vue-jsx-merge-props": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz",
       "integrity": "sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==",
       "dev": true
     },
     "@vue/babel-helper-vue-transform-on": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.2.tgz",
-      "integrity": "sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz",
+      "integrity": "sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==",
       "dev": true
     },
     "@vue/babel-plugin-jsx": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.2.tgz",
-      "integrity": "sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz",
+      "integrity": "sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==",
       "dev": true,
       "requires": {
-        "@babel/helper-module-imports": "~7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/plugin-syntax-jsx": "^7.23.3",
-        "@babel/template": "^7.23.9",
-        "@babel/traverse": "^7.23.9",
-        "@babel/types": "^7.23.9",
-        "@vue/babel-helper-vue-transform-on": "1.2.2",
-        "@vue/babel-plugin-resolve-type": "1.2.2",
-        "camelcase": "^6.3.0",
-        "html-tags": "^3.3.1",
-        "svg-tags": "^1.0.0"
-      },
-      "dependencies": {
-        "@babel/helper-module-imports": {
-          "version": "7.22.15",
-          "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-          "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.22.15"
-          }
-        }
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/plugin-syntax-jsx": "^7.27.1",
+        "@babel/template": "^7.27.2",
+        "@babel/traverse": "^7.28.0",
+        "@babel/types": "^7.28.2",
+        "@vue/babel-helper-vue-transform-on": "1.5.0",
+        "@vue/babel-plugin-resolve-type": "1.5.0",
+        "@vue/shared": "^3.5.18"
       }
     },
     "@vue/babel-plugin-resolve-type": {
-      "version": "1.2.2",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.2.tgz",
-      "integrity": "sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==",
+      "version": "1.5.0",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz",
+      "integrity": "sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==",
       "dev": true,
       "requires": {
-        "@babel/code-frame": "^7.23.5",
-        "@babel/helper-module-imports": "~7.22.15",
-        "@babel/helper-plugin-utils": "^7.22.5",
-        "@babel/parser": "^7.23.9",
-        "@vue/compiler-sfc": "^3.4.15"
-      },
-      "dependencies": {
-        "@babel/helper-module-imports": {
-          "version": "7.22.15",
-          "resolved": "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
-          "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
-          "dev": true,
-          "requires": {
-            "@babel/types": "^7.22.15"
-          }
-        }
+        "@babel/code-frame": "^7.27.1",
+        "@babel/helper-module-imports": "^7.27.1",
+        "@babel/helper-plugin-utils": "^7.27.1",
+        "@babel/parser": "^7.28.0",
+        "@vue/compiler-sfc": "^3.5.18"
       }
     },
     "@vue/babel-plugin-transform-vue-jsx": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz",
       "integrity": "sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==",
       "dev": true,
       "requires": {
@@ -18736,20 +18031,12 @@
         "html-tags": "^2.0.0",
         "lodash.kebabcase": "^4.1.1",
         "svg-tags": "^1.0.0"
-      },
-      "dependencies": {
-        "html-tags": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz",
-          "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
-          "dev": true
-        }
       }
     },
     "@vue/babel-preset-app": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz",
-      "integrity": "sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.9.tgz",
+      "integrity": "sha512-0rKOF4s/AhaRMJLybxOCgXfwtYhO3pwDSL/q/W8wRs1LzmHAc77FyTXWlun6VyKiSKwSdtH7CvOiWqq+DfofdA==",
       "dev": true,
       "requires": {
         "@babel/core": "^7.12.16",
@@ -18770,35 +18057,17 @@
         "semver": "^7.3.4"
       },
       "dependencies": {
-        "lru-cache": {
-          "version": "6.0.0",
-          "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
-          "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
-          "dev": true,
-          "requires": {
-            "yallist": "^4.0.0"
-          }
-        },
         "semver": {
-          "version": "7.6.0",
-          "resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz",
-          "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
-          "dev": true,
-          "requires": {
-            "lru-cache": "^6.0.0"
-          }
-        },
-        "yallist": {
-          "version": "4.0.0",
-          "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
-          "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+          "version": "7.7.2",
+          "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
+          "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==",
           "dev": true
         }
       }
     },
     "@vue/babel-preset-jsx": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz",
       "integrity": "sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==",
       "dev": true,
       "requires": {
@@ -18814,7 +18083,7 @@
     },
     "@vue/babel-sugar-composition-api-inject-h": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz",
       "integrity": "sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==",
       "dev": true,
       "requires": {
@@ -18823,7 +18092,7 @@
     },
     "@vue/babel-sugar-composition-api-render-instance": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz",
       "integrity": "sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==",
       "dev": true,
       "requires": {
@@ -18832,7 +18101,7 @@
     },
     "@vue/babel-sugar-functional-vue": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz",
       "integrity": "sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==",
       "dev": true,
       "requires": {
@@ -18841,7 +18110,7 @@
     },
     "@vue/babel-sugar-inject-h": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz",
       "integrity": "sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==",
       "dev": true,
       "requires": {
@@ -18850,7 +18119,7 @@
     },
     "@vue/babel-sugar-v-model": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz",
       "integrity": "sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==",
       "dev": true,
       "requires": {
@@ -18860,68 +18129,46 @@
         "camelcase": "^5.0.0",
         "html-tags": "^2.0.0",
         "svg-tags": "^1.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
-          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-          "dev": true
-        },
-        "html-tags": {
-          "version": "2.0.0",
-          "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz",
-          "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
-          "dev": true
-        }
       }
     },
     "@vue/babel-sugar-v-on": {
       "version": "1.4.0",
-      "resolved": "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz",
+      "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz",
       "integrity": "sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==",
       "dev": true,
       "requires": {
         "@babel/plugin-syntax-jsx": "^7.2.0",
         "@vue/babel-plugin-transform-vue-jsx": "^1.4.0",
         "camelcase": "^5.0.0"
-      },
-      "dependencies": {
-        "camelcase": {
-          "version": "5.3.1",
-          "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz",
-          "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
-          "dev": true
-        }
       }
     },
     "@vue/cli-overlay": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz",
-      "integrity": "sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.9.tgz",
+      "integrity": "sha512-aBdZWrYKxLuFz1FDsk/muFD7GycrsW73Gi11yRc7R2W7Bm8mDRc9HKAI790gdg4NV+chkDFmfkegjg5iMDEpAA==",
       "dev": true
     },
     "@vue/cli-plugin-babel": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz",
-      "integrity": "sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.9.tgz",
+      "integrity": "sha512-oDZt1Kfe4KGNtig3/3zFo2pIeDJij2uS0M6S+tAqQno4Zpla2D8Hk/AR5PrstUd/HmhHZYJoGyF78MOfj3SbWg==",
       "dev": true,
       "requires": {
         "@babel/core": "^7.12.16",
-        "@vue/babel-preset-app": "^5.0.8",
-        "@vue/cli-shared-utils": "^5.0.8",
+        "@vue/babel-preset-app": "^5.0.9",
+        "@vue/cli-shared-utils": "^5.0.9",
         "babel-loader": "^8.2.2",
         "thread-loader": "^3.0.0",
         "webpack": "^5.54.0"
       }
     },
     "@vue/cli-plugin-eslint": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz",
-      "integrity": "sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.9.tgz",
+      "integrity": "sha512-OfAa85qhP0dKSprI8+9qjbXW8BzOlOvEtXwdrTrAKlD6aN8oa/u6k4vbfJGdYbpsbpkj8FXYdCRkTgNG8KZbxg==",
       "dev": true,
       "requires": {
-        "@vue/cli-shared-utils": "^5.0.8",
+        "@vue/cli-shared-utils": "^5.0.9",
         "eslint-webpack-plugin": "^3.1.0",
         "globby": "^11.0.2",
         "webpack": "^5.54.0",
@@ -18929,35 +18176,35 @@
       }
     },
     "@vue/cli-plugin-router": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz",
-      "integrity": "sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.9.tgz",
+      "integrity": "sha512-kopbO/8kIl5CAffwgptXEwV509i+M0FfwW4sSkgQ2RzpxOYBjQZvp+096mjZfFcWKSmryNP/ri/Mnu78vmhlhw==",
       "dev": true,
       "requires": {
-        "@vue/cli-shared-utils": "^5.0.8"
+        "@vue/cli-shared-utils": "^5.0.9"
       }
     },
     "@vue/cli-plugin-vuex": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz",
-      "integrity": "sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.9.tgz",
+      "integrity": "sha512-AQhgGNFVd4Pu2crvS0a+hRckgrJv07gzOASdbLd3I72wkT43dd01MLRp8IBRRsu92t3MXenW86AZUCbQBz3//A==",
       "dev": true,
       "requires": {}
     },
     "@vue/cli-service": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-5.0.8.tgz",
-      "integrity": "sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.9.tgz",
+      "integrity": "sha512-yTX7GVyM19tEbd+y5/gA6MkVKA6K61nVYHYAivD61Hx6odVFmQsaC3/R3cWAHM1P5oVKCevBbumPljbT+tFG2w==",
       "dev": true,
       "requires": {
         "@babel/helper-compilation-targets": "^7.12.16",
         "@soda/friendly-errors-webpack-plugin": "^1.8.0",
         "@soda/get-current-script": "^1.0.2",
         "@types/minimist": "^1.2.0",
-        "@vue/cli-overlay": "^5.0.8",
-        "@vue/cli-plugin-router": "^5.0.8",
-        "@vue/cli-plugin-vuex": "^5.0.8",
-        "@vue/cli-shared-utils": "^5.0.8",
+        "@vue/cli-overlay": "^5.0.9",
+        "@vue/cli-plugin-router": "^5.0.9",
+        "@vue/cli-plugin-vuex": "^5.0.9",
+        "@vue/cli-shared-utils": "^5.0.9",
         "@vue/component-compiler-utils": "^3.3.0",
         "@vue/vue-loader-v15": "npm:vue-loader@^15.9.7",
         "@vue/web-component-wrapper": "^1.3.0",
@@ -19008,9 +18255,9 @@
       }
     },
     "@vue/cli-shared-utils": {
-      "version": "5.0.8",
-      "resolved": "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz",
-      "integrity": "sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==",
+      "version": "5.0.9",
+      "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.9.tgz",
+      "integrity": "sha512-lf4KykiG8j9KwvNVi7fKtASmHuLsxCcCsflVU2b2CHMRuR4weOIV3zuuCrjWKjk0APn/MHJhgCjJGzHMbTtd5w==",
       "dev": true,
       "requires": {
         "@achrinza/node-ipc": "^9.2.5",
@@ -19103,53 +18350,53 @@
       }
     },
     "@vue/compiler-core": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.23.tgz",
-      "integrity": "sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.20.tgz",
+      "integrity": "sha512-8TWXUyiqFd3GmP4JTX9hbiTFRwYHgVL/vr3cqhr4YQ258+9FADwvj7golk2sWNGHR67QgmCZ8gz80nQcMokhwg==",
       "dev": true,
       "requires": {
-        "@babel/parser": "^7.24.1",
-        "@vue/shared": "3.4.23",
+        "@babel/parser": "^7.28.3",
+        "@vue/shared": "3.5.20",
         "entities": "^4.5.0",
         "estree-walker": "^2.0.2",
-        "source-map-js": "^1.2.0"
+        "source-map-js": "^1.2.1"
       }
     },
     "@vue/compiler-dom": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.23.tgz",
-      "integrity": "sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.20.tgz",
+      "integrity": "sha512-whB44M59XKjqUEYOMPYU0ijUV0G+4fdrHVKDe32abNdX/kJe1NUEMqsi4cwzXa9kyM9w5S8WqFsrfo1ogtBZGQ==",
       "dev": true,
       "requires": {
-        "@vue/compiler-core": "3.4.23",
-        "@vue/shared": "3.4.23"
+        "@vue/compiler-core": "3.5.20",
+        "@vue/shared": "3.5.20"
       }
     },
     "@vue/compiler-sfc": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.23.tgz",
-      "integrity": "sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.20.tgz",
+      "integrity": "sha512-SFcxapQc0/feWiSBfkGsa1v4DOrnMAQSYuvDMpEaxbpH5dKbnEM5KobSNSgU+1MbHCl+9ftm7oQWxvwDB6iBfw==",
       "dev": true,
       "requires": {
-        "@babel/parser": "^7.24.1",
-        "@vue/compiler-core": "3.4.23",
-        "@vue/compiler-dom": "3.4.23",
-        "@vue/compiler-ssr": "3.4.23",
-        "@vue/shared": "3.4.23",
+        "@babel/parser": "^7.28.3",
+        "@vue/compiler-core": "3.5.20",
+        "@vue/compiler-dom": "3.5.20",
+        "@vue/compiler-ssr": "3.5.20",
+        "@vue/shared": "3.5.20",
         "estree-walker": "^2.0.2",
-        "magic-string": "^0.30.8",
-        "postcss": "^8.4.38",
-        "source-map-js": "^1.2.0"
+        "magic-string": "^0.30.17",
+        "postcss": "^8.5.6",
+        "source-map-js": "^1.2.1"
       }
     },
     "@vue/compiler-ssr": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.23.tgz",
-      "integrity": "sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.20.tgz",
+      "integrity": "sha512-RSl5XAMc5YFUXpDQi+UQDdVjH9FnEpLDHIALg5J0ITHxkEzJ8uQLlo7CIbjPYqmZtt6w0TsIPbo1izYXwDG7JA==",
       "dev": true,
       "requires": {
-        "@vue/compiler-dom": "3.4.23",
-        "@vue/shared": "3.4.23"
+        "@vue/compiler-dom": "3.5.20",
+        "@vue/shared": "3.5.20"
       }
     },
     "@vue/component-compiler-utils": {
@@ -19210,9 +18457,9 @@
       }
     },
     "@vue/shared": {
-      "version": "3.4.23",
-      "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.23.tgz",
-      "integrity": "sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg==",
+      "version": "3.5.20",
+      "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.20.tgz",
+      "integrity": "sha512-SoRGP596KU/ig6TfgkCMbXkr4YJ91n/QSdMuqeP5r3hVIYA3CPHUBCc7Skak0EAKV+5lL4KyIh61VA/pK1CIAA==",
       "dev": true
     },
     "@vue/vue-loader-v15": {
@@ -19243,160 +18490,160 @@
       "dev": true
     },
     "@webassemblyjs/ast": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz",
-      "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz",
+      "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/helper-numbers": "1.11.6",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
+        "@webassemblyjs/helper-numbers": "1.13.2",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2"
       }
     },
     "@webassemblyjs/floating-point-hex-parser": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
-      "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz",
+      "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==",
       "dev": true
     },
     "@webassemblyjs/helper-api-error": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
-      "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz",
+      "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==",
       "dev": true
     },
     "@webassemblyjs/helper-buffer": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
-      "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz",
+      "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==",
       "dev": true
     },
     "@webassemblyjs/helper-numbers": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
-      "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz",
+      "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/floating-point-hex-parser": "1.11.6",
-        "@webassemblyjs/helper-api-error": "1.11.6",
+        "@webassemblyjs/floating-point-hex-parser": "1.13.2",
+        "@webassemblyjs/helper-api-error": "1.13.2",
         "@xtuc/long": "4.2.2"
       }
     },
     "@webassemblyjs/helper-wasm-bytecode": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
-      "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz",
+      "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==",
       "dev": true
     },
     "@webassemblyjs/helper-wasm-section": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
-      "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz",
+      "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/wasm-gen": "1.12.1"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-buffer": "1.14.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/wasm-gen": "1.14.1"
       }
     },
     "@webassemblyjs/ieee754": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
-      "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz",
+      "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==",
       "dev": true,
       "requires": {
         "@xtuc/ieee754": "^1.2.0"
       }
     },
     "@webassemblyjs/leb128": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
-      "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz",
+      "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==",
       "dev": true,
       "requires": {
         "@xtuc/long": "4.2.2"
       }
     },
     "@webassemblyjs/utf8": {
-      "version": "1.11.6",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
-      "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
+      "version": "1.13.2",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz",
+      "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==",
       "dev": true
     },
     "@webassemblyjs/wasm-edit": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
-      "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz",
+      "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/helper-wasm-section": "1.12.1",
-        "@webassemblyjs/wasm-gen": "1.12.1",
-        "@webassemblyjs/wasm-opt": "1.12.1",
-        "@webassemblyjs/wasm-parser": "1.12.1",
-        "@webassemblyjs/wast-printer": "1.12.1"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-buffer": "1.14.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/helper-wasm-section": "1.14.1",
+        "@webassemblyjs/wasm-gen": "1.14.1",
+        "@webassemblyjs/wasm-opt": "1.14.1",
+        "@webassemblyjs/wasm-parser": "1.14.1",
+        "@webassemblyjs/wast-printer": "1.14.1"
       }
     },
     "@webassemblyjs/wasm-gen": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
-      "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz",
+      "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/ieee754": "1.11.6",
-        "@webassemblyjs/leb128": "1.11.6",
-        "@webassemblyjs/utf8": "1.11.6"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/ieee754": "1.13.2",
+        "@webassemblyjs/leb128": "1.13.2",
+        "@webassemblyjs/utf8": "1.13.2"
       }
     },
     "@webassemblyjs/wasm-opt": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
-      "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz",
+      "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-buffer": "1.12.1",
-        "@webassemblyjs/wasm-gen": "1.12.1",
-        "@webassemblyjs/wasm-parser": "1.12.1"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-buffer": "1.14.1",
+        "@webassemblyjs/wasm-gen": "1.14.1",
+        "@webassemblyjs/wasm-parser": "1.14.1"
       }
     },
     "@webassemblyjs/wasm-parser": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
-      "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz",
+      "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.12.1",
-        "@webassemblyjs/helper-api-error": "1.11.6",
-        "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
-        "@webassemblyjs/ieee754": "1.11.6",
-        "@webassemblyjs/leb128": "1.11.6",
-        "@webassemblyjs/utf8": "1.11.6"
+        "@webassemblyjs/ast": "1.14.1",
+        "@webassemblyjs/helper-api-error": "1.13.2",
+        "@webassemblyjs/helper-wasm-bytecode": "1.13.2",
+        "@webassemblyjs/ieee754": "1.13.2",
+        "@webassemblyjs/leb128": "1.13.2",
+        "@webassemblyjs/utf8": "1.13.2"
       }
     },
     "@webassemblyjs/wast-printer": {
-      "version": "1.12.1",
-      "resolved": "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
-      "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
+      "version": "1.14.1",
+      "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz",
+      "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==",
       "dev": true,
       "requires": {
-        "@webassemblyjs/ast": "1.12.1",
+        "@webassemblyjs/ast": "1.14.1",
         "@xtuc/long": "4.2.2"
       }
     },
     "@xtuc/ieee754": {
       "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
+      "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
       "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
       "dev": true
     },
     "@xtuc/long": {
       "version": "4.2.2",
-      "resolved": "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz",
+      "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
       "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
       "dev": true
     },
@@ -19423,9 +18670,9 @@
       }
     },
     "acorn": {
-      "version": "8.11.3",
-      "resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz",
-      "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
+      "version": "8.15.0",
+      "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
+      "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
       "devOptional": true
     },
     "acorn-globals": {
@@ -19452,10 +18699,10 @@
         }
       }
     },
-    "acorn-import-attributes": {
-      "version": "1.9.5",
-      "resolved": "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
-      "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
+    "acorn-import-phases": {
+      "version": "1.0.4",
+      "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz",
+      "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==",
       "dev": true,
       "requires": {}
     },
@@ -19752,12 +18999,12 @@
       }
     },
     "axios": {
-      "version": "1.6.8",
-      "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
-      "integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz",
+      "integrity": "sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==",
       "requires": {
         "follow-redirects": "^1.15.6",
-        "form-data": "^4.0.0",
+        "form-data": "^4.0.4",
         "proxy-from-env": "^1.1.0"
       }
     },
@@ -19793,7 +19040,7 @@
     },
     "babel-plugin-dynamic-import-node": {
       "version": "2.3.3",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
+      "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz",
       "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==",
       "dev": true,
       "requires": {
@@ -19801,33 +19048,33 @@
       }
     },
     "babel-plugin-polyfill-corejs2": {
-      "version": "0.4.10",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz",
-      "integrity": "sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==",
+      "version": "0.4.14",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz",
+      "integrity": "sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==",
       "dev": true,
       "requires": {
-        "@babel/compat-data": "^7.22.6",
-        "@babel/helper-define-polyfill-provider": "^0.6.1",
+        "@babel/compat-data": "^7.27.7",
+        "@babel/helper-define-polyfill-provider": "^0.6.5",
         "semver": "^6.3.1"
       }
     },
     "babel-plugin-polyfill-corejs3": {
-      "version": "0.10.4",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz",
-      "integrity": "sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==",
+      "version": "0.13.0",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz",
+      "integrity": "sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==",
       "dev": true,
       "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.6.1",
-        "core-js-compat": "^3.36.1"
+        "@babel/helper-define-polyfill-provider": "^0.6.5",
+        "core-js-compat": "^3.43.0"
       }
     },
     "babel-plugin-polyfill-regenerator": {
-      "version": "0.6.1",
-      "resolved": "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz",
-      "integrity": "sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==",
+      "version": "0.6.5",
+      "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz",
+      "integrity": "sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==",
       "dev": true,
       "requires": {
-        "@babel/helper-define-polyfill-provider": "^0.6.1"
+        "@babel/helper-define-polyfill-provider": "^0.6.5"
       }
     },
     "babel-runtime": {
@@ -19914,9 +19161,9 @@
       "dev": true
     },
     "body-parser": {
-      "version": "1.20.2",
-      "resolved": "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz",
-      "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
+      "version": "1.20.3",
+      "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
+      "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
       "dev": true,
       "requires": {
         "bytes": "3.1.2",
@@ -19927,21 +19174,15 @@
         "http-errors": "2.0.0",
         "iconv-lite": "0.4.24",
         "on-finished": "2.4.1",
-        "qs": "6.11.0",
+        "qs": "6.13.0",
         "raw-body": "2.5.2",
         "type-is": "~1.6.18",
         "unpipe": "1.0.0"
       },
       "dependencies": {
-        "bytes": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
-          "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
-          "dev": true
-        },
         "debug": {
           "version": "2.6.9",
-          "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
           "dev": true,
           "requires": {
@@ -19950,7 +19191,7 @@
         },
         "ms": {
           "version": "2.0.0",
-          "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
           "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
           "dev": true
         }
@@ -19973,9 +19214,9 @@
       "dev": true
     },
     "brace-expansion": {
-      "version": "1.1.11",
-      "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz",
-      "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+      "version": "1.1.12",
+      "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
+      "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
       "devOptional": true,
       "requires": {
         "balanced-match": "^1.0.0",
@@ -19983,12 +19224,12 @@
       }
     },
     "braces": {
-      "version": "3.0.2",
-      "resolved": "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz",
-      "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+      "version": "3.0.3",
+      "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+      "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
       "dev": true,
       "requires": {
-        "fill-range": "^7.0.1"
+        "fill-range": "^7.1.1"
       }
     },
     "browser-process-hrtime": {
@@ -19998,15 +19239,15 @@
       "optional": true
     },
     "browserslist": {
-      "version": "4.23.0",
-      "resolved": "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz",
-      "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
+      "version": "4.25.4",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz",
+      "integrity": "sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==",
       "dev": true,
       "requires": {
-        "caniuse-lite": "^1.0.30001587",
-        "electron-to-chromium": "^1.4.668",
-        "node-releases": "^2.0.14",
-        "update-browserslist-db": "^1.0.13"
+        "caniuse-lite": "^1.0.30001737",
+        "electron-to-chromium": "^1.5.211",
+        "node-releases": "^2.0.19",
+        "update-browserslist-db": "^1.1.3"
       }
     },
     "buffer": {
@@ -20026,9 +19267,9 @@
       "dev": true
     },
     "bytes": {
-      "version": "3.0.0",
-      "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz",
-      "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
+      "version": "3.1.2",
+      "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
+      "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
       "dev": true
     },
     "cache-base": {
@@ -20064,7 +19305,6 @@
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
       "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
-      "dev": true,
       "requires": {
         "es-errors": "^1.3.0",
         "function-bind": "^1.1.2"
@@ -20097,9 +19337,9 @@
       }
     },
     "camelcase": {
-      "version": "6.3.0",
-      "resolved": "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz",
-      "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+      "version": "5.3.1",
+      "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+      "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
       "dev": true
     },
     "caniuse-api": {
@@ -20115,9 +19355,9 @@
       }
     },
     "caniuse-lite": {
-      "version": "1.0.30001610",
-      "resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz",
-      "integrity": "sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==",
+      "version": "1.0.30001739",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz",
+      "integrity": "sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==",
       "dev": true
     },
     "canvas": {
@@ -20438,17 +19678,17 @@
       }
     },
     "compression": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz",
-      "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
+      "version": "1.8.1",
+      "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz",
+      "integrity": "sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==",
       "dev": true,
       "requires": {
-        "accepts": "~1.3.5",
-        "bytes": "3.0.0",
-        "compressible": "~2.0.16",
+        "bytes": "3.1.2",
+        "compressible": "~2.0.18",
         "debug": "2.6.9",
-        "on-headers": "~1.0.2",
-        "safe-buffer": "5.1.2",
+        "negotiator": "~0.6.4",
+        "on-headers": "~1.1.0",
+        "safe-buffer": "5.2.1",
         "vary": "~1.1.2"
       },
       "dependencies": {
@@ -20467,10 +19707,10 @@
           "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
           "dev": true
         },
-        "safe-buffer": {
-          "version": "5.1.2",
-          "resolved": "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz",
-          "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
+        "negotiator": {
+          "version": "0.6.4",
+          "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz",
+          "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==",
           "dev": true
         }
       }
@@ -20513,7 +19753,7 @@
     },
     "content-type": {
       "version": "1.0.5",
-      "resolved": "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz",
+      "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
       "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
       "dev": true
     },
@@ -20524,9 +19764,9 @@
       "dev": true
     },
     "cookie": {
-      "version": "0.6.0",
-      "resolved": "https://registry.npmmirror.com/cookie/-/cookie-0.6.0.tgz",
-      "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
+      "version": "0.7.1",
+      "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz",
+      "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==",
       "dev": true
     },
     "cookie-signature": {
@@ -20583,12 +19823,12 @@
       "integrity": "sha512-fu5vHevQ8ZG4og+LXug8ulUtVxjOcEYvifJr7L5Bfq9GOztVqsKd9/59hUk2ZSbCrS3BqUr3EpaYGIYzq7g3Ug=="
     },
     "core-js-compat": {
-      "version": "3.37.0",
-      "resolved": "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.37.0.tgz",
-      "integrity": "sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==",
+      "version": "3.45.1",
+      "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz",
+      "integrity": "sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==",
       "dev": true,
       "requires": {
-        "browserslist": "^4.23.0"
+        "browserslist": "^4.25.3"
       }
     },
     "core-util-is": {
@@ -20611,9 +19851,9 @@
       }
     },
     "cross-spawn": {
-      "version": "7.0.3",
-      "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz",
-      "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+      "version": "7.0.6",
+      "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
+      "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
       "dev": true,
       "requires": {
         "path-key": "^3.1.0",
@@ -20936,12 +20176,12 @@
       "dev": true
     },
     "debug": {
-      "version": "4.3.4",
-      "resolved": "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz",
-      "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+      "version": "4.4.1",
+      "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
+      "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
       "devOptional": true,
       "requires": {
-        "ms": "2.1.2"
+        "ms": "^2.1.3"
       }
     },
     "decimal.js": {
@@ -21083,13 +20323,13 @@
     },
     "depd": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
       "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
       "dev": true
     },
     "destroy": {
       "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz",
+      "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
       "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
       "dev": true
     },
@@ -21248,7 +20488,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz",
       "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
-      "dev": true,
       "requires": {
         "call-bind-apply-helpers": "^1.0.1",
         "es-errors": "^1.3.0",
@@ -21269,14 +20508,14 @@
     },
     "ee-first": {
       "version": "1.1.1",
-      "resolved": "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz",
+      "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
       "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
       "dev": true
     },
     "electron-to-chromium": {
-      "version": "1.4.739",
-      "resolved": "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.739.tgz",
-      "integrity": "sha512-koRkawXOuN9w/ymhTNxGfB8ta4MRKVW0nzifU17G1UwTWlBg0vv7xnz4nxDnRFSBe9nXMGRgICcAzqXc0PmLeA==",
+      "version": "1.5.211",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.211.tgz",
+      "integrity": "sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==",
       "dev": true
     },
     "element-ui": {
@@ -21305,9 +20544,9 @@
       "dev": true
     },
     "encodeurl": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz",
-      "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
+      "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
       "dev": true
     },
     "end-of-stream": {
@@ -21320,9 +20559,9 @@
       }
     },
     "enhanced-resolve": {
-      "version": "5.17.0",
-      "resolved": "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
-      "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+      "version": "5.18.3",
+      "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+      "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
       "dev": true,
       "requires": {
         "graceful-fs": "^4.2.4",
@@ -21341,7 +20580,7 @@
     },
     "entities": {
       "version": "4.5.0",
-      "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
+      "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
       "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
       "dev": true
     },
@@ -21438,14 +20677,12 @@
     "es-define-property": {
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz",
-      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
-      "dev": true
+      "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g=="
     },
     "es-errors": {
       "version": "1.3.0",
       "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz",
-      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
-      "dev": true
+      "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
     },
     "es-module-lexer": {
       "version": "1.5.0",
@@ -21457,7 +20694,6 @@
       "version": "1.1.1",
       "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
       "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
-      "dev": true,
       "requires": {
         "es-errors": "^1.3.0"
       }
@@ -21466,7 +20702,6 @@
       "version": "2.1.0",
       "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
       "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
-      "dev": true,
       "requires": {
         "es-errors": "^1.3.0",
         "get-intrinsic": "^1.2.6",
@@ -21486,9 +20721,9 @@
       }
     },
     "escalade": {
-      "version": "3.1.2",
-      "resolved": "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz",
-      "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
+      "version": "3.2.0",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+      "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
       "dev": true
     },
     "escape-html": {
@@ -21920,7 +21155,7 @@
     },
     "estree-walker": {
       "version": "2.0.2",
-      "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz",
+      "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz",
       "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==",
       "dev": true
     },
@@ -21932,7 +21167,7 @@
     },
     "etag": {
       "version": "1.8.1",
-      "resolved": "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz",
+      "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
       "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
       "dev": true
     },
@@ -21970,9 +21205,9 @@
       },
       "dependencies": {
         "cross-spawn": {
-          "version": "6.0.5",
-          "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz",
-          "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+          "version": "6.0.6",
+          "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz",
+          "integrity": "sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==",
           "dev": true,
           "requires": {
             "nice-try": "^1.0.4",
@@ -22072,37 +21307,37 @@
       }
     },
     "express": {
-      "version": "4.19.2",
-      "resolved": "https://registry.npmmirror.com/express/-/express-4.19.2.tgz",
-      "integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
+      "version": "4.21.2",
+      "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz",
+      "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==",
       "dev": true,
       "requires": {
         "accepts": "~1.3.8",
         "array-flatten": "1.1.1",
-        "body-parser": "1.20.2",
+        "body-parser": "1.20.3",
         "content-disposition": "0.5.4",
         "content-type": "~1.0.4",
-        "cookie": "0.6.0",
+        "cookie": "0.7.1",
         "cookie-signature": "1.0.6",
         "debug": "2.6.9",
         "depd": "2.0.0",
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "etag": "~1.8.1",
-        "finalhandler": "1.2.0",
+        "finalhandler": "1.3.1",
         "fresh": "0.5.2",
         "http-errors": "2.0.0",
-        "merge-descriptors": "1.0.1",
+        "merge-descriptors": "1.0.3",
         "methods": "~1.1.2",
         "on-finished": "2.4.1",
         "parseurl": "~1.3.3",
-        "path-to-regexp": "0.1.7",
+        "path-to-regexp": "0.1.12",
         "proxy-addr": "~2.0.7",
-        "qs": "6.11.0",
+        "qs": "6.13.0",
         "range-parser": "~1.2.1",
         "safe-buffer": "5.2.1",
-        "send": "0.18.0",
-        "serve-static": "1.15.0",
+        "send": "0.19.0",
+        "serve-static": "1.16.2",
         "setprototypeof": "1.2.0",
         "statuses": "2.0.1",
         "type-is": "~1.6.18",
@@ -22203,6 +21438,12 @@
       "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
       "dev": true
     },
+    "fast-uri": {
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
+      "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
+      "dev": true
+    },
     "fastq": {
       "version": "1.17.1",
       "resolved": "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz",
@@ -22240,22 +21481,22 @@
       }
     },
     "fill-range": {
-      "version": "7.0.1",
-      "resolved": "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz",
-      "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+      "version": "7.1.1",
+      "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+      "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
       "dev": true,
       "requires": {
         "to-regex-range": "^5.0.1"
       }
     },
     "finalhandler": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz",
-      "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
+      "version": "1.3.1",
+      "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
+      "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
       "dev": true,
       "requires": {
         "debug": "2.6.9",
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "on-finished": "2.4.1",
         "parseurl": "~1.3.3",
@@ -22265,7 +21506,7 @@
       "dependencies": {
         "debug": {
           "version": "2.6.9",
-          "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
           "dev": true,
           "requires": {
@@ -22274,7 +21515,7 @@
         },
         "ms": {
           "version": "2.0.0",
-          "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+          "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
           "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
           "dev": true
         }
@@ -22345,12 +21586,14 @@
       "dev": true
     },
     "form-data": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
-      "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
+      "version": "4.0.4",
+      "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz",
+      "integrity": "sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==",
       "requires": {
         "asynckit": "^0.4.0",
         "combined-stream": "^1.0.8",
+        "es-set-tostringtag": "^2.1.0",
+        "hasown": "^2.0.2",
         "mime-types": "^2.1.12"
       }
     },
@@ -22377,7 +21620,7 @@
     },
     "fresh": {
       "version": "0.5.2",
-      "resolved": "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz",
+      "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
       "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
       "dev": true
     },
@@ -22424,8 +21667,7 @@
     "function-bind": {
       "version": "1.1.2",
       "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz",
-      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
-      "dev": true
+      "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
     },
     "function.prototype.name": {
       "version": "1.1.8",
@@ -22486,7 +21728,6 @@
       "version": "1.3.0",
       "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
       "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
-      "dev": true,
       "requires": {
         "call-bind-apply-helpers": "^1.0.2",
         "es-define-property": "^1.0.1",
@@ -22504,7 +21745,6 @@
       "version": "1.0.1",
       "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz",
       "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
-      "dev": true,
       "requires": {
         "dunder-proto": "^1.0.1",
         "es-object-atoms": "^1.0.0"
@@ -22565,12 +21805,6 @@
       "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
       "dev": true
     },
-    "globals": {
-      "version": "11.12.0",
-      "resolved": "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz",
-      "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
-      "dev": true
-    },
     "globalthis": {
       "version": "1.0.4",
       "resolved": "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz",
@@ -22606,8 +21840,7 @@
     "gopd": {
       "version": "1.2.0",
       "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz",
-      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
-      "dev": true
+      "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg=="
     },
     "graceful-fs": {
       "version": "4.2.11",
@@ -22680,14 +21913,12 @@
     "has-symbols": {
       "version": "1.1.0",
       "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz",
-      "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
-      "dev": true
+      "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ=="
     },
     "has-tostringtag": {
       "version": "1.0.2",
       "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
       "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
-      "dev": true,
       "requires": {
         "has-symbols": "^1.0.3"
       }
@@ -22760,7 +21991,6 @@
       "version": "2.0.2",
       "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz",
       "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
-      "dev": true,
       "requires": {
         "function-bind": "^1.1.2"
       }
@@ -22864,9 +22094,9 @@
       }
     },
     "html-tags": {
-      "version": "3.3.1",
-      "resolved": "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz",
-      "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==",
+      "version": "2.0.0",
+      "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz",
+      "integrity": "sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==",
       "dev": true
     },
     "html-webpack-plugin": {
@@ -22910,7 +22140,7 @@
     },
     "http-errors": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
       "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
       "dev": true,
       "requires": {
@@ -22950,9 +22180,9 @@
       }
     },
     "http-proxy-middleware": {
-      "version": "2.0.6",
-      "resolved": "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
-      "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
+      "version": "2.0.9",
+      "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz",
+      "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==",
       "dev": true,
       "requires": {
         "@types/http-proxy": "^1.17.8",
@@ -22980,7 +22210,7 @@
     },
     "iconv-lite": {
       "version": "0.4.24",
-      "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz",
+      "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
       "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
       "dev": true,
       "requires": {
@@ -23158,12 +22388,12 @@
       }
     },
     "is-core-module": {
-      "version": "2.13.1",
-      "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz",
-      "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+      "version": "2.16.1",
+      "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
+      "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
       "dev": true,
       "requires": {
-        "hasown": "^2.0.0"
+        "hasown": "^2.0.2"
       }
     },
     "is-data-descriptor": {
@@ -23289,7 +22519,7 @@
     },
     "is-number": {
       "version": "7.0.0",
-      "resolved": "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
       "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
       "dev": true
     },
@@ -23608,9 +22838,9 @@
       }
     },
     "jsesc": {
-      "version": "2.5.2",
-      "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz",
-      "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+      "version": "3.1.0",
+      "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz",
+      "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==",
       "dev": true
     },
     "json-buffer": {
@@ -23810,7 +23040,7 @@
     },
     "lodash.debounce": {
       "version": "4.0.8",
-      "resolved": "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
+      "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
       "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
       "dev": true
     },
@@ -23822,7 +23052,7 @@
     },
     "lodash.kebabcase": {
       "version": "4.1.1",
-      "resolved": "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
+      "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz",
       "integrity": "sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==",
       "dev": true
     },
@@ -24024,12 +23254,12 @@
       }
     },
     "magic-string": {
-      "version": "0.30.10",
-      "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.10.tgz",
-      "integrity": "sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==",
+      "version": "0.30.18",
+      "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz",
+      "integrity": "sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==",
       "dev": true,
       "requires": {
-        "@jridgewell/sourcemap-codec": "^1.4.15"
+        "@jridgewell/sourcemap-codec": "^1.5.5"
       }
     },
     "make-dir": {
@@ -24059,13 +23289,12 @@
     "math-intrinsics": {
       "version": "1.1.0",
       "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
-      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
-      "dev": true
+      "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g=="
     },
     "mathlive": {
-      "version": "0.101.0",
-      "resolved": "https://registry.npmmirror.com/mathlive/-/mathlive-0.101.0.tgz",
-      "integrity": "sha512-/4pXiqttFhThEQ2oxEZjTFyMuVLc0cEe3GjczncaH/bP9ZYhkmlFIWNzyU9zYXzS8YugczAL7trENdCXukXBgA==",
+      "version": "0.101.2",
+      "resolved": "https://registry.npmjs.org/mathlive/-/mathlive-0.101.2.tgz",
+      "integrity": "sha512-PJiJogNcaVgyk34YgJ+jQ460lkBWIQ7u1WSQb/NchZ98NBPxQRwjM6xt7mYVK5n+9O5L/mq3cNXtfcG6hP4VNg==",
       "requires": {
         "@cortex-js/compute-engine": "0.24.1"
       }
@@ -24078,7 +23307,7 @@
     },
     "media-typer": {
       "version": "0.3.0",
-      "resolved": "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz",
+      "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
       "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
       "dev": true
     },
@@ -24092,9 +23321,9 @@
       }
     },
     "merge-descriptors": {
-      "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
-      "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
+      "version": "1.0.3",
+      "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
+      "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
       "dev": true
     },
     "merge-options": {
@@ -24142,12 +23371,12 @@
       "dev": true
     },
     "micromatch": {
-      "version": "4.0.5",
-      "resolved": "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz",
-      "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+      "version": "4.0.8",
+      "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
+      "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
       "dev": true,
       "requires": {
-        "braces": "^3.0.2",
+        "braces": "^3.0.3",
         "picomatch": "^2.3.1"
       }
     },
@@ -24343,9 +23572,9 @@
       "dev": true
     },
     "ms": {
-      "version": "2.1.2",
-      "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz",
-      "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+      "version": "2.1.3",
+      "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
+      "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
       "devOptional": true
     },
     "multicast-dns": {
@@ -24376,9 +23605,9 @@
       "optional": true
     },
     "nanoid": {
-      "version": "3.3.7",
-      "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz",
-      "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g=="
+      "version": "3.3.11",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+      "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w=="
     },
     "nanomatch": {
       "version": "1.2.13",
@@ -24503,9 +23732,9 @@
       "dev": true
     },
     "node-releases": {
-      "version": "2.0.14",
-      "resolved": "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz",
-      "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+      "version": "2.0.19",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
+      "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
       "dev": true
     },
     "nopt": {
@@ -24703,7 +23932,7 @@
     },
     "on-finished": {
       "version": "2.4.1",
-      "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
+      "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
       "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
       "dev": true,
       "requires": {
@@ -24711,9 +23940,9 @@
       }
     },
     "on-headers": {
-      "version": "1.0.2",
-      "resolved": "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz",
-      "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
+      "version": "1.1.0",
+      "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz",
+      "integrity": "sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==",
       "dev": true
     },
     "once": {
@@ -24991,9 +24220,9 @@
       "dev": true
     },
     "path-to-regexp": {
-      "version": "0.1.7",
-      "resolved": "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
-      "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
+      "version": "0.1.12",
+      "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
+      "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
       "dev": true
     },
     "path-type": {
@@ -25003,9 +24232,9 @@
       "dev": true
     },
     "picocolors": {
-      "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz",
-      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+      "version": "1.1.1",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+      "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="
     },
     "picomatch": {
       "version": "2.3.1",
@@ -25064,13 +24293,13 @@
       "dev": true
     },
     "postcss": {
-      "version": "8.4.38",
-      "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz",
-      "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
+      "version": "8.5.6",
+      "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+      "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
       "requires": {
-        "nanoid": "^3.3.7",
-        "picocolors": "^1.0.0",
-        "source-map-js": "^1.2.0"
+        "nanoid": "^3.3.11",
+        "picocolors": "^1.1.1",
+        "source-map-js": "^1.2.1"
       }
     },
     "postcss-calc": {
@@ -25662,12 +24891,12 @@
       }
     },
     "qs": {
-      "version": "6.11.0",
-      "resolved": "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz",
-      "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+      "version": "6.13.0",
+      "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
+      "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
       "dev": true,
       "requires": {
-        "side-channel": "^1.0.4"
+        "side-channel": "^1.0.6"
       }
     },
     "query-string": {
@@ -25709,7 +24938,7 @@
     },
     "raw-body": {
       "version": "2.5.2",
-      "resolved": "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz",
+      "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
       "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
       "dev": true,
       "requires": {
@@ -25717,14 +24946,6 @@
         "http-errors": "2.0.0",
         "iconv-lite": "0.4.24",
         "unpipe": "1.0.0"
-      },
-      "dependencies": {
-        "bytes": {
-          "version": "3.1.2",
-          "resolved": "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz",
-          "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
-          "dev": true
-        }
       }
     },
     "read-pkg": {
@@ -25796,31 +25017,17 @@
     },
     "regenerate": {
       "version": "1.4.2",
-      "resolved": "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz",
+      "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
       "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
       "dev": true
     },
     "regenerate-unicode-properties": {
-      "version": "10.1.1",
-      "resolved": "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz",
-      "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==",
+      "version": "10.2.0",
+      "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
+      "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
       "dev": true,
       "requires": {
         "regenerate": "^1.4.2"
-      }
-    },
-    "regenerator-runtime": {
-      "version": "0.14.1",
-      "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
-      "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
-    },
-    "regenerator-transform": {
-      "version": "0.15.2",
-      "resolved": "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
-      "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
-      "dev": true,
-      "requires": {
-        "@babel/runtime": "^7.8.4"
       }
     },
     "regex-not": {
@@ -25875,32 +25082,38 @@
       "dev": true
     },
     "regexpu-core": {
-      "version": "5.3.2",
-      "resolved": "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz",
-      "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+      "version": "6.2.0",
+      "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz",
+      "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==",
       "dev": true,
       "requires": {
-        "@babel/regjsgen": "^0.8.0",
         "regenerate": "^1.4.2",
-        "regenerate-unicode-properties": "^10.1.0",
-        "regjsparser": "^0.9.1",
+        "regenerate-unicode-properties": "^10.2.0",
+        "regjsgen": "^0.8.0",
+        "regjsparser": "^0.12.0",
         "unicode-match-property-ecmascript": "^2.0.0",
         "unicode-match-property-value-ecmascript": "^2.1.0"
       }
     },
+    "regjsgen": {
+      "version": "0.8.0",
+      "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz",
+      "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==",
+      "dev": true
+    },
     "regjsparser": {
-      "version": "0.9.1",
-      "resolved": "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz",
-      "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
+      "version": "0.12.0",
+      "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz",
+      "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==",
       "dev": true,
       "requires": {
-        "jsesc": "~0.5.0"
+        "jsesc": "~3.0.2"
       },
       "dependencies": {
         "jsesc": {
-          "version": "0.5.0",
-          "resolved": "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz",
-          "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
+          "version": "3.0.2",
+          "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz",
+          "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==",
           "dev": true
         }
       }
@@ -25960,12 +25173,12 @@
       "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
     },
     "resolve": {
-      "version": "1.22.8",
-      "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz",
-      "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+      "version": "1.22.10",
+      "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz",
+      "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==",
       "dev": true,
       "requires": {
-        "is-core-module": "^2.13.0",
+        "is-core-module": "^2.16.0",
         "path-parse": "^1.0.7",
         "supports-preserve-symlinks-flag": "^1.0.0"
       }
@@ -26149,9 +25362,9 @@
       "devOptional": true
     },
     "send": {
-      "version": "0.18.0",
-      "resolved": "https://registry.npmmirror.com/send/-/send-0.18.0.tgz",
-      "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
+      "version": "0.19.0",
+      "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
+      "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
       "dev": true,
       "requires": {
         "debug": "2.6.9",
@@ -26171,7 +25384,7 @@
       "dependencies": {
         "debug": {
           "version": "2.6.9",
-          "resolved": "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz",
+          "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
           "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
           "dev": true,
           "requires": {
@@ -26180,16 +25393,16 @@
           "dependencies": {
             "ms": {
               "version": "2.0.0",
-              "resolved": "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz",
+              "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
               "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
               "dev": true
             }
           }
         },
-        "ms": {
-          "version": "2.1.3",
-          "resolved": "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz",
-          "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
+        "encodeurl": {
+          "version": "1.0.2",
+          "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
+          "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
           "dev": true
         }
       }
@@ -26272,15 +25485,15 @@
       }
     },
     "serve-static": {
-      "version": "1.15.0",
-      "resolved": "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz",
-      "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
+      "version": "1.16.2",
+      "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
+      "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
       "dev": true,
       "requires": {
-        "encodeurl": "~1.0.2",
+        "encodeurl": "~2.0.0",
         "escape-html": "~1.0.3",
         "parseurl": "~1.3.3",
-        "send": "0.18.0"
+        "send": "0.19.0"
       }
     },
     "set-blocking": {
@@ -26340,7 +25553,7 @@
     },
     "setprototypeof": {
       "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz",
+      "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
       "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
       "dev": true
     },
@@ -26610,9 +25823,9 @@
       "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
     },
     "source-map-js": {
-      "version": "1.2.0",
-      "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz",
-      "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg=="
+      "version": "1.2.1",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+      "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA=="
     },
     "source-map-resolve": {
       "version": "0.5.3",
@@ -26802,7 +26015,7 @@
     },
     "statuses": {
       "version": "2.0.1",
-      "resolved": "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
       "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
       "dev": true
     },
@@ -27174,7 +26387,7 @@
     },
     "svg-tags": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz",
       "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==",
       "dev": true
     },
@@ -27290,13 +26503,13 @@
       }
     },
     "terser": {
-      "version": "5.30.3",
-      "resolved": "https://registry.npmmirror.com/terser/-/terser-5.30.3.tgz",
-      "integrity": "sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==",
+      "version": "5.43.1",
+      "resolved": "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz",
+      "integrity": "sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==",
       "dev": true,
       "requires": {
         "@jridgewell/source-map": "^0.3.3",
-        "acorn": "^8.8.2",
+        "acorn": "^8.14.0",
         "commander": "^2.20.0",
         "source-map-support": "~0.5.20"
       },
@@ -27310,27 +26523,55 @@
       }
     },
     "terser-webpack-plugin": {
-      "version": "5.3.10",
-      "resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
-      "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
+      "version": "5.3.14",
+      "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz",
+      "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
       "dev": true,
       "requires": {
-        "@jridgewell/trace-mapping": "^0.3.20",
+        "@jridgewell/trace-mapping": "^0.3.25",
         "jest-worker": "^27.4.5",
-        "schema-utils": "^3.1.1",
-        "serialize-javascript": "^6.0.1",
-        "terser": "^5.26.0"
+        "schema-utils": "^4.3.0",
+        "serialize-javascript": "^6.0.2",
+        "terser": "^5.31.1"
       },
       "dependencies": {
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+        "ajv": {
+          "version": "8.17.1",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+          "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
           "dev": true,
           "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
+            "fast-deep-equal": "^3.1.3",
+            "fast-uri": "^3.0.1",
+            "json-schema-traverse": "^1.0.0",
+            "require-from-string": "^2.0.2"
+          }
+        },
+        "ajv-keywords": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+          "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.3"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "4.3.2",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
+          "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.9",
+            "ajv": "^8.9.0",
+            "ajv-formats": "^2.1.1",
+            "ajv-keywords": "^5.1.0"
           }
         }
       }
@@ -27408,15 +26649,9 @@
       "dev": true
     },
     "tinymce": {
-      "version": "5.4.1",
-      "resolved": "https://registry.npmmirror.com/tinymce/-/tinymce-5.4.1.tgz",
-      "integrity": "sha512-eUjwDVCTSHSnFfpzX5TjTHXsGj5gvPQwzo3RFDF374gfK5voHqcRGojvQnu4NtNW1BAb012/KW1tkXBbUrEveg=="
-    },
-    "to-fast-properties": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
-      "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
-      "dev": true
+      "version": "5.10.9",
+      "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.10.9.tgz",
+      "integrity": "sha512-5bkrors87X9LhYX2xq8GgPHrIgJYHl87YNs+kBcjQ5I3CiUgzo/vFcGvT3MZQ9QHsEeYMhYO6a5CLGGffR8hMg=="
     },
     "to-object-path": {
       "version": "0.3.0",
@@ -27483,7 +26718,7 @@
     },
     "to-regex-range": {
       "version": "5.0.1",
-      "resolved": "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
       "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
       "dev": true,
       "requires": {
@@ -27492,7 +26727,7 @@
     },
     "toidentifier": {
       "version": "1.0.1",
-      "resolved": "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz",
+      "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
       "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
       "dev": true
     },
@@ -27562,7 +26797,7 @@
     },
     "type-is": {
       "version": "1.6.18",
-      "resolved": "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz",
+      "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
       "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
       "dev": true,
       "requires": {
@@ -27658,14 +26893,14 @@
       "dev": true
     },
     "unicode-canonical-property-names-ecmascript": {
-      "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
-      "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==",
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
+      "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
       "dev": true
     },
     "unicode-match-property-ecmascript": {
       "version": "2.0.0",
-      "resolved": "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
       "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
       "dev": true,
       "requires": {
@@ -27674,14 +26909,14 @@
       }
     },
     "unicode-match-property-value-ecmascript": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
-      "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==",
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
+      "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
       "dev": true
     },
     "unicode-property-aliases-ecmascript": {
       "version": "2.1.0",
-      "resolved": "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
+      "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
       "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
       "dev": true
     },
@@ -27711,7 +26946,7 @@
     },
     "unpipe": {
       "version": "1.0.0",
-      "resolved": "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz",
+      "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
       "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
       "dev": true
     },
@@ -27756,13 +26991,13 @@
       }
     },
     "update-browserslist-db": {
-      "version": "1.0.13",
-      "resolved": "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
-      "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz",
+      "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==",
       "dev": true,
       "requires": {
-        "escalade": "^3.1.1",
-        "picocolors": "^1.0.0"
+        "escalade": "^3.2.0",
+        "picocolors": "^1.1.1"
       }
     },
     "uri-js": {
@@ -28122,21 +27357,22 @@
       "devOptional": true
     },
     "webpack": {
-      "version": "5.93.0",
-      "resolved": "https://registry.npmmirror.com/webpack/-/webpack-5.93.0.tgz",
-      "integrity": "sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==",
+      "version": "5.101.3",
+      "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz",
+      "integrity": "sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==",
       "dev": true,
       "requires": {
-        "@types/eslint-scope": "^3.7.3",
-        "@types/estree": "^1.0.5",
-        "@webassemblyjs/ast": "^1.12.1",
-        "@webassemblyjs/wasm-edit": "^1.12.1",
-        "@webassemblyjs/wasm-parser": "^1.12.1",
-        "acorn": "^8.7.1",
-        "acorn-import-attributes": "^1.9.5",
-        "browserslist": "^4.21.10",
+        "@types/eslint-scope": "^3.7.7",
+        "@types/estree": "^1.0.8",
+        "@types/json-schema": "^7.0.15",
+        "@webassemblyjs/ast": "^1.14.1",
+        "@webassemblyjs/wasm-edit": "^1.14.1",
+        "@webassemblyjs/wasm-parser": "^1.14.1",
+        "acorn": "^8.15.0",
+        "acorn-import-phases": "^1.0.3",
+        "browserslist": "^4.24.0",
         "chrome-trace-event": "^1.0.2",
-        "enhanced-resolve": "^5.17.0",
+        "enhanced-resolve": "^5.17.3",
         "es-module-lexer": "^1.2.1",
         "eslint-scope": "5.1.1",
         "events": "^3.2.0",
@@ -28146,22 +27382,50 @@
         "loader-runner": "^4.2.0",
         "mime-types": "^2.1.27",
         "neo-async": "^2.6.2",
-        "schema-utils": "^3.2.0",
+        "schema-utils": "^4.3.2",
         "tapable": "^2.1.1",
-        "terser-webpack-plugin": "^5.3.10",
+        "terser-webpack-plugin": "^5.3.11",
         "watchpack": "^2.4.1",
-        "webpack-sources": "^3.2.3"
+        "webpack-sources": "^3.3.3"
       },
       "dependencies": {
-        "schema-utils": {
-          "version": "3.3.0",
-          "resolved": "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz",
-          "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+        "ajv": {
+          "version": "8.17.1",
+          "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
+          "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
           "dev": true,
           "requires": {
-            "@types/json-schema": "^7.0.8",
-            "ajv": "^6.12.5",
-            "ajv-keywords": "^3.5.2"
+            "fast-deep-equal": "^3.1.3",
+            "fast-uri": "^3.0.1",
+            "json-schema-traverse": "^1.0.0",
+            "require-from-string": "^2.0.2"
+          }
+        },
+        "ajv-keywords": {
+          "version": "5.1.0",
+          "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
+          "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+          "dev": true,
+          "requires": {
+            "fast-deep-equal": "^3.1.3"
+          }
+        },
+        "json-schema-traverse": {
+          "version": "1.0.0",
+          "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
+          "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+          "dev": true
+        },
+        "schema-utils": {
+          "version": "4.3.2",
+          "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz",
+          "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==",
+          "dev": true,
+          "requires": {
+            "@types/json-schema": "^7.0.9",
+            "ajv": "^8.9.0",
+            "ajv-formats": "^2.1.1",
+            "ajv-keywords": "^5.1.0"
           }
         }
       }
@@ -28342,9 +27606,9 @@
           }
         },
         "ws": {
-          "version": "8.16.0",
-          "resolved": "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz",
-          "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
+          "version": "8.18.3",
+          "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz",
+          "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==",
           "dev": true,
           "requires": {}
         }
@@ -28362,9 +27626,9 @@
       }
     },
     "webpack-sources": {
-      "version": "3.2.3",
-      "resolved": "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz",
-      "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+      "version": "3.3.3",
+      "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz",
+      "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==",
       "dev": true
     },
     "webpack-virtual-modules": {
@@ -28569,9 +27833,9 @@
       "devOptional": true
     },
     "ws": {
-      "version": "7.5.9",
-      "resolved": "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz",
-      "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+      "version": "7.5.10",
+      "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz",
+      "integrity": "sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==",
       "dev": true,
       "requires": {}
     },
@@ -28626,6 +27890,11 @@
       "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==",
       "dev": true
     },
+    "yarn": {
+      "version": "1.22.22",
+      "resolved": "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz",
+      "integrity": "sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg=="
+    },
     "yorkie": {
       "version": "2.0.0",
       "resolved": "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz",
diff --git a/package.json b/package.json
index 172a3c6..e7fb375 100644
--- a/package.json
+++ b/package.json
@@ -23,7 +23,8 @@
     "viewerjs": "^1.11.6",
     "vue": "^2.6.14",
     "vue-mathjax": "^0.1.1",
-    "vuex": "^3.6.2"
+    "vuex": "^3.6.2",
+    "yarn": "^1.22.22"
   },
   "devDependencies": {
     "@babel/core": "^7.12.16",
@@ -31,7 +32,7 @@
     "@types/spark-md5": "^3.0.4",
     "@vue/cli-plugin-babel": "~5.0.0",
     "@vue/cli-plugin-eslint": "~5.0.0",
-    "@vue/cli-service": "~5.0.0",
+    "@vue/cli-service": "^5.0.9",
     "eslint": "^7.32.0",
     "eslint-plugin-vue": "^8.0.3",
     "less": "^4.2.0",
diff --git a/public/index.html b/public/index.html
index 1de149b..e007244 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,20 +1,24 @@
 <!DOCTYPE html>
 <html lang="zh-cn">
-  <head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta name="viewport" content="width=device-width,initial-scale=1.0">
-    <meta http-equiv="pragma" content="no-cache">
-    <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
-    <meta http-equiv="expires" content="0">
-    <link rel="icon" href="<%= BASE_URL %>favicon.ico">
-    <title>鏁板瓧鏁欐潗</title>
-  </head>
-  <body>
-    <noscript>
-      <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
-    </noscript>
-    <div id="app"></div>
-    <!-- built files will be auto injected -->
-  </body>
-</html>
+
+<head>
+  <meta charset="utf-8">
+  <meta http-equiv="X-UA-Compatible" content="IE=edge">
+  <meta name="viewport" content="width=device-width,initial-scale=1.0">
+  <meta http-equiv="pragma" content="no-cache">
+  <meta http-equiv="Cache-Control" content="no-cache, must-revalidate">
+  <meta http-equiv="expires" content="0">
+  <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+  <title>鏁板瓧鏁欐潗</title>
+</head>
+
+<body>
+  <noscript>
+    <strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled.
+        Please enable it to continue.</strong>
+  </noscript>
+  <div id="app"></div>
+  <!-- built files will be auto injected -->
+</body>
+
+</html>
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
index 4c7722b..7f9fb8a 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -14,23 +14,27 @@
     </physicalFactorTherapyTechnology>
     <occupationalTherapyTechniques v-if="activeBook.name == 'occupationalTherapyTechniques'">
     </occupationalTherapyTechniques>-->
-    <rehabilitationMedicineIntroduction v-if="activeBook.name == 'rehabilitationMedicineIntroduction'">
+    <!-- <rehabilitationMedicineIntroduction
+      v-if="activeBook.name == 'rehabilitationMedicineIntroduction'"
+    >
     </rehabilitationMedicineIntroduction>
-    <!-- <rehabilitationAssessmentTechniques v-if="activeBook.name == 'rehabilitationAssessmentTechniques'">
-    </rehabilitationAssessmentTechniques>
-    <rehabilitationPsychology v-if="activeBook.name == 'rehabilitationPsychology'"></rehabilitationPsychology>
+    <rehabilitationAssessmentTechniques
+      v-if="activeBook.name == 'rehabilitationAssessmentTechniques'"
+    >
+    </rehabilitationAssessmentTechniques> -->
+    <!--<rehabilitationPsychology v-if="activeBook.name == 'rehabilitationPsychology'"></rehabilitationPsychology>
     <humanKinematicsFundamentals v-if="activeBook.name == 'humanKinematicsFundamentals'"></humanKinematicsFundamentals> -->
     <preventiveDentistry v-if="activeBook.name == 'preventiveDentistry'"></preventiveDentistry>
     <!-- <oralImaging v-if="activeBook.name == 'oralImaging'"></oralImaging>
-    <clinicalDiseasesSummary v-if="activeBook.name == 'clinicalDiseasesSummary'"></clinicalDiseasesSummary>
+    <clinicalDiseasesSummary v-if="activeBook.name == 'clinicalDiseasesSummary'"></clinicalDiseasesSummary> -->
     <digitalDentalRestorationTechnology v-if="activeBook.name == 'digitalDentalRestorationTechnology'">
     </digitalDentalRestorationTechnology>
-    <clinicalMedicalSummary v-if="activeBook.name == 'clinicalMedicalSummary'"></clinicalMedicalSummary>
+    <!-- <clinicalMedicalSummary v-if="activeBook.name == 'clinicalMedicalSummary'"></clinicalMedicalSummary>
     <CTExaminationTechnology v-if="activeBook.name == 'CTExaminationTechnology'"></CTExaminationTechnology>
     <medicalImagingAnatomy v-if="activeBook.name == 'medicalImagingAnatomy'"></medicalImagingAnatomy>
-    <MRIExaminationTechnology v-if="activeBook.name == 'MRIExaminationTechnology'"></MRIExaminationTechnology>
+    <MRIExaminationTechnology v-if="activeBook.name == 'MRIExaminationTechnology'"></MRIExaminationTechnology>-->
     <dentalMorphologyFunction v-if="activeBook.name == 'dentalMorphologyFunction'"></dentalMorphologyFunction>
-    <oralAnatomicalPhysiology v-if="activeBook.name == 'oralAnatomicalPhysiology'"></oralAnatomicalPhysiology>
+    <!-- <oralAnatomicalPhysiology v-if="activeBook.name == 'oralAnatomicalPhysiology'"></oralAnatomicalPhysiology>
     <oralFixedRestorationTechnology v-if="activeBook.name == 'oralFixedRestorationTechnology'">
     </oralFixedRestorationTechnology>
     <RPDtechnology v-if="activeBook.name == 'RPDtechnology'"></RPDtechnology>
@@ -76,14 +80,17 @@
     // orthodontics: () => import("@/books/orthodontics/view/index.vue"),
     // physicalFactorTherapyTechnology: () => import("@/books/physicalFactorTherapyTechnology/view/index.vue"),
     // occupationalTherapyTechniques: () => import("@/books/occupationalTherapyTechniques/view/index.vue"),
-    rehabilitationMedicineIntroduction: () => import("@/books/rehabilitationMedicineIntroduction/view/index.vue"),
-    // rehabilitationAssessmentTechniques: () => import("@/books/rehabilitationAssessmentTechniques/view/index.vue"),
+    rehabilitationMedicineIntroduction: () =>
+      import("@/books/rehabilitationMedicineIntroduction/view/index.vue"),
+    rehabilitationAssessmentTechniques: () =>
+      import("@/books/rehabilitationAssessmentTechniques/view/index.vue"),
     // rehabilitationPsychology: () => import("@/books/rehabilitationPsychology/view/index.vue"),
     // humanKinematicsFundamentals: () => import("@/books/humanKinematicsFundamentals/view/index.vue"),
-    preventiveDentistry: () => import("./books/preventiveDentistry/view/index.vue"),
+    preventiveDentistry: () =>
+      import("./books/preventiveDentistry/view/index.vue"),
     // oralImaging: () => import("./books/oralImaging/view/index.vue"),
     // clinicalDiseasesSummary: () => import("./books/clinicalDiseasesSummary/view/index.vue"),
-    // digitalDentalRestorationTechnology: () => import("./books/digitalDentalRestorationTechnology/view/index.vue"),
+    digitalDentalRestorationTechnology: () => import("./books/digitalDentalRestorationTechnology/view/index.vue"),
     // clinicalMedicalSummary: () => import("./books/clinicalMedicalSummary/view/index.vue"),
     // CTExaminationTechnology: () => import("./books/CTExaminationTechnology/view/index.vue"),
     // medicalImagingAnatomy: () => import("./books/medicalImagingAnatomy/view/index.vue"),
@@ -125,15 +132,15 @@
         },
       });
     } else {
-      // preventiveDentistry                    // 21 鍙h厰棰勯槻鍖诲               
-      // oralImaging                            // 29 鍙h厰褰卞儚瀛�   
+      // preventiveDentistry                    // 21 鍙h厰棰勯槻鍖诲
+      // oralImaging                            // 29 鍙h厰褰卞儚瀛�
       // clinicalDiseasesSummary                // 30 涓村簥鐤剧梾姒傝锛堝彛鑵旓級
       // digitalDentalRestorationTechnology     // 31 鏁板瓧鍖栧彛鑵斾慨澶嶆妧鏈�
       // clinicalMedicalSummary                 // 33 涓村簥鍖诲姒傝
-      // CTExaminationTechnology                // 37 CT妫�鏌ユ妧鏈�             
+      // CTExaminationTechnology                // 37 CT妫�鏌ユ妧鏈�
       // medicalImagingAnatomy                  // 34 鍖诲褰卞儚瑙e墫瀛�
       // MRIExaminationTechnology               // 38 MRI妫�鏌ユ妧鏈�
-      // 鏂板  
+      // 鏂板
       // dentalMorphologyFunction               // 27 鐗欎綋褰㈡�佷笌鍔熻兘
       // oralAnatomicalPhysiology               // 22 鍙h厰瑙e墫鐢熺悊瀛�
       // oralFixedRestorationTechnology         // 24 鍙h厰鍥哄畾淇宸ヨ壓鎶�鏈�
@@ -149,7 +156,7 @@
         process.env.VUE_APP_RESOURCE_CTX +
         (process.env.VUE_APP_ENV == "product"
           ? process.env.VUE_APP_BOOK_ID
-          : "preventiveDentistry")
+          : "digitalDentalRestorationTechnology")
       );
 
       // 娴嬭瘯璇曡30椤�
@@ -163,8 +170,7 @@
     }
   },
   methods: {
-    but() {
-    },
+    but() { },
   },
 };
 </script>
diff --git a/src/assets/icons/index.js b/src/assets/icons/index.js
index a7af535..ee00fce 100644
--- a/src/assets/icons/index.js
+++ b/src/assets/icons/index.js
@@ -2,9 +2,29 @@
 import svgIcon from "@/components/svgIcon/index.vue";
 Vue.component("svg-icon", svgIcon);
 
-const req = require.context("@/assets/icons/svg", false, /\.svg$/);
+// 淇敼涓哄皢SVG娉ㄥ叆鍒扮埗搴旂敤DOM
+const requireContext = require.context("@/assets/icons/svg", false, /\.svg$/);
 const requireAll = (requireContext) => {
-  // requireContext.keys()鏁版嵁锛歔'./404.svg', './agency.svg', './det.svg', './user.svg']
-  requireContext.keys().map(requireContext);
+  const svgSymbols = requireContext.keys().map(key => {
+    return requireContext(key).default || requireContext(key);
+  });
+
+  // 鍒涘缓SVG sprite瀹瑰櫒
+  const spriteContainer = document.createElement('div');
+  spriteContainer.id = 'svg-sprite-container';
+  spriteContainer.style.display = 'none';
+  
+  // 鏋勫缓SVG sprite
+  const svgSprite = `
+    <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+      ${svgSymbols.join('')}
+    </svg>
+  `;
+  
+  spriteContainer.innerHTML = svgSprite;
+  
+  // 鍏抽敭锛氭敞鍏ュ埌鐖跺簲鐢ㄧ殑body涓�
+  (window.parent || window).document.body.appendChild(spriteContainer);
 };
-requireAll(req);
+
+requireAll(requireContext);
diff --git a/src/assets/js/config.js b/src/assets/js/config.js
index b7d114d..4f7c89e 100644
--- a/src/assets/js/config.js
+++ b/src/assets/js/config.js
@@ -13,11 +13,10 @@
   return response.data;
 };
 
-
-
 export const appId = 0;
 export const requestTimeOut = 300000; // 璇锋眰瓒呮椂鏃堕棿
-export const tokenKey = "token";
+// export const tokenKey = "token";
+export const tokenKey = "xiehe-token";
 //  export const tokenKey = "website-front-token"
 
 const config = {
diff --git a/src/assets/methods/examination.js b/src/assets/methods/examination.js
index 984b098..57fa963 100644
--- a/src/assets/methods/examination.js
+++ b/src/assets/methods/examination.js
@@ -63,15 +63,18 @@
     if (
       foundItems &&
       foundItems.Embedded_QuestionBank_QuestionType == "material"
-    ) {
+    ) {  
       foundItems.childList = bookQuestionsList.filter(
-        (ditem) =>
-          ditem.productLinkInfo[0].LinkPath == foundItems.productLinkPath
+        (ditem) => ditem.productLinkInfo[0].LinkPath == foundItems.productLinkPath
       );
     }
-
     let foundlist = [];
-    foundlist.push(foundItems);
+    if(foundItems){
+      foundlist.push(foundItems);
+    }else{
+      console.error("棰樼洰Id閿欒"+ qitem)
+      return
+    }
     if (foundlist.length > 0 && foundlist != undefined) {
       foundlist.forEach((item, index) => {
         const questionObj = handleQuestion(item, index + 1, oldList, collectList);
@@ -99,183 +102,6 @@
       });
     }
   }
-
-  // for (let qindex = 0; qindex < questionList.length; qindex++) {
-  //   const qitem = questionList[qindex];
-  //   let query = {
-  //     storeInfo: activeBook.storeRefcode,
-  //     path: "*",
-  //     cmsPath: activeBook.rootCmsItemId,
-  //     cmsType: "*",
-  //     productId: activeBook.bookId,
-  //     queryType: "*",
-  //     itemIds: qitem + "",
-  //     itemFields: {
-  //       Embedded_QuestionBank_Stem: [],
-  //       Embedded_QuestionBank_AnalysisCon: [],
-  //       Embedded_QuestionBank_Answer: [],
-  //       Embedded_QuestionBank_Option: [],
-  //       Embedded_QuestionBank_QuestionType: [],
-  //       Embedded_QuestionBank_StemStyle: [],
-  //       Embedded_QuestionBank_OptionStyle: [],
-  //       Embedded_QuestionBank_KnowledgePoint: [],
-  //       Embedded_QuestionBank_Difficulty: [],
-  //     },
-  //   };
-  //   const res = await MG.store.getProductDetail(query);
-  //   console.log(res.datas.cmsDatas[0].datas, "鏉愭枡棰�");
-  //   if (!res.datas) return false;
-  //   res.datas.cmsDatas[0].datas.forEach((item, index) => {
-  //     let oldObj = {};
-  //     if (oldList) {
-  //       oldObj = oldList.find((item) => item.id == qitem);
-  //     }
-  //     const questionObj = {
-  //       number: index + 1, // 棰樺彿
-  //       id: item.id,
-  //       stem:
-  //         item.Embedded_QuestionBank_QuestionType == "completion"
-  //           ? JSON.parse(item.Embedded_QuestionBank_Stem)
-  //               .stemTxt.replaceAll("<vacancy>", ",input,")
-  //               .split(",")
-  //           : JSON.parse(item.Embedded_QuestionBank_Stem), // 棰樺共
-  //       answer: item.Embedded_QuestionBank_Answer, // 绛旀
-  //       option: item.Embedded_QuestionBank_Option
-  //         ? JSON.parse(item.Embedded_QuestionBank_Option)
-  //         : "", // 閫夋嫨棰橀�夐」
-  //       analysisCon: item.Embedded_QuestionBank_AnalysisCon, // 瑙f瀽
-  //       questionType: item.Embedded_QuestionBank_QuestionType, // 棰樺瀷
-  //       optionStyle: item.Embedded_QuestionBank_OptionStyle, // 閫夐」鏄剧ず绫诲瀷
-  //       stemStyle: item.Embedded_QuestionBank_StemStyle, // 棰樺共鏄剧ず绫诲瀷
-  //       difficulty: item.Embedded_QuestionBank_Difficulty
-  //         ? 4 - item.Embedded_QuestionBank_Difficulty
-  //         : 0, // 闅惧害绛夌骇
-  //       userAnswer: oldObj
-  //         ? oldObj.userAnswer
-  //         : item.Embedded_QuestionBank_QuestionType == "completion" ||
-  //           item.Embedded_QuestionBank_QuestionType == "multipleChoice"
-  //         ? []
-  //         : "",
-  //       isSubmit: false, // 鏌ョ湅瑙f瀽
-  //       isRight: null, // 鏄惁姝g‘
-  //       isComplete: false,
-  //       isCollect: collectList.indexOf(qitem) > -1 ? true : false,
-  //       isUnfold: "",
-  //     };
-
-  //     console.log(item, "鏉愭枡棰�");
-
-  //     // 澶氶�夊拰濉┖绛旀鑲负鏁扮粍锛岃杞崲JSON鏍煎紡
-  //     if (
-  //       questionObj.questionType == "completion" ||
-  //       questionObj.questionType == "multipleChoice"
-  //     ) {
-  //       try {
-  //         questionObj.answer = JSON.parse(questionObj.answer);
-  //       } catch (error) {
-  //         questionObj.answer = item.Embedded_QuestionBank_Answer;
-  //       }
-  //     }
-  //     // 濉┖棰樻敼閫�
-  //     if (questionObj.questionType == "completion") {
-  //       let index = 0;
-  //       for (let i = 0; i < questionObj.stem.length; i++) {
-  //         const item = questionObj.stem[i];
-  //         if (item == "input") {
-  //           questionObj.stem[i] = {
-  //             num: index,
-  //             data: "input",
-  //           };
-  //           questionObj.userAnswer[index] = "";
-  //           index++;
-  //         }
-  //       }
-  //     }
-  //     // 鑾峰彇鍥剧墖
-  //     if (
-  //       questionObj.stemStyle == "Image" ||
-  //       questionObj.stemStyle == "TxtAndImage"
-  //     ) {
-  //       questionObj.stem.stemImage = getPublicImage(
-  //         questionObj.stem.stemImage,
-  //         150
-  //       );
-  //     }
-  //     if (
-  //       questionObj.optionStyle == "Image" ||
-  //       questionObj.optionStyle == "TxtAndImage"
-  //     ) {
-  //       questionObj.option.forEach((optionItem) => {
-  //         if (optionItem.img)
-  //           optionItem.img = getPublicImage(optionItem.img, 150);
-  //       });
-  //     }
-  //     // 棰樺共瀵屾枃鏈鐞�
-  //     if (questionObj.stemStyle == "RichText") {
-  //       // questionObj.option.txt = ''
-  //       questionObj.stem.stemTxt = questionObj.stem.stemTxt
-  //         .replace(
-  //           /\<img/gi,
-  //           '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" '
-  //         )
-  //         .replace(/\<p/gi, '<p class="stem-rich-p"')
-  //         .replace("../file", process.env.VUE_APP_API_URL + "/file");
-  //     }
-  //     // 閫夐」瀵屾枃鏈鐞�
-  //     if (
-  //       questionObj.optionStyle == "RichText" &&
-  //       (questionObj.questionType == "singleChoice" ||
-  //         questionObj.questionType == "judge" ||
-  //         questionObj.questionType == "multipleChoice")
-  //     ) {
-  //       questionObj.option.forEach((item) => {
-  //         if (item.txt)
-  //           item.txt = item.txt
-  //             .replace(/\<img/gi, '<img class="option-rich-img"')
-  //             .replace(/\<p/gi, '<p class="stem-rich-p"')
-  //             .replace("../file", process.env.VUE_APP_API_URL + "/file");
-  //       });
-  //     }
-  //     // 瑙f瀽瀵屾枃鏈鐞�
-  //     if (
-  //       questionObj.analysisCon &&
-  //       typeof questionObj.analysisCon == "string"
-  //     ) {
-  //       questionObj.analysisCon = questionObj.analysisCon.replace(
-  //         /\<img/gi,
-  //         '<img style="max-width: 300rpx !important;object-fit: contain;" class="stem-rich-img" '
-  //       );
-  //     }
-  //     // 鍚姏棰樹慨鏀�
-  //     // if (questionObj.questionType == 'singleChoice') {
-  //     //   const src = this.extractSourceSrc(questionObj.stem.stemTxt)
-  //     //   if (src) {
-  //     //     questionObj.src = src
-  //     //     questionObj.stem.stemTxt = this.removeVideoAndAudioTags(questionObj.stem.stemTxt)
-  //     //   }
-  //     // }
-
-  //     if (item.Embedded_QuestionBank_QuestionType == "judge") {
-  //       questionObj.type = "鍒ゆ柇棰�";
-  //       judgeArr.push(questionObj);
-  //     } else if (item.Embedded_QuestionBank_QuestionType == "singleChoice") {
-  //       questionObj.type = "鍗曢�夐";
-  //       singleChoiceArr.push(questionObj);
-  //     } else if (item.Embedded_QuestionBank_QuestionType == "multipleChoice") {
-  //       questionObj.type = "澶氶�夐";
-  //       multipleChoiceArr.push(questionObj);
-  //     } else if (item.Embedded_QuestionBank_QuestionType == "completion") {
-  //       questionObj.type = "濉┖棰�";
-  //       completionArr.push(questionObj);
-  //     } else if (item.Embedded_QuestionBank_QuestionType == "shortAnswer") {
-  //       questionObj.type = "绠�绛旈";
-  //       shortArr.push(questionObj);
-  //     } else if (item.Embedded_QuestionBank_QuestionType == "material") {
-  //       questionObj.type = "鏉愭枡棰�";
-  //       materialArr.push(questionObj);
-  //     }
-  //   });
-  // }
   // 22
   cardList[0].infoList = singleChoiceArr;
   cardList[1].infoList = judgeArr;
@@ -301,6 +127,7 @@
   if (oldList) {
     oldObj = oldList.find((oldItem) => oldItem.id == qitem);
   }
+
   // 1. 鏋勫缓 questionObj 鐨勫熀纭�缁撴瀯
   const questionObj = {
     number: index + 1, // 棰樺彿
@@ -329,13 +156,15 @@
         ? []
         : "",
     isSubmit: false, // 鏌ョ湅瑙f瀽
-    isRight: null, // 鏄惁姝g‘
-    isComplete: false,
+    isRight: oldObj
+    ? oldObj.isRight
+    :null, // 鏄惁姝g‘
+    isComplete: oldObj
+    ? oldObj.isComplete
+    : false,
     isCollect: collectList.indexOf(qitem) > -1 ? true : false,
     isUnfold: "",
   };
-
-
 
   // 2. 澶勭悊澶氶�夊拰濉┖棰樼殑绛旀锛圝SON鏍煎紡杞崲锛�
   if (
@@ -372,13 +201,9 @@
 
   // 4. 鏉愭枡棰樺鐞� (鏍稿績閫掑綊鐐�)
   if (questionObj.questionType == "material" && Array.isArray(item.childList)) {
-
     // 閬嶅巻瀛愰鐩垪琛紝骞跺姣忎竴涓瓙椤归�掑綊璋冪敤 processQuestionItem
     questionObj.childList = item.childList.map((childItem, childIndex) => {
-      // 瀛愰鐩�氬父涓嶉渶瑕� oldList 鍜� collectList锛屼絾涓轰簡閫昏緫缁熶竴锛屽彲浠ヤ紶鍏�
-      // 濡傛灉瀛愰鐩篃闇�瑕佺嫭绔嬬殑浣滅瓟鐘舵�佸拰鏀惰棌鐘舵�侊紝鍒欓渶瑕佽皟鏁� oldList 鍜� collectList 鐨勭粨鏋�
-      // 杩欓噷鍋囪瀹冧滑涓嶉渶瑕侊紝鎴栬�呯敱鐖剁骇鏉愭枡棰樼粺涓�绠$悊
-      return handleQuestion(childItem, childIndex + 1, null, []);
+      return handleQuestion(childItem, childIndex + 1, oldList, collectList);
     });
   }
 
diff --git a/src/books/CTExaminationTechnology/view/components/index.vue b/src/books/CTExaminationTechnology/view/components/index.vue
index 6398a87..b124a77 100644
--- a/src/books/CTExaminationTechnology/view/components/index.vue
+++ b/src/books/CTExaminationTechnology/view/components/index.vue
@@ -1,41 +1,64 @@
 <template>
-    <div class="page-main" @scroll="throttledScrollHandler">
-        <div id="searchDomBox" style="display: none">
-            <div id="searchContent"></div>
-        </div>
-        <div class="page-content" :style="{
-            fontSize: fontSize + 'px',
-            transform: `scale(${pageZoom})`,
-            transformOrigin: 'center top',
-        }">
-            <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList"></pageHeader>
-            <chapterOne v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterOne>
-            <chapterTwo v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterTwo>
-            <chapterThree v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterThree>
-            <chapterFour v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterFour>
-            <chapterFive v-if="showCatalogList.indexOf(6) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterFive>
-        </div>
+  <div class="page-main" @scroll="throttledScrollHandler">
+    <div id="searchDomBox" style="display: none">
+      <div id="searchContent"></div>
     </div>
+    <div
+      class="page-content"
+      :style="{
+        fontSize: fontSize + 'px',
+        transform: `scale(${pageZoom})`,
+        transformOrigin: 'center top',
+      }"
+    >
+      <pageHeader
+        v-if="showCatalogList.indexOf(1) > -1"
+        :showPageList="loadPageList"
+        
+      ></pageHeader>
+      <chapterOne
+        v-if="showCatalogList.indexOf(2) > -1"
+        :showPageList="loadPageList"
+        :getResourceInfo="resourceListFun"
+        :interfaceQuestion="bookQuestionsList"
+      >
+      </chapterOne>
+      <chapterTwo
+        v-if="showCatalogList.indexOf(3) > -1"
+        :showPageList="loadPageList"
+        :resourceList="resourceList"
+      >
+      </chapterTwo>
+      <chapterThree
+        v-if="showCatalogList.indexOf(4) > -1"
+        :showPageList="loadPageList"
+        :resourceList="resourceList"
+      >
+      </chapterThree>
+      <chapterFour
+        v-if="showCatalogList.indexOf(5) > -1"
+        :showPageList="loadPageList"
+        :resourceList="resourceList"
+      >
+      </chapterFour>
+      <chapterFive
+        v-if="showCatalogList.indexOf(6) > -1"
+        :showPageList="loadPageList"
+        :resourceList="resourceList"
+      >
+      </chapterFive>
+    </div>
+  </div>
 </template>
 
 <script>
 import Vue from "vue";
 import pageHeader from "./header.vue";
-import chapterOne from "./chapter001.vue"
-import chapterTwo from "./chapter002.vue"
-import chapterThree from "./chapter003.vue"
-import chapterFour from "./chapter004.vue"
-import chapterFive from "./chapter005.vue"
+import chapterOne from "./chapter001.vue";
+import chapterTwo from "./chapter002.vue";
+import chapterThree from "./chapter003.vue";
+import chapterFour from "./chapter004.vue";
+import chapterFive from "./chapter005.vue";
 // import chapterSix from "./chapter006.vue"
 import NoteIcon from "@/assets/images/biji.png";
 import _ from "lodash";
@@ -44,921 +67,741 @@
 import Viewer from "viewerjs";
 import "viewerjs/dist/viewer.css";
 export default {
-    name: "pageContent",
-    data() {
-        return {
-            catalogLength: 7, // 鎬荤珷鑺傛暟
-            showCatalogList: [], // 鏄剧ず鐨勭珷鑺�
-            loadThreshold: 300, // 瑙﹀彂鍔犺浇闃堝��
-            throttleThreshold: 100, // 鑺傛祦闃堝��
-            previousScrollTop: 0,
-            throttledScrollHandler: null,
-            observer: null,
-            loadPageObserver: null,
-            loadPageList: [],
-            questionDataMap: {},
-            renderSignMap: {},
-            highlightData: null,
-            audioPath: "",
-            currentTime: null,
-            videoList: [],
-            resourceList: {},
-        };
+  name: "pageContent",
+  data() {
+    return {
+      catalogLength: 7, // 鎬荤珷鑺傛暟
+      showCatalogList: [], // 鏄剧ず鐨勭珷鑺�
+      loadThreshold: 300, // 瑙﹀彂鍔犺浇闃堝��
+      throttleThreshold: 100, // 鑺傛祦闃堝��
+      previousScrollTop: 0,
+      throttledScrollHandler: null,
+      observer: null,
+      loadPageObserver: null,
+      loadPageList: [],
+      questionDataMap: {},
+      renderSignMap: {},
+      highlightData: null,
+      audioPath: "",
+      currentTime: null,
+      videoList: [],
+      resourceList: [],
+    };
+  },
+  computed: {
+    fontSize() {
+      this.transformDom(this.$store.state.qiankun.fontSize);
+      return this.$store.state.qiankun.fontSize
+        ? this.$store.state.qiankun.fontSize
+        : 14;
     },
-    computed: {
-        fontSize() {
-            this.transformDom(this.$store.state.qiankun.fontSize);
-            return this.$store.state.qiankun.fontSize
-                ? this.$store.state.qiankun.fontSize
-                : 14;
-        },
-        pageZoom() {
-            return this.$store.state.qiankun.scale
-                ? this.$store.state.qiankun.scale / 100
-                : 1;
-        },
+    pageZoom() {
+      return this.$store.state.qiankun.scale
+        ? this.$store.state.qiankun.scale / 100
+        : 1;
     },
-    watch: {
-        showCatalogList: {
-            handler(newVal, oldVal) {
-                if (
-                    this.$store.state.qiankun &&
-                    this.$store.state.qiankun.catalogChange
-                ) {
-                    // 璋冪敤鐖跺眰鏂规硶
-                    this.$store.state.qiankun.catalogChange({
-                        showCatalogList: newVal,
-                    });
-                }
-                // 鍚姩椤电爜瑙傚療
-                setTimeout(() => {
-                    this.initObservation();
-                    this.initThemeColor();
-                }, 500);
-            },
-        },
-        loadPageList: {
-            handler(newVal, oldVal) {
-                setTimeout(() => {
-                    this.transformDom(this.$store.state.qiankun.fontSize);
-                    this.initSwiper();
-                    this.initViewer();
-                    this.closeAudio();
-                    this.closeVideo();
-                }, 200);
-            },
-        },
-        pageZoom: {
-            handler(newVal, oldVal) {
-                const scrollBox = (
-                    this.container ? this.container : document
-                ).querySelector(".page-main");
-                scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal;
-            },
-        },
-        resourceList: {
-            handler(newVal, oldVal) {
-                this.resourceList = newVal;
-            },
-        },
-    },
-    mounted() {
-        // 榛樿鍔犺浇绔犺妭
-        this.showCatalogList = [1];
-        // 婊氬姩鐩戝惉鑺傛祦
-        this.throttledScrollHandler = _.throttle(
-            this.scrollFun,
-            this.throttleThreshold,
-            { leading: true, trailing: false }
-        );
-        // 瀹氫箟瀛愬眰鏂规硶
-        if (this.setGlobalState) {
-            // 鎻愪緵椤甸潰璺宠浆鍔熻兘
-            this.setGlobalState({
-                gotoPage: (catalog, page) => {
-                    this.gotoPage(catalog, page);
-                },
-                // 娓叉煋绗旇銆侀珮浜�佸垝绾�
-                renderSign: (type, data) => {
-                    // 鍥犱负璋冩暣涓洪〉闈㈡噿鍔犺浇锛屾墍浠ユ覆鏌撴爣璁颁篃闇�瑕佹寜鐓ч〉闈㈣繘琛屽鐞嗭紝鍏堝偍瀛樻暟鎹紝椤甸潰鍔犺浇瀹屾垚鍐嶆覆鏌撳搴旂殑鏍囪锛�
-                    this.handelSignData(type, data);
-                    // this.renderSign(type, data);
-                },
-                // 鍒犻櫎绗旇銆侀珮浜�佸垝绾�
-                delSign: (data) => {
-                    this.delSign(data);
-                },
-                // 鍏ㄦ枃妫�绱�
-                searchBookByKeyword: (keyword) => {
-                    return this.searchTextByPage(keyword);
-                },
-                // 璺宠浆妫�绱㈢粨鏋滀綅缃�
-                jumpSearchItem: (data) => {
-                    this.searchItemLocation(data);
-                },
-            });
+  },
+  watch: {
+    showCatalogList: {
+      handler(newVal, oldVal) {
+        if (
+          this.$store.state.qiankun &&
+          this.$store.state.qiankun.catalogChange
+        ) {
+          // 璋冪敤鐖跺眰鏂规硶
+          this.$store.state.qiankun.catalogChange({
+            showCatalogList: newVal,
+          });
         }
-
-        // 鍒涘缓涓�涓柊鐨� Intersection Observer 瀹炰緥锛岀敤浜庤瀵熺洰鏍囧厓绱犲拰鎵ц鐩稿簲鐨勫洖璋冨嚱鏁般��
-        // new IntersectionObserver(callback, options)锛氫娇鐢ㄤ箣鍓嶅畾涔夌殑 callback 鍥炶皟鍑芥暟鍜� options 閰嶇疆閫夐」鏉ュ垵濮嬪寲 Intersection Observer 瀹炰緥銆�
-        this.observer = new IntersectionObserver(this.pageChangeCallback, {
-            root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
-            rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
-            threshold: 0.5, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
-        });
-
-        this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, {
-            root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
-            rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
-            threshold: 0, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
-        });
-
-        // this.getBookResourceList();
-
         // 鍚姩椤电爜瑙傚療
         setTimeout(() => {
-            this.initObservation();
-            this.initThemeColor();
+          this.initObservation();
         }, 500);
-
-        // 娴嬭瘯椤甸潰璺宠浆
-        // setTimeout(() => {
-        //     this.gotoPage(6, 199);
-        // }, 500);
-
-        // const pageDom = (this.container ? this.container : document)
-        //   .querySelector("#app")
-        //   .querySelectorAll(".page-box");
-        // 妫�绱�
-        // console.log(this.searchTextByPage("淇濇姢鍐呰剰鍣ㄥ畼"), "searchTextByPage");
-        // 妫�绱㈣烦杞�
-        // this.searchItemLocation({
-        //   catalog: 2,
-        //   page: 10,
-        //   txt: " 杩愬姩绯荤粺鏄敱楠ㄣ�侀杩炵粨鍜岄楠艰倢涓夐儴鍒嗙粍鎴愮殑銆傚叏韬殑楠ㄩ�氳繃楠ㄨ繛缁撶粍鎴愪汉浣撻楠硷紙瑙佸浘1-1锛夈�傞楠兼槸浜轰綋鐨勬敮鏋讹紝鍏锋湁淇濇姢鍐呰剰鍣ㄥ畼銆佷緵鑲岃倝闄勭潃鍜屼綔涓鸿倢鑲夎繍鍔ㄧ殑鏉犳潌绛変綔鐢ㄣ�傚湪绁炵粡绯荤粺鐨勬敮閰嶄笅锛岃倢鑲夋敹缂╃壍鍔ㄦ墍闄勭潃鐨勯缁曠潃鍏宠妭杞姩锛屼娇韬綋浜х敓鍚勭鍔ㄤ綔銆傛墍浠ワ紝杩愬姩绯荤粺鍏锋湁杩愬姩銆佹敮鎸佸拰淇濇姢绛夊姛鑳斤紝骞煎勾鏃舵湡鐨勯楠艰繕鍏锋湁閫犺鍔熻兘銆� ",
-        //   txtIndex: 57
-        // });
-        // }, 500);
-
+      },
     },
-    methods: {
-        // setZoom1() {
-        //   let scale = this.$store.state.qiankun.scale + 10;
-        //   const scrollBox = (
-        //     this.container ? this.container : document
-        //   ).querySelector(".page-main");
-        //   this.$store.commit("setZoom", scale);
-        // },
-        // setZoom2() {
-        //   let scale = this.$store.state.qiankun.scale - 10;
-        //   const scrollBox = (
-        //     this.container ? this.container : document
-        //   ).querySelector(".page-main");
-        //   this.$store.commit("setZoom", scale);
-        // },
-        // 璇锋眰璧勬簮Json
-        async getBookResourceList() {
-            this.resourceList = await this.config.getBookResources(
-                process.env.VUE_APP_RESOURCE_CTX + (process.env.VUE_APP_ENV == "product"
-                    ? process.env.VUE_APP_BOOK_ID
-                    : "clinicalDiseasesSummary")
+    loadPageList: {
+      handler(newVal, oldVal) {
+        setTimeout(() => {
+          this.transformDom(this.$store.state.qiankun.fontSize);
+          this.initSwiper();
+          this.initViewer();
+          this.closeAudio();
+          this.closeVideo();
+          this.initThemeColor();
+        }, 200);
+      },
+    },
+    pageZoom: {
+      handler(newVal, oldVal) {
+        const scrollBox = (
+          this.container ? this.container : document
+        ).querySelector(".page-main");
+        scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal;
+      },
+    },
+    resourceList: {
+      handler(newVal, oldVal) {
+        this.resourceList = newVal;
+      },
+    },
+  },
+  mounted() {
+    // 榛樿鍔犺浇绔犺妭
+    this.showCatalogList = [1];
+    // 婊氬姩鐩戝惉鑺傛祦
+    this.throttledScrollHandler = _.throttle(
+      this.scrollFun,
+      this.throttleThreshold,
+      { leading: true, trailing: false }
+    );
+    // 瀹氫箟瀛愬眰鏂规硶
+    if (this.setGlobalState) {
+      // 鎻愪緵椤甸潰璺宠浆鍔熻兘
+      this.setGlobalState({
+        gotoPage: (catalog, page) => {
+          this.gotoPage(catalog, page);
+        },
+        // 娓叉煋绗旇銆侀珮浜�佸垝绾�
+        renderSign: (type, data) => {
+          // 鍥犱负璋冩暣涓洪〉闈㈡噿鍔犺浇锛屾墍浠ユ覆鏌撴爣璁颁篃闇�瑕佹寜鐓ч〉闈㈣繘琛屽鐞嗭紝鍏堝偍瀛樻暟鎹紝椤甸潰鍔犺浇瀹屾垚鍐嶆覆鏌撳搴旂殑鏍囪锛�
+          this.handelSignData(type, data);
+          // this.renderSign(type, data);
+        },
+        // 鍒犻櫎绗旇銆侀珮浜�佸垝绾�
+        delSign: (data) => {
+          this.delSign(data);
+        },
+        // 鍏ㄦ枃妫�绱�
+        searchBookByKeyword: (keyword) => {
+          return this.searchTextByPage(keyword);
+        },
+        // 璺宠浆妫�绱㈢粨鏋滀綅缃�
+        jumpSearchItem: (data) => {
+          this.searchItemLocation(data);
+        },
+      });
+    }
+
+    // 鍒涘缓涓�涓柊鐨� Intersection Observer 瀹炰緥锛岀敤浜庤瀵熺洰鏍囧厓绱犲拰鎵ц鐩稿簲鐨勫洖璋冨嚱鏁般��
+    // new IntersectionObserver(callback, options)锛氫娇鐢ㄤ箣鍓嶅畾涔夌殑 callback 鍥炶皟鍑芥暟鍜� options 閰嶇疆閫夐」鏉ュ垵濮嬪寲 Intersection Observer 瀹炰緥銆�
+    this.observer = new IntersectionObserver(this.pageChangeCallback, {
+      root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
+      rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
+      threshold: 0.5, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
+    });
+
+    this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, {
+      root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
+      rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
+      threshold: 0, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
+    });
+
+    this.getBookResourceList();
+    // 鑾峰彇鏁存湰涔﹂鐩�
+    this.getBookQuestionList();
+    // 鍚姩椤电爜瑙傚療
+    setTimeout(() => {
+      this.initObservation();
+    }, 500);
+
+    // 娴嬭瘯椤甸潰璺宠浆
+    // setTimeout(() => {
+    //     this.gotoPage(6, 199);
+    // }, 500);
+
+    // const pageDom = (this.container ? this.container : document)
+    //   .querySelector("#app")
+    //   .querySelectorAll(".page-box");
+    // 妫�绱�
+    // console.log(this.searchTextByPage("淇濇姢鍐呰剰鍣ㄥ畼"), "searchTextByPage");
+    // 妫�绱㈣烦杞�
+    // this.searchItemLocation({
+    //   catalog: 2,
+    //   page: 10,
+    //   txt: " 杩愬姩绯荤粺鏄敱楠ㄣ�侀杩炵粨鍜岄楠艰倢涓夐儴鍒嗙粍鎴愮殑銆傚叏韬殑楠ㄩ�氳繃楠ㄨ繛缁撶粍鎴愪汉浣撻楠硷紙瑙佸浘1-1锛夈�傞楠兼槸浜轰綋鐨勬敮鏋讹紝鍏锋湁淇濇姢鍐呰剰鍣ㄥ畼銆佷緵鑲岃倝闄勭潃鍜屼綔涓鸿倢鑲夎繍鍔ㄧ殑鏉犳潌绛変綔鐢ㄣ�傚湪绁炵粡绯荤粺鐨勬敮閰嶄笅锛岃倢鑲夋敹缂╃壍鍔ㄦ墍闄勭潃鐨勯缁曠潃鍏宠妭杞姩锛屼娇韬綋浜х敓鍚勭鍔ㄤ綔銆傛墍浠ワ紝杩愬姩绯荤粺鍏锋湁杩愬姩銆佹敮鎸佸拰淇濇姢绛夊姛鑳斤紝骞煎勾鏃舵湡鐨勯楠艰繕鍏锋湁閫犺鍔熻兘銆� ",
+    //   txtIndex: 57
+    // });
+    // }, 500);
+  },
+  methods: {
+    // setZoom1() {
+    //   let scale = this.$store.state.qiankun.scale + 10;
+    //   const scrollBox = (
+    //     this.container ? this.container : document
+    //   ).querySelector(".page-main");
+    //   this.$store.commit("setZoom", scale);
+    // },
+    // setZoom2() {
+    //   let scale = this.$store.state.qiankun.scale - 10;
+    //   const scrollBox = (
+    //     this.container ? this.container : document
+    //   ).querySelector(".page-main");
+    //   this.$store.commit("setZoom", scale);
+    // },
+    // 璇锋眰璧勬簮Json
+    async getBookResourceList() {
+      this.resourceList = await this.config
+        .getBookResources(
+          process.env.VUE_APP_RESOURCE_CTX +
+            (process.env.VUE_APP_ENV == "product"
+              ? process.env.VUE_APP_BOOK_ID
+              : "clinicalDiseasesSummary")
+        )
+        .then((data) => {
+          this.resourceList = data;
+        })
+        .catch((error) => {
+          console.error("鑾峰彇鍥句功璧勬簮鍒楄〃澶辫触:", error);
+        });
+    },
+    // 鑾峰彇鍥句功闂鍒楄〃
+    getBookQuestionList() {
+      let query = {
+        storeInfo: this.config.activeBook.storeRefcode,
+        path: "*",
+        cmsPath: this.config.activeBook.rootCmsItemId,
+        cmsType: "*",
+        productId: this.config.activeBook.bookId,
+        queryType: "*",
+        itemFields: {
+          Embedded_QuestionBank_Stem: [],
+          Embedded_QuestionBank_AnalysisCon: [],
+          Embedded_QuestionBank_Answer: [],
+          Embedded_QuestionBank_Option: [],
+          Embedded_QuestionBank_QuestionType: [],
+          Embedded_QuestionBank_StemStyle: [],
+          Embedded_QuestionBank_OptionStyle: [],
+          Embedded_QuestionBank_KnowledgePoint: [],
+          Embedded_QuestionBank_Difficulty: [],
+        },
+      };
+      MG.store
+        .getProductDetail(query)
+        .then((res) => {
+          let bookQuestionList = [];
+          if (res.datas.cmsDatas[0].datas.length > 0) {
+            res.datas.cmsDatas[0].datas.forEach((item) => {
+              if (item.datas.Type === "questionBankItem") {
+                bookQuestionList.push(item);
+              }
+            });
+          }
+          this.bookQuestionsList = bookQuestionList;
+        })
+        .catch((error) => {
+          console.error("鑾峰彇鍥句功闂鍒楄〃澶辫触:", error);
+        });
+    },
+    resourceListFun(id, key) {
+      let data = this.resourceList.find(item => item.key == id)
+      return key ? data[key] : data
+    },
+    // 婊氬姩鐩戝惉
+    scrollFun(event) {
+      this.handleVideoPicture();
+      // 鍒ゆ柇鍚戜笂婊氬姩杩樻槸鍚戜笅婊氬姩
+      if (event.target.scrollTop > this.previousScrollTop) {
+        this.getAduio();
+        // 鍚戜笅
+        const currentScrollTop =
+          event.target.scrollTop + event.target.offsetHeight;
+        if (
+          currentScrollTop >=
+          event.target.scrollHeight - this.loadThreshold
+        ) {
+          console.log(1);
+
+          // 鍒拌揪闃堝��
+          if (
+            this.showCatalogList[this.showCatalogList.length - 1] <
+            this.catalogLength
+          ) {
+            // 鍔犺浇涓嬩竴绔�
+            this.showCatalogList.push(
+              this.showCatalogList[this.showCatalogList.length - 1] + 1
             );
-        },
-        // 婊氬姩鐩戝惉
-        scrollFun(event) {
-            this.handleVideoPicture();
-            // 鍒ゆ柇鍚戜笂婊氬姩杩樻槸鍚戜笅婊氬姩
-            if (event.target.scrollTop > this.previousScrollTop) {
-                this.getAduio();
-                // 鍚戜笅
-                const currentScrollTop =
-                    event.target.scrollTop + event.target.offsetHeight;
-                if (
-                    currentScrollTop >=
-                    event.target.scrollHeight - this.loadThreshold
-                ) {
-                    console.log(1);
-
-                    // 鍒拌揪闃堝��
-                    if (
-                        this.showCatalogList[this.showCatalogList.length - 1] <
-                        this.catalogLength
-                    ) {
-                        // 鍔犺浇涓嬩竴绔�
-                        this.showCatalogList.push(
-                            this.showCatalogList[this.showCatalogList.length - 1] + 1
-                        );
-                        if (this.showCatalogList.length > 3) {
-                            // 瓒呰繃涓夌珷闅愯棌椤堕儴涓�绔�
-                            this.showCatalogList.shift();
-                        }
-                    }
-                }
-            } else if (event.target.scrollTop < this.previousScrollTop) {
-                this.handleAudio();
-                // 鍚戜笂
-                const currentScrollTop = event.target.scrollTop;
-                if (currentScrollTop <= this.loadThreshold) {
-                    // 鍒拌揪闃堝��
-                    if (this.showCatalogList[0] > 0) {
-                        // 鍔犺浇涓婁竴绔�
-                        this.showCatalogList.unshift(this.showCatalogList[0] - 1);
-                        if (this.showCatalogList.length > 3) {
-                            // 瓒呰繃涓夌珷闅愯棌搴曢儴涓�绔�
-                            this.showCatalogList.pop();
-                        }
-                    }
-                }
+            if (this.showCatalogList.length > 3) {
+              // 瓒呰繃涓夌珷闅愯棌椤堕儴涓�绔�
+              this.showCatalogList.shift();
             }
-            // showCatalogList 褰撳墠鏄剧ず鐨勪笁涓珷鑺傦紝watch鐩戝惉浼犻�掔粰涓诲簲鐢�
-            // 鏇存柊涓婁竴娆℃粴鍔ㄧ殑浣嶇疆
-            this.previousScrollTop = event.target.scrollTop;
-        },
-        // 绔犺妭銆侀〉闈㈣烦杞�
-        gotoPage(catalog, page) {
-            if (catalog >= 0 && catalog <= this.catalogLength) {
-                // 澶勭悊娓叉煋绔犺妭
-                if (catalog == 0) {
-                    this.showCatalogList = [0, 1];
-                } else if (catalog == this.catalogLength) {
-                    this.showCatalogList = [
-                        this.catalogLength - 2,
-                        this.catalogLength - 1,
-                        this.catalogLength,
-                    ];
-                } else {
-                    this.showCatalogList = [catalog - 1, catalog, catalog + 1];
-                }
-                setTimeout(() => {
-                    // 璺宠浆椤电爜
-                    const pageDom = (
-                        this.container ? this.container : document
-                    ).querySelector(`[page="${page}"]`);
-                    if (pageDom) {
-                        pageDom.scrollIntoView();
-                    } else {
-                        console.log("椤电爜閿欒锛�");
-                    }
-                }, 500);
-            } else {
-                console.log("绔犺妭閿欒锛�");
+          }
+        }
+      } else if (event.target.scrollTop < this.previousScrollTop) {
+        this.handleAudio();
+        // 鍚戜笂
+        const currentScrollTop = event.target.scrollTop;
+        if (currentScrollTop <= this.loadThreshold) {
+          // 鍒拌揪闃堝��
+          if (this.showCatalogList[0] > 0) {
+            // 鍔犺浇涓婁竴绔�
+            this.showCatalogList.unshift(this.showCatalogList[0] - 1);
+            if (this.showCatalogList.length > 3) {
+              // 瓒呰繃涓夌珷闅愯棌搴曢儴涓�绔�
+              this.showCatalogList.pop();
             }
-        },
+          }
+        }
+      }
+      // showCatalogList 褰撳墠鏄剧ず鐨勪笁涓珷鑺傦紝watch鐩戝惉浼犻�掔粰涓诲簲鐢�
+      // 鏇存柊涓婁竴娆℃粴鍔ㄧ殑浣嶇疆
+      this.previousScrollTop = event.target.scrollTop;
+    },
+    // 绔犺妭銆侀〉闈㈣烦杞�
+    gotoPage(catalog, page) {
+      if (catalog >= 0 && catalog <= this.catalogLength) {
+        // 澶勭悊娓叉煋绔犺妭
+        if (catalog == 0) {
+          this.showCatalogList = [0, 1];
+        } else if (catalog == this.catalogLength) {
+          this.showCatalogList = [
+            this.catalogLength - 2,
+            this.catalogLength - 1,
+            this.catalogLength,
+          ];
+        } else {
+          this.showCatalogList = [catalog - 1, catalog, catalog + 1];
+        }
+        setTimeout(() => {
+          // 璺宠浆椤电爜
+          const pageDom = (
+            this.container ? this.container : document
+          ).querySelector(`[page="${page}"]`);
+          if (pageDom) {
+            pageDom.scrollIntoView();
+          } else {
+            console.log("椤电爜閿欒锛�");
+          }
+        }, 500);
+      } else {
+        console.log("绔犺妭閿欒锛�");
+      }
+    },
 
-        // 澶勭悊鏍囪鏁版嵁
-        handelSignData(type, data) {
-            if (this.loadPageList.indexOf(Number(data.page)) > -1) {
-                // 绔嬪嵆娓叉煋
-                this.renderSign(type, data);
+    // 澶勭悊鏍囪鏁版嵁
+    handelSignData(type, data) {
+      if (this.loadPageList.indexOf(Number(data.page)) > -1) {
+        // 绔嬪嵆娓叉煋
+        this.renderSign(type, data);
+      }
+
+      // 鍌ㄥ瓨鏁版嵁
+      if (!this.renderSignMap[type]) this.renderSignMap[type] = {};
+      if (!this.renderSignMap[type][data.page])
+        this.renderSignMap[type][data.page] = [];
+      this.renderSignMap[type][data.page].push(data);
+    },
+
+    // 娓叉煋鏍囪
+    renderSign(type, data) {
+      // 鐖跺眰璁剧疆绂佹娓叉煋鏍囪鏃朵笉鍐嶈繘琛屾覆鏌�
+      if (this.$store.state.qiankun.disableSign) {
+        return false;
+      }
+      const existence = (
+        this.container ? this.container : document
+      ).querySelector(`[dataid="${data.id}"]`);
+      // 鍘婚噸
+      if (!existence) {
+        const pageDom = (
+          this.container ? this.container : document
+        ).querySelector(`[page="${data.page}"]`);
+        // 鍒涘缓 createTreeWalker 杩唬鍣紝鐢ㄤ簬閬嶅巻鏂囨湰鑺傜偣锛屼繚瀛樺埌涓�涓暟缁�
+        const treeWalker = document.createTreeWalker(
+          pageDom,
+          NodeFilter.SHOW_TEXT
+        );
+        const allTextNodes = [];
+        let currentNode = treeWalker.nextNode();
+        while (currentNode) {
+          allTextNodes.push(currentNode);
+          currentNode = treeWalker.nextNode();
+        }
+        for (let i = 0; i < allTextNodes.length; i++) {
+          const textDom = allTextNodes[i];
+          if (textDom.textContent.indexOf(data.txt) > -1) {
+            let reg = new RegExp(`${data.txt}`, "ig");
+            switch (type) {
+              case "Highlight":
+                // 楂樹寒
+                textDom.parentNode.innerHTML =
+                  textDom.parentNode.innerHTML.replace(
+                    reg,
+                    `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>`
+                  );
+                break;
+              case "Dashing":
+                // 鍒掔嚎
+                textDom.parentNode.innerHTML =
+                  textDom.parentNode.innerHTML.replace(
+                    reg,
+                    `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>`
+                  );
+                break;
+              case "Note":
+                // 绗旇
+                textDom.parentNode.innerHTML =
+                  textDom.parentNode.innerHTML.replace(
+                    reg,
+                    `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>`
+                  );
+                break;
             }
-
-            // 鍌ㄥ瓨鏁版嵁
-            if (!this.renderSignMap[type]) this.renderSignMap[type] = {};
-            if (!this.renderSignMap[type][data.page])
-                this.renderSignMap[type][data.page] = [];
-            this.renderSignMap[type][data.page].push(data);
-        },
-
-        // 娓叉煋鏍囪
-        renderSign(type, data) {
-            // 鐖跺眰璁剧疆绂佹娓叉煋鏍囪鏃朵笉鍐嶈繘琛屾覆鏌�
-            if (this.$store.state.qiankun.disableSign) {
-                return false;
+          }
+        }
+      }
+    },
+    // 鍒犻櫎鏍囪娓叉煋
+    delSign({ ids, type }) {
+      if (ids && ids.length) {
+        for (let i = 0; i < ids.length; i++) {
+          const id = ids[i];
+          const dom = (
+            this.container ? this.container : document
+          ).querySelector(`[dataid="${id}"]`);
+          dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
+            dom.outerHTML,
+            dom.outerText
+          );
+        }
+      }
+      if (type) {
+        const doms = (
+          this.container ? this.container : document
+        ).querySelectorAll(`[datatype="${type}"]`);
+        for (let i = 0; i < doms.length; i++) {
+          const dom = doms[i];
+          dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
+            dom.outerHTML,
+            dom.outerText
+          );
+        }
+      }
+    },
+    initObservation() {
+      const sections = (
+        this.container ? this.container : document
+      ).querySelectorAll(".page-box");
+      sections.forEach((section) => {
+        if (this.config.activeBook && this.config.activeBook.tryPageCount) {
+          const page = section.getAttribute("page");
+          if (Number(page) > this.config.activeBook.tryPageCount) {
+            let chapterDom = this.getParentWithClass(section, "chapter");
+            const chapterNum = chapterDom.getAttribute("num");
+            this.catalogLength = Number(chapterNum) - 1;
+            section.remove();
+            return false;
+          }
+        }
+        // observer 瑙傚療姣忎釜鍏冪礌锛屼互渚垮湪瀹冧滑杩涘叆鎴栫寮�瑙嗙獥鏃惰Е鍙戝洖璋冨嚱鏁般��
+        const isObserver = section.getAttribute("observer");
+        const isLoadObserver = section.getAttribute("loadObserver");
+        if (!isObserver) {
+          this.observer.observe(section);
+          section.setAttribute("observer", "1");
+        }
+        if (!isLoadObserver) {
+          this.loadPageObserver.observe(section);
+          section.setAttribute("loadObserver", "1");
+        }
+      });
+    },
+    initThemeColor() {
+      // 鑾峰彇鍚勭闇�瑕佷富棰樿壊鐨勮妭鐐�
+      const colorDom = (
+        this.container ? this.container : document
+      ).querySelectorAll(".theme-color");
+      const backgroundColorDom = (
+        this.container ? this.container : document
+      ).querySelectorAll(".theme-back");
+      const borderColorDom = (
+        this.container ? this.container : document
+      ).querySelectorAll(".theme-border");
+      // 鑾峰彇閰嶇疆鐨勪富棰樿壊
+      const bookThemeColor =
+        this.config.activeBook && this.config.activeBook.bookThemeColor
+          ? this.config.activeBook.bookThemeColor
+          : null;
+      const chapterThemeColor =
+        this.config.activeBook && this.config.activeBook.chapterThemeColor
+          ? this.config.activeBook.chapterThemeColor
+          : null;
+      const pageThemeColor =
+        this.config.activeBook && this.config.activeBook.pageThemeColor
+          ? this.config.activeBook.pageThemeColor
+          : null;
+      colorDom.forEach((domItem) => {
+        // 鑾峰彇绔犺妭銆侀〉鐮�
+        let pageDom = this.getParentWithClass(domItem, "page-box");
+        let chapterDom = this.getParentWithClass(domItem, "chapter");
+        let page, chapterNum;
+        if (pageDom) page = pageDom.getAttribute("page");
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        // 鍚戜笂鍖归厤涓婚鑹�
+        const themeColor =
+          page && pageThemeColor && pageThemeColor[page]
+            ? pageThemeColor[page]
+            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
+            ? chapterThemeColor[chapterNum]
+            : bookThemeColor;
+        if (themeColor) {
+          domItem.style.color = themeColor;
+        }
+      });
+      backgroundColorDom.forEach((domItem) => {
+        // 鑾峰彇绔犺妭銆侀〉鐮�
+        let pageDom = this.getParentWithClass(domItem, "page-box");
+        let chapterDom = this.getParentWithClass(domItem, "chapter");
+        let page, chapterNum;
+        if (pageDom) page = pageDom.getAttribute("page");
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        // 鍚戜笂鍖归厤涓婚鑹�
+        const themeColor =
+          page && pageThemeColor && pageThemeColor[page]
+            ? pageThemeColor[page]
+            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
+            ? chapterThemeColor[chapterNum]
+            : bookThemeColor;
+        if (themeColor) {
+          domItem.style.backgroundColor = themeColor;
+        }
+      });
+      borderColorDom.forEach((domItem) => {
+        // 鑾峰彇绔犺妭銆侀〉鐮�
+        let pageDom = this.getParentWithClass(domItem, "page-box");
+        let chapterDom = this.getParentWithClass(domItem, "chapter");
+        let page, chapterNum;
+        if (pageDom) page = pageDom.getAttribute("page");
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        // 鍚戜笂鍖归厤涓婚鑹�
+        const themeColor =
+          page && pageThemeColor && pageThemeColor[page]
+            ? pageThemeColor[page]
+            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
+            ? chapterThemeColor[chapterNum]
+            : bookThemeColor;
+        if (themeColor) {
+          domItem.style.borderColor = themeColor;
+        }
+      });
+    },
+    getParentWithClass(element, className) {
+      while (element.parentElement) {
+        element = element.parentElement;
+        if (element.classList.contains(className)) {
+          return element;
+        }
+      }
+    },
+    pageChangeCallback(entries, observer) {
+      //entries锛氫唬琛ㄨ瀵熷埌鐨勭洰鏍囧厓绱犵殑闆嗗悎銆� observer锛氫唬琛ㄨ瀵熻�呭璞°��
+      entries.forEach((entry) => {
+        //entry.isIntersecting锛氭鏌ュ綋鍓嶇洰鏍囧厓绱犳槸鍚︿笌鏍瑰厓绱犵浉浜ゃ��
+        if (entry.isIntersecting) {
+          const target = entry.target;
+          //entry.target锛氳幏鍙栧綋鍓嶇洰鏍囧厓绱�
+          const page = target.getAttribute("page");
+          const catalogDom = this.tool.getParentNodeByClassName(
+            target,
+            "chapter"
+          );
+          const catalog = catalogDom.getAttribute("num");
+          let text = null;
+          if (target.querySelector("p")) {
+            text = target.querySelector("p").textContent.substring(0, 50);
+          }
+          // 杩斿洖椤电爜鍜岀珷鑺備俊鎭�
+          if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange)
+            this.$store.state.qiankun.pageChange({
+              page: page,
+              catalog: catalog,
+              text,
+            });
+          // const sections = Array.from(document.querySelectorAll(".section"));
+          //sections锛氳幏鍙栨墍鏈夊叿鏈� .section 绫诲悕鐨勫厓绱狅紝骞惰浆鎹负鏁扮粍銆�
+          // let index = sections.findIndex((section) => section === target) + 1;
+          //index锛氭煡鎵惧綋鍓嶇洰鏍囧厓绱犲湪 sections 鏁扮粍涓殑绱㈠紩锛屽苟鍔� 1锛岀敤浜庣‘瀹氬綋鍓嶉〉鐮併��
+        }
+      });
+    },
+    loadPageCallback(entries, observer) {
+      entries.forEach(async (entry) => {
+        if (entry.isIntersecting) {
+          const target = entry.target;
+          const page = target.getAttribute("page");
+          if (this.loadPageList.indexOf(Number(page)) == -1) {
+            const catalogDom = this.tool.getParentNodeByClassName(
+              target,
+              "chapter"
+            );
+            // 娣诲姞椤电爜
+            this.loadPageList.push(Number(page));
+            const catalog = catalogDom.getAttribute("num");
+            // if (!this.questionDataMap[page]) {
+            //   if (testData && testData[catalog]) {
+            //     if (testData[catalog][page]) {
+            //       if (Array.isArray(testData[catalog][page])) {
+            //         this.questionDataMap[page] = await getQuestionList(
+            //           page,
+            //           testData[catalog][page],
+            //           this.config.activeBook
+            //         );
+            //       } else {
+            //         const obj = {};
+            //         for (let key in testData[catalog][page]) {
+            //           obj[key] = await getQuestionList(
+            //             [],
+            //             testData[catalog][page][key],
+            //             this.config.activeBook
+            //           );
+            //         }
+            //         this.questionDataMap[page] = obj;
+            //       }
+            //       console.log("棰樼洰", this.questionDataMap);
+            //     }
+            //   }
+            // }
+            // 娓叉煋杩欎竴椤电殑鏍囪
+            for (const key in this.renderSignMap) {
+              if (this.renderSignMap[key][page]) {
+                this.renderSignMap[key][page].forEach((item) => {
+                  this.renderSign(key, item);
+                });
+              }
             }
-            const existence = (
-                this.container ? this.container : document
-            ).querySelector(`[dataid="${data.id}"]`);
-            // 鍘婚噸
-            if (!existence) {
-                const pageDom = (
-                    this.container ? this.container : document
-                ).querySelector(`[page="${data.page}"]`);
-                // 鍒涘缓 createTreeWalker 杩唬鍣紝鐢ㄤ簬閬嶅巻鏂囨湰鑺傜偣锛屼繚瀛樺埌涓�涓暟缁�
-                const treeWalker = document.createTreeWalker(
-                    pageDom,
-                    NodeFilter.SHOW_TEXT
+            // 澶勭悊楂樹寒
+            if (this.highlightData) {
+              // 楂樹寒琛�
+              setTimeout(() => {
+                // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
+                const pageTextList = document.createTreeWalker(
+                  target,
+                  NodeFilter.SHOW_TEXT
                 );
-                const allTextNodes = [];
-                let currentNode = treeWalker.nextNode();
+                // 鍖归厤鍏抽敭瀛�
+                const allPageTextNodes = [];
+                let currentNode = pageTextList.nextNode();
                 while (currentNode) {
-                    allTextNodes.push(currentNode);
-                    currentNode = treeWalker.nextNode();
+                  allPageTextNodes.push(currentNode);
+                  currentNode = pageTextList.nextNode();
                 }
-                for (let i = 0; i < allTextNodes.length; i++) {
-                    const textDom = allTextNodes[i];
-                    if (textDom.textContent.indexOf(data.txt) > -1) {
-                        let reg = new RegExp(`${data.txt}`, "ig");
-                        switch (type) {
-                            case "Highlight":
-                                // 楂樹寒
-                                textDom.parentNode.innerHTML =
-                                    textDom.parentNode.innerHTML.replace(
-                                        reg,
-                                        `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>`
-                                    );
-                                break;
-                            case "Dashing":
-                                // 鍒掔嚎
-                                textDom.parentNode.innerHTML =
-                                    textDom.parentNode.innerHTML.replace(
-                                        reg,
-                                        `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>`
-                                    );
-                                break;
-                            case "Note":
-                                // 绗旇
-                                textDom.parentNode.innerHTML =
-                                    textDom.parentNode.innerHTML.replace(
-                                        reg,
-                                        `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>`
-                                    );
-                                break;
-                        }
-                    }
+                for (let i = 0; i < allPageTextNodes.length; i++) {
+                  const textDom = allPageTextNodes[i];
+                  let txtIndex = textDom.textContent.indexOf(
+                    this.highlightData.txt
+                  );
+                  if (txtIndex > -1) {
+                    textDom.parentNode.style.transition =
+                      "background-color 0.8s";
+                    textDom.parentNode.scrollIntoView();
+                    textDom.parentNode.style.backgroundColor = "#79bbf0";
+                    setTimeout(() => {
+                      textDom.parentNode.style.backgroundColor = "";
+                    }, 1000);
+                  }
                 }
+              }, 100);
             }
-        },
-        // 鍒犻櫎鏍囪娓叉煋
-        delSign({ ids, type }) {
-            if (ids && ids.length) {
-                for (let i = 0; i < ids.length; i++) {
-                    const id = ids[i];
-                    const dom = (
-                        this.container ? this.container : document
-                    ).querySelector(`[dataid="${id}"]`);
-                    dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
-                        dom.outerHTML,
-                        dom.outerText
-                    );
-                }
+            if (this.loadPageList.length > 5) {
+              // 瓒呰繃5椤�
+              this.loadPageList.shift();
             }
-            if (type) {
-                const doms = (
-                    this.container ? this.container : document
-                ).querySelectorAll(`[datatype="${type}"]`);
-                for (let i = 0; i < doms.length; i++) {
-                    const dom = doms[i];
-                    dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
-                        dom.outerHTML,
-                        dom.outerText
-                    );
-                }
-            }
-        },
-        initObservation() {
-            const sections = (
-                this.container ? this.container : document
-            ).querySelectorAll(".page-box");
-            sections.forEach((section) => {
-                if (this.config.activeBook && this.config.activeBook.tryPageCount) {
-                    const page = section.getAttribute("page");
-                    if (Number(page) > this.config.activeBook.tryPageCount) {
-                        let chapterDom = this.getParentWithClass(section, "chapter");
-                        const chapterNum = chapterDom.getAttribute("num");
-                        this.catalogLength = Number(chapterNum) - 1;
-                        section.remove();
-                        return false;
-                    }
-                }
-                // observer 瑙傚療姣忎釜鍏冪礌锛屼互渚垮湪瀹冧滑杩涘叆鎴栫寮�瑙嗙獥鏃惰Е鍙戝洖璋冨嚱鏁般��
-                const isObserver = section.getAttribute("observer");
-                const isLoadObserver = section.getAttribute("loadObserver");
-                if (!isObserver) {
-                    this.observer.observe(section);
-                    section.setAttribute("observer", "1");
-                }
-                if (!isLoadObserver) {
-                    this.loadPageObserver.observe(section);
-                    section.setAttribute("loadObserver", "1");
-                }
-            });
-        },
-        initThemeColor() {
-            // 鑾峰彇鍚勭闇�瑕佷富棰樿壊鐨勮妭鐐�
-            const colorDom = (
-                this.container ? this.container : document
-            ).querySelectorAll(".theme-color");
-            const backgroundColorDom = (
-                this.container ? this.container : document
-            ).querySelectorAll(".theme-back");
-            const borderColorDom = (
-                this.container ? this.container : document
-            ).querySelectorAll(".theme-border");
-            // 鑾峰彇閰嶇疆鐨勪富棰樿壊
-            const bookThemeColor =
-                this.config.activeBook && this.config.activeBook.bookThemeColor
-                    ? this.config.activeBook.bookThemeColor
-                    : null;
-            const chapterThemeColor =
-                this.config.activeBook && this.config.activeBook.chapterThemeColor
-                    ? this.config.activeBook.chapterThemeColor
-                    : null;
-            const pageThemeColor =
-                this.config.activeBook && this.config.activeBook.pageThemeColor
-                    ? this.config.activeBook.pageThemeColor
-                    : null;
-            colorDom.forEach((domItem) => {
-                // 鑾峰彇绔犺妭銆侀〉鐮�
-                let pageDom = this.getParentWithClass(domItem, "page-box");
-                let chapterDom = this.getParentWithClass(domItem, "chapter");
-                let page, chapterNum;
-                if (pageDom) page = pageDom.getAttribute("page");
-                if (chapterDom) chapterNum = chapterDom.getAttribute("num");
-                // 鍚戜笂鍖归厤涓婚鑹�
-                const themeColor =
-                    page && pageThemeColor && pageThemeColor[page]
-                        ? pageThemeColor[page]
-                        : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-                            ? chapterThemeColor[chapterNum]
-                            : bookThemeColor;
-                if (themeColor) {
-                    domItem.style.color = themeColor;
-                }
-            });
-            backgroundColorDom.forEach((domItem) => {
-                // 鑾峰彇绔犺妭銆侀〉鐮�
-                let pageDom = this.getParentWithClass(domItem, "page-box");
-                let chapterDom = this.getParentWithClass(domItem, "chapter");
-                let page, chapterNum;
-                if (pageDom) page = pageDom.getAttribute("page");
-                if (chapterDom) chapterNum = chapterDom.getAttribute("num");
-                // 鍚戜笂鍖归厤涓婚鑹�
-                const themeColor =
-                    page && pageThemeColor && pageThemeColor[page]
-                        ? pageThemeColor[page]
-                        : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-                            ? chapterThemeColor[chapterNum]
-                            : bookThemeColor;
-                if (themeColor) {
-                    domItem.style.backgroundColor = themeColor;
-                }
-            });
-            borderColorDom.forEach((domItem) => {
-                // 鑾峰彇绔犺妭銆侀〉鐮�
-                let pageDom = this.getParentWithClass(domItem, "page-box");
-                let chapterDom = this.getParentWithClass(domItem, "chapter");
-                let page, chapterNum;
-                if (pageDom) page = pageDom.getAttribute("page");
-                if (chapterDom) chapterNum = chapterDom.getAttribute("num");
-                // 鍚戜笂鍖归厤涓婚鑹�
-                const themeColor =
-                    page && pageThemeColor && pageThemeColor[page]
-                        ? pageThemeColor[page]
-                        : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-                            ? chapterThemeColor[chapterNum]
-                            : bookThemeColor;
-                if (themeColor) {
-                    domItem.style.borderColor = themeColor;
-                }
-            });
-        },
-        getParentWithClass(element, className) {
-            while (element.parentElement) {
-                element = element.parentElement;
-                if (element.classList.contains(className)) {
-                    return element;
-                }
-            }
-        },
-        pageChangeCallback(entries, observer) {
-            //entries锛氫唬琛ㄨ瀵熷埌鐨勭洰鏍囧厓绱犵殑闆嗗悎銆� observer锛氫唬琛ㄨ瀵熻�呭璞°��
-            entries.forEach((entry) => {
-                //entry.isIntersecting锛氭鏌ュ綋鍓嶇洰鏍囧厓绱犳槸鍚︿笌鏍瑰厓绱犵浉浜ゃ��
-                if (entry.isIntersecting) {
-                    const target = entry.target;
-                    //entry.target锛氳幏鍙栧綋鍓嶇洰鏍囧厓绱�
-                    const page = target.getAttribute("page");
-                    const catalogDom = this.tool.getParentNodeByClassName(
-                        target,
-                        "chapter"
-                    );
-                    const catalog = catalogDom.getAttribute("num");
-                    let text = null;
-                    if (target.querySelector("p")) {
-                        text = target.querySelector("p").textContent.substring(0, 50);
-                    }
-                    // 杩斿洖椤电爜鍜岀珷鑺備俊鎭�
-                    if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange)
-                        this.$store.state.qiankun.pageChange({
-                            page: page,
-                            catalog: catalog,
-                            text,
-                        });
-                    // const sections = Array.from(document.querySelectorAll(".section"));
-                    //sections锛氳幏鍙栨墍鏈夊叿鏈� .section 绫诲悕鐨勫厓绱狅紝骞惰浆鎹负鏁扮粍銆�
-                    // let index = sections.findIndex((section) => section === target) + 1;
-                    //index锛氭煡鎵惧綋鍓嶇洰鏍囧厓绱犲湪 sections 鏁扮粍涓殑绱㈠紩锛屽苟鍔� 1锛岀敤浜庣‘瀹氬綋鍓嶉〉鐮併��
-                }
-            });
-        },
-        loadPageCallback(entries, observer) {
-            entries.forEach(async (entry) => {
-                if (entry.isIntersecting) {
-                    const target = entry.target;
-                    const page = target.getAttribute("page");
-                    if (this.loadPageList.indexOf(Number(page)) == -1) {
-                        const catalogDom = this.tool.getParentNodeByClassName(
-                            target,
-                            "chapter"
-                        );
-                        // 娣诲姞椤电爜
-                        this.loadPageList.push(Number(page));
-                        const catalog = catalogDom.getAttribute("num");
-                        // if (!this.questionDataMap[page]) {
-                        //   if (testData && testData[catalog]) {
-                        //     if (testData[catalog][page]) {
-                        //       if (Array.isArray(testData[catalog][page])) {
-                        //         this.questionDataMap[page] = await getQuestionList(
-                        //           page,
-                        //           testData[catalog][page],
-                        //           this.config.activeBook
-                        //         );
-                        //       } else {
-                        //         const obj = {};
-                        //         for (let key in testData[catalog][page]) {
-                        //           obj[key] = await getQuestionList(
-                        //             [],
-                        //             testData[catalog][page][key],
-                        //             this.config.activeBook
-                        //           );
-                        //         }
-                        //         this.questionDataMap[page] = obj;
-                        //       }
-                        //       console.log("棰樼洰", this.questionDataMap);
-                        //     }
-                        //   }
-                        // }
-                        // 娓叉煋杩欎竴椤电殑鏍囪
-                        for (const key in this.renderSignMap) {
-                            if (this.renderSignMap[key][page]) {
-                                this.renderSignMap[key][page].forEach((item) => {
-                                    this.renderSign(key, item);
-                                });
-                            }
-                        }
-                        // 澶勭悊楂樹寒
-                        if (this.highlightData) {
-                            // 楂樹寒琛�
-                            setTimeout(() => {
-                                // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
-                                const pageTextList = document.createTreeWalker(
-                                    target,
-                                    NodeFilter.SHOW_TEXT
-                                );
-                                // 鍖归厤鍏抽敭瀛�
-                                const allPageTextNodes = [];
-                                let currentNode = pageTextList.nextNode();
-                                while (currentNode) {
-                                    allPageTextNodes.push(currentNode);
-                                    currentNode = pageTextList.nextNode();
-                                }
-                                for (let i = 0; i < allPageTextNodes.length; i++) {
-                                    const textDom = allPageTextNodes[i];
-                                    let txtIndex = textDom.textContent.indexOf(
-                                        this.highlightData.txt
-                                    );
-                                    if (txtIndex > -1) {
-                                        textDom.parentNode.style.transition =
-                                            "background-color 0.8s";
-                                        textDom.parentNode.scrollIntoView();
-                                        textDom.parentNode.style.backgroundColor = "#79bbf0";
-                                        setTimeout(() => {
-                                            textDom.parentNode.style.backgroundColor = "";
-                                        }, 1000);
-                                    }
-                                }
-                            }, 100);
-                        }
-                        if (this.loadPageList.length > 5) {
-                            // 瓒呰繃5椤�
-                            this.loadPageList.shift();
-                        }
-                    }
-                }
-            });
-        },
-        initSwiper() {
-            const doms = (
-                this.container ? this.container : document
-            ).querySelectorAll(".swiper-img");
-            for (let i = 0; i < doms.length; i++) {
-                const dom = doms[i];
-                new Swiper(dom, {
-                    loop: false, // 鏃犵紳
-                    autoplay: {
-                        //鑷姩寮�濮�
-                        delay: 3000, //鏃堕棿闂撮殧
-                        disableOnInteraction: false, //*鎵嬪姩鎿嶄綔杞挱鍥惧悗涓嶄細鏆傚仠*
-                    },
-                    paginationClickable: true,
-                    slidesPerView: 1, // 涓�缁勪笁涓�
-                    spaceBetween: 30, // 闂撮殧
-                    // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
-                    navigation: {
-                        nextEl: dom.querySelector(".swiper-button-next"),
-                        prevEl: dom.querySelector(".swiper-button-prev"),
-                    },
-                    // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
-                    // observer: true,
-                    // observeParents: true
-                    // // 濡傛灉闇�瑕佸垎椤靛櫒
-                    // pagination: {
-                    //   el: (this.container ? this.container : document).querySelector(
-                    //     ".swiper-pagination"
-                    //   ),
-                    //   clickable: true // 鍒嗛〉鍣ㄥ彲浠ョ偣鍑�
-                    // }
-                });
-            }
-            const pptDoms = (
-                this.container ? this.container : document
-            ).querySelectorAll(".swiper_ppt");
-            for (let i = 0; i < pptDoms.length; i++) {
-                const dom = pptDoms[i];
-                new Swiper(dom, {
-                    loop: false, // 鏃犵紳
-                    autoplay: false,
-                    paginationClickable: true,
-                    slidesPerView: 1, // 涓�缁勪笁涓�
-                    spaceBetween: 30, // 闂撮殧
-                    // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
-                    navigation: {
-                        nextEl: dom.querySelector(".swiper-button-next"),
-                        prevEl: dom.querySelector(".swiper-button-prev"),
-                    },
-                    // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
-                    observer: true,
-                    observeParents: true,
-                    on: {
-                        init: (value) => {
-                            let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
-                            let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
-                            var paginationInfoEl = dom.querySelector(".pageBox");
-                            if (paginationInfoEl)
-                                paginationInfoEl.textContent = currentPage + "/" + totalPages;
-                        },
-                        slideChange: (value) => {
-                            let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
-                            let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
-                            var paginationInfoEl = dom.querySelector(".pageBox");
-                            if (paginationInfoEl)
-                                paginationInfoEl.textContent = currentPage + "/" + totalPages;
-                        },
-                    },
-                });
-            }
-        },
-        initViewer() {
-            const doms = (
-                this.container ? this.container : document
-            ).querySelectorAll(".openImgBox");
-            for (let i = 0; i < doms.length; i++) {
-                const dom = doms[i];
-                new Viewer(dom, {
-                    container: this.container
-                        ? this.container.querySelector("#app")
-                        : "body",
-                    navbar: true, // 鏄剧ず瀵艰埅鏍�
-                    toolbar: true, // 鏄剧ず宸ュ叿鏍�
-                    title: true, // 鏄剧ず鏍囬
-                });
-            }
-        },
-        // 鏍规嵁鍏抽敭瀛楀叏鏂囨绱�
-        searchTextByPage(keyword) {
-            const searchResult = [];
-            let catalogIndex = 0;
-            // 鎵�鏈夌珷鑺傜粍浠讹紙姣忔湰涔﹀埗浣滄椂鍗曠嫭閰嶇疆锛�
-            const pageData = {
-                pageHeader,
-                chapterOne,
-                chapterTwo,
-                chapterThree,
-                chapterFour,
-                chapterFive,
-                // chapterSix
-            };
-            // 閬嶅巻鎵�鏈夌珷鑺傛枃浠�
-            for (const key in pageData) {
-                catalogIndex++;
-                let pageComponent, pageExample;
-                // 鍏堟覆鏌撲竴娆″綋鍓嶇珷鑺傛枃浠讹紙杩欐椂椤甸潰鐨勫唴瀹逛负绌猴級锛岃幏鍙栭〉鐮佷俊鎭�
-                pageComponent = Vue.extend(pageData[key]);
-                pageExample = new pageComponent({
-                    propsData: {
-                        showPageList: [],
-                        questionData: {},
-                        isSearch: true,
-                    },
-                });
-                pageExample.$mount(
-                    (this.container ? this.container : document).querySelector(
-                        "#searchContent"
-                    )
-                );
-                // 鑾峰彇椤电爜
-                const pageDom = (this.container ? this.container : document)
-                    .querySelector("#searchDomBox")
-                    .querySelectorAll(".page-box");
-                const pages = [];
-                for (let i = 0; i < pageDom.length; i++) {
-                    const pageDomItem = pageDom[i];
-                    pages.push(Number(pageDomItem.getAttribute("page")));
-                }
-                // 鑾峰彇椤甸潰缁撴潫锛屽嵏杞介攢姣�
-                pageExample.$destroy();
-                (this.container ? this.container : document).querySelector(
-                    "#searchDomBox"
-                ).innerHTML = '<div id="searchContent"></div>';
-                // 閬嶅巻椤电爜
-                if (pages.length) {
-                    for (let i = 0; i < pages.length; i++) {
-                        const pageNum = pages[i];
-                        // 鍔ㄦ�佹覆鏌撳搴旂珷鑺傜殑椤电爜
-                        pageComponent = Vue.extend(pageData[key]);
-                        pageExample = new pageComponent({
-                            propsData: {
-                                showPageList: [pageNum],
-                                questionData: {},
-                                isSearch: true,
-                            },
-                        });
-                        pageExample.$mount(
-                            (this.container ? this.container : document).querySelector(
-                                "#searchContent"
-                            )
-                        );
-                        // 鑾峰彇瀵瑰簲椤甸潰dom
-                        const thisPageDom = (this.container ? this.container : document)
-                            .querySelector("#searchDomBox")
-                            .querySelector(`[page="${pageNum}"]`);
-                        if (thisPageDom) {
-                            // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
-                            const pageTextList = document.createTreeWalker(
-                                thisPageDom,
-                                NodeFilter.SHOW_TEXT
-                            );
-                            // 鍖归厤鍏抽敭瀛�
-                            const allPageTextNodes = [];
-                            let currentNode = pageTextList.nextNode();
-                            while (currentNode) {
-                                allPageTextNodes.push(currentNode);
-                                currentNode = pageTextList.nextNode();
-                            }
-                            for (let i = 0; i < allPageTextNodes.length; i++) {
-                                const textDom = allPageTextNodes[i];
-                                let txtIndex = textDom.textContent.indexOf(keyword);
-                                if (txtIndex > -1) {
-                                    // 璁板綍鍏抽敭瀛楁墍鍦ㄩ〉鐮併�佺珷鑺備互鍙婂尮閰嶅埌鐨勬钀�
-                                    searchResult.push({
-                                        page: pageNum,
-                                        catalog: catalogIndex,
-                                        txt: textDom.textContent,
-                                        txtIndex: txtIndex,
-                                    });
-                                }
-                            }
-                            // 缁撴潫锛屽嵏杞介攢姣�
-                            pageExample.$destroy();
-                            (this.container ? this.container : document).querySelector(
-                                "#searchDomBox"
-                            ).innerHTML = '<div id="searchContent"></div>';
-                        }
-                    }
-                }
-            }
-            // 杈撳嚭鎼滅储缁撴灉
-            console.log(searchResult);
-            return searchResult;
-        },
-        // 鏍规嵁妫�绱㈢粨鏋滆烦杞搴斾綅缃苟楂樹寒
-        searchItemLocation(data) {
-            // 璁板綍楂樹寒淇℃伅
-            this.highlightData = data;
-            // 璺宠浆
-            this.gotoPage(data.catalog, data.page, () => { });
-        },
-        // 椤甸潰鍚戜笅婊氬姩锛岄煶棰戝皬绐楁挱鏀惧姛鑳�
-        getAduio() {
-            let allVideo = (
-                this.container ? this.container : document
-            ).querySelectorAll(".audio");
-            allVideo = Array.from(allVideo);
-            this.videoList = allVideo;
-            if (allVideo.length) {
-                // 鏌ユ壘鎾斁鐘舵�佺殑鏈�鍚庝竴鏉¢煶棰�
-                const playAudio = allVideo
-                    .reverse()
-                    .find((item) => item.paused == false);
-                if (playAudio) {
-                    const bottomGap = playAudio.getBoundingClientRect().bottom;
-                    if (bottomGap < 0) {
-                        playAudio.pause();
-                        this.audioPath = playAudio.src;
-                        this.currentTime = playAudio.currentTime;
-                    }
-                }
-            }
-        },
-        // 椤甸潰鍚戜笂婊氬姩锛岄煶棰戝皬绐楀洖鏀�
-        handleAudio() {
-            if (!this.audioPath) return false;
-            let allVideo = (
-                this.container ? this.container : document
-            ).querySelectorAll(".audio");
-            allVideo = Array.from(allVideo);
-            if (allVideo.length) {
-                //鏌ユ壘涓庡皬绐楁挱鏀鹃煶棰戝悓婧愮殑椤甸潰audio DOM
-                const playAudio = allVideo.find((item) => item.src == this.audioPath);
-                if (playAudio) {
-                    const bottomGap = playAudio.getBoundingClientRect().bottom;
-                    if (bottomGap >= 0) {
-                        if (this.$refs.audioPlayer) {
-                            const playerState = this.$refs.audioPlayer.getVideoPlayer();
-                            this.audioPath = "";
-                            playAudio.currentTime = playerState.currentTime;
-                            if (!playerState.paused) playAudio.play();
-                        }
-                    }
-                }
-            }
-        },
-        // 鍏抽棴mini video
-        closeMiniAudio() {
-            this.audioPath = "";
-        },
-        // 鐐瑰嚮闊抽鎾斁锛屽叧闂叾浠栭煶棰�
-        closeAudio() {
-            let allAudio = (
-                this.container ? this.container : document
-            ).querySelectorAll(".audio");
-            for (let index = 0; index < allAudio.length; index++) {
-                const item = allAudio[index];
-                item.addEventListener("play", () => {
-                    const audioList = Array.from(allAudio);
-                    for (let cindex = 0; cindex < audioList.length; cindex++) {
-                        const citem = audioList[cindex];
-                        if (citem.currentSrc != item.src) {
-                            citem.pause();
-                        }
-                    }
-                    this.closeMiniAudio();
-                });
-            }
-        },
-        // 鐐瑰嚮瑙嗛鍏抽棴鍏朵粬
-        closeVideo() {
-            let allVideo = (
-                this.container ? this.container : document
-            ).querySelectorAll(".video");
-            for (let index = 0; index < allVideo.length; index++) {
-                const item = allVideo[index];
-                item.addEventListener("playing", (item) => {
-                    const path = item.srcElement.src;
-                    const videoList = Array.from(allVideo);
-                    for (let cindex = 0; cindex < videoList.length; cindex++) {
-                        const citem = videoList[cindex];
-                        if (citem.currentSrc != path && path) {
-                            citem.pause();
-                        }
-                    }
-                });
-            }
-        },
-        // 瑙嗛灏忕獥
-        handleVideoPicture() {
-            let doms = (this.container ? this.container : document).querySelectorAll(
-                ".video"
-            );
-            doms = Array.from(doms);
-            if (!doms.length) return false;
-            const playVudio = doms.reverse().find((item) => item.paused == false);
-            if (playVudio) {
-                const bottomGap = playVudio.getBoundingClientRect().bottom;
-                const topGap = playVudio.getBoundingClientRect().top;
-                if (bottomGap < 0 || topGap > window.innerHeight) {
-                    try {
-                        if (playVudio.readyState) playVudio.requestPictureInPicture();
-                    } catch (error) {
-                        console.log(error, "灏忕獥閿欒error");
-                    }
-                }
-            }
-        },
-        //鍏朵粬绫诲悕涓嬪瓧浣撳ぇ灏忓彉鍖�
-        transformDom(fs) {
-            if (!fs) return;
-            let doms = (this.container ? this.container : document).querySelectorAll(
-                ".block"
-            );
-            if (!doms.length) return;
-            for (let index = 0; index < doms.length; index++) {
-                const dom = doms[index];
-                dom.style.fontSize = fs + "px";
-            }
-        },
+          }
+        }
+      });
     },
-    components: {
+    initSwiper() {
+      const doms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".swiper-img");
+      for (let i = 0; i < doms.length; i++) {
+        const dom = doms[i];
+        new Swiper(dom, {
+          loop: false, // 鏃犵紳
+          autoplay: {
+            //鑷姩寮�濮�
+            delay: 3000, //鏃堕棿闂撮殧
+            disableOnInteraction: false, //*鎵嬪姩鎿嶄綔杞挱鍥惧悗涓嶄細鏆傚仠*
+          },
+          paginationClickable: true,
+          slidesPerView: 1, // 涓�缁勪笁涓�
+          spaceBetween: 30, // 闂撮殧
+          // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
+          navigation: {
+            nextEl: dom.querySelector(".swiper-button-next"),
+            prevEl: dom.querySelector(".swiper-button-prev"),
+          },
+          // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
+          // observer: true,
+          // observeParents: true
+          // // 濡傛灉闇�瑕佸垎椤靛櫒
+          // pagination: {
+          //   el: (this.container ? this.container : document).querySelector(
+          //     ".swiper-pagination"
+          //   ),
+          //   clickable: true // 鍒嗛〉鍣ㄥ彲浠ョ偣鍑�
+          // }
+        });
+      }
+      const pptDoms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".swiper_ppt");
+      for (let i = 0; i < pptDoms.length; i++) {
+        const dom = pptDoms[i];
+        new Swiper(dom, {
+          loop: false, // 鏃犵紳
+          autoplay: false,
+          paginationClickable: true,
+          slidesPerView: 1, // 涓�缁勪笁涓�
+          spaceBetween: 30, // 闂撮殧
+          // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
+          navigation: {
+            nextEl: dom.querySelector(".swiper-button-next"),
+            prevEl: dom.querySelector(".swiper-button-prev"),
+          },
+          // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
+          observer: true,
+          observeParents: true,
+          on: {
+            init: (value) => {
+              let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
+              let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
+              var paginationInfoEl = dom.querySelector(".pageBox");
+              if (paginationInfoEl)
+                paginationInfoEl.textContent = currentPage + "/" + totalPages;
+            },
+            slideChange: (value) => {
+              let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
+              let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
+              var paginationInfoEl = dom.querySelector(".pageBox");
+              if (paginationInfoEl)
+                paginationInfoEl.textContent = currentPage + "/" + totalPages;
+            },
+          },
+        });
+      }
+    },
+    initViewer() {
+      const doms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".openImgBox");
+      for (let i = 0; i < doms.length; i++) {
+        const dom = doms[i];
+        new Viewer(dom, {
+          container: this.container
+            ? this.container.querySelector("#app")
+            : "body",
+          navbar: true, // 鏄剧ず瀵艰埅鏍�
+          toolbar: true, // 鏄剧ず宸ュ叿鏍�
+          title: true, // 鏄剧ず鏍囬
+        });
+      }
+    },
+    // 鏍规嵁鍏抽敭瀛楀叏鏂囨绱�
+    searchTextByPage(keyword) {
+      const searchResult = [];
+      let catalogIndex = 0;
+      // 鎵�鏈夌珷鑺傜粍浠讹紙姣忔湰涔﹀埗浣滄椂鍗曠嫭閰嶇疆锛�
+      const pageData = {
         pageHeader,
         chapterOne,
         chapterTwo,
@@ -966,21 +809,250 @@
         chapterFour,
         chapterFive,
         // chapterSix
+      };
+      // 閬嶅巻鎵�鏈夌珷鑺傛枃浠�
+      for (const key in pageData) {
+        catalogIndex++;
+        let pageComponent, pageExample;
+        // 鍏堟覆鏌撲竴娆″綋鍓嶇珷鑺傛枃浠讹紙杩欐椂椤甸潰鐨勫唴瀹逛负绌猴級锛岃幏鍙栭〉鐮佷俊鎭�
+        pageComponent = Vue.extend(pageData[key]);
+        pageExample = new pageComponent({
+          propsData: {
+            showPageList: [],
+            questionData: {},
+            isSearch: true,
+          },
+        });
+        pageExample.$mount(
+          (this.container ? this.container : document).querySelector(
+            "#searchContent"
+          )
+        );
+        // 鑾峰彇椤电爜
+        const pageDom = (this.container ? this.container : document)
+          .querySelector("#searchDomBox")
+          .querySelectorAll(".page-box");
+        const pages = [];
+        for (let i = 0; i < pageDom.length; i++) {
+          const pageDomItem = pageDom[i];
+          pages.push(Number(pageDomItem.getAttribute("page")));
+        }
+        // 鑾峰彇椤甸潰缁撴潫锛屽嵏杞介攢姣�
+        pageExample.$destroy();
+        (this.container ? this.container : document).querySelector(
+          "#searchDomBox"
+        ).innerHTML = '<div id="searchContent"></div>';
+        // 閬嶅巻椤电爜
+        if (pages.length) {
+          for (let i = 0; i < pages.length; i++) {
+            const pageNum = pages[i];
+            // 鍔ㄦ�佹覆鏌撳搴旂珷鑺傜殑椤电爜
+            pageComponent = Vue.extend(pageData[key]);
+            pageExample = new pageComponent({
+              propsData: {
+                showPageList: [pageNum],
+                questionData: {},
+                isSearch: true,
+              },
+            });
+            pageExample.$mount(
+              (this.container ? this.container : document).querySelector(
+                "#searchContent"
+              )
+            );
+            // 鑾峰彇瀵瑰簲椤甸潰dom
+            const thisPageDom = (this.container ? this.container : document)
+              .querySelector("#searchDomBox")
+              .querySelector(`[page="${pageNum}"]`);
+            if (thisPageDom) {
+              // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
+              const pageTextList = document.createTreeWalker(
+                thisPageDom,
+                NodeFilter.SHOW_TEXT
+              );
+              // 鍖归厤鍏抽敭瀛�
+              const allPageTextNodes = [];
+              let currentNode = pageTextList.nextNode();
+              while (currentNode) {
+                allPageTextNodes.push(currentNode);
+                currentNode = pageTextList.nextNode();
+              }
+              for (let i = 0; i < allPageTextNodes.length; i++) {
+                const textDom = allPageTextNodes[i];
+                let txtIndex = textDom.textContent.indexOf(keyword);
+                if (txtIndex > -1) {
+                  // 璁板綍鍏抽敭瀛楁墍鍦ㄩ〉鐮併�佺珷鑺備互鍙婂尮閰嶅埌鐨勬钀�
+                  searchResult.push({
+                    page: pageNum,
+                    catalog: catalogIndex,
+                    txt: textDom.textContent,
+                    txtIndex: txtIndex,
+                  });
+                }
+              }
+              // 缁撴潫锛屽嵏杞介攢姣�
+              pageExample.$destroy();
+              (this.container ? this.container : document).querySelector(
+                "#searchDomBox"
+              ).innerHTML = '<div id="searchContent"></div>';
+            }
+          }
+        }
+      }
+      // 杈撳嚭鎼滅储缁撴灉
+      console.log(searchResult);
+      return searchResult;
     },
+    // 鏍规嵁妫�绱㈢粨鏋滆烦杞搴斾綅缃苟楂樹寒
+    searchItemLocation(data) {
+      // 璁板綍楂樹寒淇℃伅
+      this.highlightData = data;
+      // 璺宠浆
+      this.gotoPage(data.catalog, data.page, () => {});
+    },
+    // 椤甸潰鍚戜笅婊氬姩锛岄煶棰戝皬绐楁挱鏀惧姛鑳�
+    getAduio() {
+      let allVideo = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      allVideo = Array.from(allVideo);
+      this.videoList = allVideo;
+      if (allVideo.length) {
+        // 鏌ユ壘鎾斁鐘舵�佺殑鏈�鍚庝竴鏉¢煶棰�
+        const playAudio = allVideo
+          .reverse()
+          .find((item) => item.paused == false);
+        if (playAudio) {
+          const bottomGap = playAudio.getBoundingClientRect().bottom;
+          if (bottomGap < 0) {
+            playAudio.pause();
+            this.audioPath = playAudio.src;
+            this.currentTime = playAudio.currentTime;
+          }
+        }
+      }
+    },
+    // 椤甸潰鍚戜笂婊氬姩锛岄煶棰戝皬绐楀洖鏀�
+    handleAudio() {
+      if (!this.audioPath) return false;
+      let allVideo = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      allVideo = Array.from(allVideo);
+      if (allVideo.length) {
+        //鏌ユ壘涓庡皬绐楁挱鏀鹃煶棰戝悓婧愮殑椤甸潰audio DOM
+        const playAudio = allVideo.find((item) => item.src == this.audioPath);
+        if (playAudio) {
+          const bottomGap = playAudio.getBoundingClientRect().bottom;
+          if (bottomGap >= 0) {
+            if (this.$refs.audioPlayer) {
+              const playerState = this.$refs.audioPlayer.getVideoPlayer();
+              this.audioPath = "";
+              playAudio.currentTime = playerState.currentTime;
+              if (!playerState.paused) playAudio.play();
+            }
+          }
+        }
+      }
+    },
+    // 鍏抽棴mini video
+    closeMiniAudio() {
+      this.audioPath = "";
+    },
+    // 鐐瑰嚮闊抽鎾斁锛屽叧闂叾浠栭煶棰�
+    closeAudio() {
+      let allAudio = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      for (let index = 0; index < allAudio.length; index++) {
+        const item = allAudio[index];
+        item.addEventListener("play", () => {
+          const audioList = Array.from(allAudio);
+          for (let cindex = 0; cindex < audioList.length; cindex++) {
+            const citem = audioList[cindex];
+            if (citem.currentSrc != item.src) {
+              citem.pause();
+            }
+          }
+          this.closeMiniAudio();
+        });
+      }
+    },
+    // 鐐瑰嚮瑙嗛鍏抽棴鍏朵粬
+    closeVideo() {
+      let allVideo = (
+        this.container ? this.container : document
+      ).querySelectorAll(".video");
+      for (let index = 0; index < allVideo.length; index++) {
+        const item = allVideo[index];
+        item.addEventListener("playing", (item) => {
+          const path = item.srcElement.src;
+          const videoList = Array.from(allVideo);
+          for (let cindex = 0; cindex < videoList.length; cindex++) {
+            const citem = videoList[cindex];
+            if (citem.currentSrc != path && path) {
+              citem.pause();
+            }
+          }
+        });
+      }
+    },
+    // 瑙嗛灏忕獥
+    handleVideoPicture() {
+      let doms = (this.container ? this.container : document).querySelectorAll(
+        ".video"
+      );
+      doms = Array.from(doms);
+      if (!doms.length) return false;
+      const playVudio = doms.reverse().find((item) => item.paused == false);
+      if (playVudio) {
+        const bottomGap = playVudio.getBoundingClientRect().bottom;
+        const topGap = playVudio.getBoundingClientRect().top;
+        if (bottomGap < 0 || topGap > window.innerHeight) {
+          try {
+            if (playVudio.readyState) playVudio.requestPictureInPicture();
+          } catch (error) {
+            console.log(error, "灏忕獥閿欒error");
+          }
+        }
+      }
+    },
+    //鍏朵粬绫诲悕涓嬪瓧浣撳ぇ灏忓彉鍖�
+    transformDom(fs) {
+      if (!fs) return;
+      let doms = (this.container ? this.container : document).querySelectorAll(
+        ".block"
+      );
+      if (!doms.length) return;
+      for (let index = 0; index < doms.length; index++) {
+        const dom = doms[index];
+        dom.style.fontSize = fs + "px";
+      }
+    },
+  },
+  components: {
+    pageHeader,
+    chapterOne,
+    chapterTwo,
+    chapterThree,
+    chapterFour,
+    chapterFive,
+    // chapterSix
+  },
 };
 </script>
 
 <style lang="less" scoped>
 .page-main {
-    width: 100% !important;
-    height: 100% !important;
-    overflow: auto;
+  width: 100% !important;
+  height: 100% !important;
+  overflow: auto;
 
-    .page-content {
-        max-width: 816px;
-        min-width: 375px;
-        margin: 0 auto;
-        padding-bottom: 100px;
-    }
+  .page-content {
+    max-width: 816px;
+    min-width: 375px;
+    margin: 0 auto;
+    padding-bottom: 100px;
+  }
 }
 </style>
diff --git a/src/books/clinicalMedicalSummary/assets/images/0158-01.jpg b/src/books/clinicalMedicalSummary/assets/images/0158-01.jpg
index bd6f315..e69de29 100644
--- a/src/books/clinicalMedicalSummary/assets/images/0158-01.jpg
+++ b/src/books/clinicalMedicalSummary/assets/images/0158-01.jpg
Binary files differ
diff --git a/src/books/dentalMorphologyFunction/view/components/header.vue b/src/books/dentalMorphologyFunction/view/components/header.vue
index 9e4afba..7647c7d 100644
--- a/src/books/dentalMorphologyFunction/view/components/header.vue
+++ b/src/books/dentalMorphologyFunction/view/components/header.vue
@@ -5,13 +5,11 @@
                 <img src="../../assets/images/device_phone_frontcover.jpg" alt="" style="width: 100%;">
             </div>
         </div>
-
         <div class="page-box" page="2" style="min-height: auto">
             <div v-if="showPageList.indexOf(2) > -1">
                 <img src="../../assets/images/0001-01.jpg" alt="" style="width: 100%;">
             </div>
         </div>
-
         <div class="page-box" page="3">
             <div v-if="showPageList.indexOf(3) > -1">
                 <div class="bodystyle">
@@ -60,7 +58,6 @@
                 </div>
             </div>
         </div>
-
         <div class="page-box" page="4">
             <div v-if="showPageList.indexOf(4) > -1">
                 <div class="header">
diff --git a/src/books/digitalDentalRestorationTechnology/assets/images/0028-01-01.png b/src/books/digitalDentalRestorationTechnology/assets/images/0028-01-01.png
new file mode 100644
index 0000000..9fb4a77
--- /dev/null
+++ b/src/books/digitalDentalRestorationTechnology/assets/images/0028-01-01.png
Binary files differ
diff --git a/src/books/digitalDentalRestorationTechnology/assets/images/0028-01-02.png b/src/books/digitalDentalRestorationTechnology/assets/images/0028-01-02.png
new file mode 100644
index 0000000..2af73d0
--- /dev/null
+++ b/src/books/digitalDentalRestorationTechnology/assets/images/0028-01-02.png
Binary files differ
diff --git a/src/books/digitalDentalRestorationTechnology/assets/images/tuoZhan.svg b/src/books/digitalDentalRestorationTechnology/assets/images/tuoZhan.svg
index 2c4171a..6f41ea7 100644
--- a/src/books/digitalDentalRestorationTechnology/assets/images/tuoZhan.svg
+++ b/src/books/digitalDentalRestorationTechnology/assets/images/tuoZhan.svg
@@ -1 +1 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755139138815" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4392" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M397.459421 837.555399H190.057869c-9.394495 0-16.62103-7.949188-16.621031-16.621031V158.983769c0-9.394495 7.949188-16.62103 16.621031-16.621031h581.736062c9.394495 0 16.62103 7.949188 16.62103 16.621031v278.944248c0 13.730416 11.562456 25.292872 25.292872 25.292872s25.292872-11.562456 25.292873-25.292872V158.983769c0-36.855328-30.351447-67.206775-67.206775-67.206775H190.057869c-36.855328 0-67.206775 30.351447-67.206775 67.206775v661.950599c0 36.855328 30.351447 67.206775 67.206775 67.206775H397.459421c13.730416 0 25.292872-11.562456 25.292873-25.292872s-11.562456-25.292872-25.292873-25.292872z" fill="" p-id="4393"></path><path d="M880.191955 529.705011c-33.242061-33.242061-87.441073-33.242061-120.683134 0l-247.870148 247.870148c-3.613267 3.613267-5.781228 7.226535-6.503881 12.285109l-24.570219 107.675371c-2.16796 8.671842 0.722653 17.343684 6.503881 23.124911 5.058574 5.058574 11.562456 7.949188 18.066338 7.949189 1.445307 0 3.613267 0 5.058574-0.722654l109.843331-22.402258c5.058574-0.722653 9.394495-3.613267 13.007763-7.226535L880.191955 650.388144c15.898377-15.898377 25.292872-37.577982 25.292872-60.702893s-9.394495-44.081863-25.292872-59.98024z m-35.410021 85.273112l-242.088921 242.08892-64.31616 13.007763 14.453069-62.1482L794.918843 565.115032c13.730416-13.730416 36.132675-13.730416 49.140437 0 6.503881 6.503881 10.117149 15.175723 10.117149 24.570219s-2.890614 18.788991-9.394495 25.292872z" fill="" p-id="4394"></path><path d="M698.805928 208.124206H255.096683c-13.730416 0-25.292872 11.562456-25.292872 25.292872s11.562456 25.292872 25.292872 25.292873h444.431899c13.730416 0 25.292872-11.562456 25.292872-25.292873s-11.562456-25.292872-26.015526-25.292872z" fill="" p-id="4395"></path><path d="M724.0988 356.268172c0-13.730416-11.562456-25.292872-25.292872-25.292872H255.096683c-13.730416 0-25.292872 11.562456-25.292872 25.292872s11.562456 25.292872 25.292872 25.292872h444.431899c13.730416 0 24.570219-11.562456 24.570218-25.292872z" fill="" p-id="4396"></path><path d="M257.987297 485.623147m-27.460833 0a27.460833 27.460833 0 1 0 54.921666 0 27.460833 27.460833 0 1 0-54.921666 0Z" fill="" p-id="4397"></path><path d="M354.100212 485.623147m-27.460833 0a27.460833 27.460833 0 1 0 54.921665 0 27.460833 27.460833 0 1 0-54.921665 0Z" fill="" p-id="4398"></path><path d="M450.213126 485.623147m-27.460832 0a27.460833 27.460833 0 1 0 54.921665 0 27.460833 27.460833 0 1 0-54.921665 0Z" fill="" p-id="4399"></path></svg>
\ No newline at end of file
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755139138815" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4392" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M397.459421 837.555399H190.057869c-9.394495 0-16.62103-7.949188-16.621031-16.621031V158.983769c0-9.394495 7.949188-16.62103 16.621031-16.621031h581.736062c9.394495 0 16.62103 7.949188 16.62103 16.621031v278.944248c0 13.730416 11.562456 25.292872 25.292872 25.292872s25.292872-11.562456 25.292873-25.292872V158.983769c0-36.855328-30.351447-67.206775-67.206775-67.206775H190.057869c-36.855328 0-67.206775 30.351447-67.206775 67.206775v661.950599c0 36.855328 30.351447 67.206775 67.206775 67.206775H397.459421c13.730416 0 25.292872-11.562456 25.292873-25.292872s-11.562456-25.292872-25.292873-25.292872z" fill="#00918e" p-id="4393"></path><path d="M880.191955 529.705011c-33.242061-33.242061-87.441073-33.242061-120.683134 0l-247.870148 247.870148c-3.613267 3.613267-5.781228 7.226535-6.503881 12.285109l-24.570219 107.675371c-2.16796 8.671842 0.722653 17.343684 6.503881 23.124911 5.058574 5.058574 11.562456 7.949188 18.066338 7.949189 1.445307 0 3.613267 0 5.058574-0.722654l109.843331-22.402258c5.058574-0.722653 9.394495-3.613267 13.007763-7.226535L880.191955 650.388144c15.898377-15.898377 25.292872-37.577982 25.292872-60.702893s-9.394495-44.081863-25.292872-59.98024z m-35.410021 85.273112l-242.088921 242.08892-64.31616 13.007763 14.453069-62.1482L794.918843 565.115032c13.730416-13.730416 36.132675-13.730416 49.140437 0 6.503881 6.503881 10.117149 15.175723 10.117149 24.570219s-2.890614 18.788991-9.394495 25.292872z" fill="#00918e" p-id="4394"></path><path d="M698.805928 208.124206H255.096683c-13.730416 0-25.292872 11.562456-25.292872 25.292872s11.562456 25.292872 25.292872 25.292873h444.431899c13.730416 0 25.292872-11.562456 25.292872-25.292873s-11.562456-25.292872-26.015526-25.292872z" fill="#00918e" p-id="4395"></path><path d="M724.0988 356.268172c0-13.730416-11.562456-25.292872-25.292872-25.292872H255.096683c-13.730416 0-25.292872 11.562456-25.292872 25.292872s11.562456 25.292872 25.292872 25.292872h444.431899c13.730416 0 24.570219-11.562456 24.570218-25.292872z" fill="#00918e" p-id="4396"></path><path d="M257.987297 485.623147m-27.460833 0a27.460833 27.460833 0 1 0 54.921666 0 27.460833 27.460833 0 1 0-54.921666 0Z" fill="#00918e" p-id="4397"></path><path d="M354.100212 485.623147m-27.460833 0a27.460833 27.460833 0 1 0 54.921665 0 27.460833 27.460833 0 1 0-54.921665 0Z" fill="#00918e" p-id="4398"></path><path d="M450.213126 485.623147m-27.460832 0a27.460833 27.460833 0 1 0 54.921665 0 27.460833 27.460833 0 1 0-54.921665 0Z" fill="#00918e" p-id="4399"></path></svg>
\ No newline at end of file
diff --git a/src/books/digitalDentalRestorationTechnology/assets/images/zongJie.svg b/src/books/digitalDentalRestorationTechnology/assets/images/zongJie.svg
index 47a3a88..bde8997 100644
--- a/src/books/digitalDentalRestorationTechnology/assets/images/zongJie.svg
+++ b/src/books/digitalDentalRestorationTechnology/assets/images/zongJie.svg
@@ -1 +1 @@
-<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755139571356" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14731" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M579.2 659.2c6.4-9.6 12.8-19.2 16-28.8l28.8 19.2c-16 25.6-32 48-51.2 70.4l48-6.4c0 9.6 0 19.2 3.2 28.8-32 3.2-64 9.6-92.8 19.2-3.2-9.6-6.4-22.4-9.6-32 9.6-3.2 16-9.6 22.4-16 9.6-6.4 16-16 22.4-25.6-25.6 3.2-32 3.2-35.2 6.4-3.2-6.4-6.4-22.4-9.6-32 6.4-3.2 12.8-9.6 16-16 16-22.4 25.6-44.8 35.2-70.4l32 12.8c-12.8 25.6-25.6 48-41.6 70.4h16z m-64 128c35.2-3.2 70.4-9.6 105.6-19.2l3.2 28.8c-35.2 6.4-73.6 16-102.4 22.4l-6.4-32z m195.2-147.2v28.8h51.2v32h-134.4v-32h51.2V640h-57.6v-32h57.6v-32h35.2v32h57.6v32h-60.8z m-80 80h121.6v108.8h-32v-9.6h-57.6v12.8h-32v-112z m32 28.8v38.4h57.6v-38.4h-57.6zM236.8 537.6c12.8-19.2 19.2-38.4 22.4-60.8l32 6.4c-3.2 22.4-9.6 44.8-22.4 67.2l-32-12.8z m121.6-80H272v-92.8h41.6c-6.4-16-12.8-28.8-22.4-38.4l28.8-12.8c12.8 12.8 22.4 28.8 28.8 44.8l-16 6.4H384c9.6-16 19.2-32 25.6-51.2l32 12.8c-6.4 12.8-16 25.6-22.4 38.4h38.4v92.8h-89.6c16 9.6 28.8 22.4 41.6 35.2l-22.4 19.2c-12.8-16-28.8-28.8-44.8-41.6l16-12.8z m41.6 73.6c12.8 0 16-3.2 16-25.6 9.6 6.4 19.2 9.6 28.8 12.8-3.2 32-12.8 41.6-44.8 41.6h-51.2c-38.4 0-51.2-9.6-51.2-38.4v-51.2h35.2v48c0 9.6 3.2 9.6 19.2 9.6l48 3.2z m-92.8-102.4H416v-35.2H307.2v35.2z m147.2 41.6c16 19.2 28.8 38.4 38.4 60.8l-28.8 12.8c-9.6-22.4-19.2-41.6-35.2-60.8l25.6-12.8z" fill="#000333" p-id="14732"></path><path d="M825.6 960H204.8c-38.4 0-67.2-32-67.2-67.2V204.8c0-38.4 32-67.2 67.2-67.2h121.6c19.2 0 35.2 16 35.2 35.2s-16 35.2-35.2 35.2H204.8V896h617.6V204.8h-112c-19.2 0-35.2-16-35.2-35.2s16-35.2 35.2-35.2h112c38.4 0 67.2 32 67.2 67.2v688c3.2 38.4-28.8 70.4-64 70.4z" fill="#000333" p-id="14733"></path><path d="M636.8 272h-240c-57.6 0-102.4-44.8-102.4-102.4s44.8-102.4 102.4-102.4h240c57.6 0 102.4 44.8 102.4 102.4s-48 102.4-102.4 102.4z m-243.2-137.6c-19.2 0-35.2 16-35.2 35.2s16 35.2 35.2 35.2h240c19.2 0 35.2-16 35.2-35.2s-16-35.2-35.2-35.2h-240z" fill="#000333" p-id="14734"></path></svg>
\ No newline at end of file
+<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1755139571356" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="14731" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M579.2 659.2c6.4-9.6 12.8-19.2 16-28.8l28.8 19.2c-16 25.6-32 48-51.2 70.4l48-6.4c0 9.6 0 19.2 3.2 28.8-32 3.2-64 9.6-92.8 19.2-3.2-9.6-6.4-22.4-9.6-32 9.6-3.2 16-9.6 22.4-16 9.6-6.4 16-16 22.4-25.6-25.6 3.2-32 3.2-35.2 6.4-3.2-6.4-6.4-22.4-9.6-32 6.4-3.2 12.8-9.6 16-16 16-22.4 25.6-44.8 35.2-70.4l32 12.8c-12.8 25.6-25.6 48-41.6 70.4h16z m-64 128c35.2-3.2 70.4-9.6 105.6-19.2l3.2 28.8c-35.2 6.4-73.6 16-102.4 22.4l-6.4-32z m195.2-147.2v28.8h51.2v32h-134.4v-32h51.2V640h-57.6v-32h57.6v-32h35.2v32h57.6v32h-60.8z m-80 80h121.6v108.8h-32v-9.6h-57.6v12.8h-32v-112z m32 28.8v38.4h57.6v-38.4h-57.6zM236.8 537.6c12.8-19.2 19.2-38.4 22.4-60.8l32 6.4c-3.2 22.4-9.6 44.8-22.4 67.2l-32-12.8z m121.6-80H272v-92.8h41.6c-6.4-16-12.8-28.8-22.4-38.4l28.8-12.8c12.8 12.8 22.4 28.8 28.8 44.8l-16 6.4H384c9.6-16 19.2-32 25.6-51.2l32 12.8c-6.4 12.8-16 25.6-22.4 38.4h38.4v92.8h-89.6c16 9.6 28.8 22.4 41.6 35.2l-22.4 19.2c-12.8-16-28.8-28.8-44.8-41.6l16-12.8z m41.6 73.6c12.8 0 16-3.2 16-25.6 9.6 6.4 19.2 9.6 28.8 12.8-3.2 32-12.8 41.6-44.8 41.6h-51.2c-38.4 0-51.2-9.6-51.2-38.4v-51.2h35.2v48c0 9.6 3.2 9.6 19.2 9.6l48 3.2z m-92.8-102.4H416v-35.2H307.2v35.2z m147.2 41.6c16 19.2 28.8 38.4 38.4 60.8l-28.8 12.8c-9.6-22.4-19.2-41.6-35.2-60.8l25.6-12.8z" fill="#00918e" p-id="14732"></path><path d="M825.6 960H204.8c-38.4 0-67.2-32-67.2-67.2V204.8c0-38.4 32-67.2 67.2-67.2h121.6c19.2 0 35.2 16 35.2 35.2s-16 35.2-35.2 35.2H204.8V896h617.6V204.8h-112c-19.2 0-35.2-16-35.2-35.2s16-35.2 35.2-35.2h112c38.4 0 67.2 32 67.2 67.2v688c3.2 38.4-28.8 70.4-64 70.4z" fill="#00918e" p-id="14733"></path><path d="M636.8 272h-240c-57.6 0-102.4-44.8-102.4-102.4s44.8-102.4 102.4-102.4h240c57.6 0 102.4 44.8 102.4 102.4s-48 102.4-102.4 102.4z m-243.2-137.6c-19.2 0-35.2 16-35.2 35.2s16 35.2 35.2 35.2h240c19.2 0 35.2-16 35.2-35.2s-16-35.2-35.2-35.2h-240z" fill="#00918e" p-id="14734"></path></svg>
\ No newline at end of file
diff --git a/src/books/digitalDentalRestorationTechnology/assets/main.less b/src/books/digitalDentalRestorationTechnology/assets/main.less
index 536ccaf..1a2712b 100644
--- a/src/books/digitalDentalRestorationTechnology/assets/main.less
+++ b/src/books/digitalDentalRestorationTechnology/assets/main.less
@@ -13,6 +13,24 @@
         position: relative;
     }
 
+    .imgBox-003 {
+        width: 100%;
+        height: 280px;
+        margin-bottom: 18px;
+    }
+
+    .textarea-box {
+        font-size: 1em;
+        font-family: "Noto Sans SC";
+        width: 93%;
+        max-width: 93%;
+        border-color: #e9f2f3;
+
+        &:focus {
+            border-color: #40a8aa;
+            outline: none;
+        }
+    }
 
     .bodystyle {
         padding: 0 13%;
@@ -197,10 +215,26 @@
         vertical-align: middle;
     }
 
+    .fTitle {
+        color: #40a8aa !important;
+        font-size: 17px !important;
+        margin-top: 20px !important;
+        margin-bottom: 25px !important;
+        margin-left: -16px !important;
+    }
+
     .CaseStudy-title {
-        background-color: #40a8aa;
+        line-height: 21px;
+        height: 21px;
+        font-size: 14px;
+        font-weight: 600;
+        background-color: #00918e;
         color: #fff;
-        padding-left: 20px;
+        padding-left: 10px;
+    }
+
+    .fontGreen {
+        color: #00918e !important;
     }
 
     .CaseStudy-content {
@@ -257,9 +291,15 @@
 
     .knowledgeExpansion-img {
         position: absolute;
-        width: 100px;
-        top: -25px;
+        width: 80px;
+        top: -20px;
         left: 30px;
+    }
+
+    .learngoalRange {
+        margin-top: 1px !important;
+        margin-bottom: -3px !important;
+        text-indent: 0em;
     }
 
     /*<h2>浜岀骇鏍囬*/
@@ -303,12 +343,30 @@
         margin: 1em auto !important;
     }
 
+    .s-pic {
+        width: 12px;
+    }
+
+    .oneTitle {
+        font-weight: 800;
+        margin-top: 150px !important;
+        margin-bottom: 150px !important;
+    }
+
     h4.fourthTitle {
         font-size: 1.1em;
         line-height: 1.3em;
         text-indent: 2em;
         margin-top: 1em;
         color: #009290;
+    }
+
+    .titleLeftmove {
+        margin-left: 10px !important;
+    }
+
+    .imgFloat {
+        display: flex;
     }
 
     span.underline {
@@ -410,10 +468,6 @@
         color: #00918e;
     }
 
-
-
-
-
     /*鍥剧墖璇存槑灞呬腑鍔犵矖*/
     .imgdescript-b {
         font-family: "姹変华妤蜂綋", "ETrump KaiTi", "鏂规浠垮畫", "FZFSJW--GB1-0";
@@ -441,7 +495,7 @@
         margin: 0.3em auto;
         text-align: center;
         text-indent: 0em;
-        color: #5A5A5A;
+        color: #000;
     }
 
     /*鍙充笅瑙掕鏄�*/
@@ -507,42 +561,60 @@
                 }
             }
         }
+
+        .summary-content {
+            padding: 15px 0;
+            background-color: #c9e1e1;
+            width: 100%;
+            display: flex;
+            justify-content: space-around;
+            flex-wrap: wrap;
+
+            .summary-content-box {
+                margin: 5px 0;
+                width: 45%;
+                overflow: hidden;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+                cursor: pointer;
+
+            }
+
+            span {
+                margin-left: 5px;
+                width: 90%;
+                overflow: hidden;
+                white-space: nowrap;
+                /* 寮哄埗鏂囨湰鍦ㄤ竴琛屾樉绀� */
+                text-overflow: ellipsis;
+
+                /* 鏄剧ず鐪佺暐鍙� */
+                &:hover {
+                    color: #00918e;
+                    text-decoration: underline;
+                }
+
+            }
+        }
+
     }
 
 
 
 
-    .img-float {
-        width: 310px;
-        float: left;
-        height: auto;
-        margin: auto;
-        margin-right: 20px;
 
-        img {
-            width: 100%;
-        }
-
-        p {
-            margin: 0;
+    .txtSurroundRight {
+        .qrbodyPic {
+            float: right;
+            margin-left: 20px;
         }
     }
 
-
-
-    .img-rights {
-        width: 310px;
-        float: right;
-        height: auto;
-        margin: auto;
-        margin-left: 20px;
-
-        img {
-            width: 100%;
-        }
-
-        p {
-            margin: 0 !important;
+    .txtSurroundLeft {
+        .qrbodyPic {
+            float: left;
+            margin-right: 20px;
         }
     }
 
@@ -760,6 +832,13 @@
     }
 }
 
+.fTitle {
+    font-style: 15px !important;
+    margin-top: 20px !important;
+    margin-bottom: 20px !important;
+    color: #00918e;
+}
+
 .custom-dialog {
     overflow: hidden !important;
 
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/chapter001.vue b/src/books/digitalDentalRestorationTechnology/view/components/chapter001.vue
index a83fe3d..28558ff 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/chapter001.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/chapter001.vue
@@ -3,26 +3,49 @@
         <div class="page-box" page="7">
             <div v-if="showPageList.indexOf(7) > -1">
                 <div class="bodystyle">
-                    <h1 class="firstTitle-l mb-70 pt-70">缁</h1>
-                    <div class="bodyPic"><img src="../../assets/images/0017-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0017-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绱犺川鐩爣</span></p>
-                    <p class="content">鐢ㄥ彂灞曠殑鐪煎厜鐪嬮棶棰橈紝绉瀬鎷撳睍锛屽媷浜庡垱鏂帮紝鑷村姏浜庢帹鍔ㄥ彛鑵斿尰瀛︽妧鏈彂灞曘��</p>
-                    <p class="center">........................</p>
-                    <p class="center"><span class="bold">鐭ヨ瘑鐩爣</span></p>
-                    <p class="content">锛�1锛夋帉鎻★細璁$畻鏈鸿緟鍔╄璁′笌鍒堕�犵殑瀹氫箟锛涘彛鑵斾慨澶岰AD/CAM绯荤粺鐨勭粍鎴愩��</p>
-                    <p class="content">锛�2锛夌啛鎮夛細鍙h厰CAD杞欢鐨勭壒鐐广��</p>
-                    <p class="content">锛�3锛変簡瑙o細CAM璁惧鍙姞宸ョ殑鏉愭枡鑼冨洿銆�</p>
-                    <p class="center">........................</p>
-                    <p class="center"><span class="bold">鑳藉姏鐩爣</span></p>
-                    <p class="content">锛�1锛夎兘澶熻繍鐢ㄦ�濈淮瀵煎浘鎬荤粨鍙h厰鎵弿鍘熺悊銆�</p>
-                    <p class="content">锛�2锛夎兘澶熷湪涔夐娇鍒朵綔杩囩▼涓牴鎹疄闄呴渶姹傞�夋嫨閫傚疁鐨勬壂鎻忚澶囥��</p>
-                    <p class="content">璁$畻鏈鸿緟鍔╄璁′笌鍒堕�狅紙computer-aided design and
+                    <h1 class="firstTitle-l mb-70 pt-70 oneTitle">
+                        缁�&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;璁�
+                    </h1>
+                    <div class="learnGoal">
+                        <img class="learnImg img-h" src="../../assets/images/learnGoal.png" alt="" />
+                        <p class="center learngoalRange">
+                            <span class="bold">绱犺川鐩爣</span>
+                        </p>
+                        <p class="content">
+                            鐢ㄥ彂灞曠殑鐪煎厜鐪嬮棶棰橈紝绉瀬鎷撳睍锛屽媷浜庡垱鏂帮紝鑷村姏浜庢帹鍔ㄥ彛鑵斿尰瀛︽妧鏈彂灞曘��
+                        </p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange">
+                            <span class="bold">鐭ヨ瘑鐩爣</span>
+                        </p>
+                        <p class="content">
+                            锛�1锛夋帉鎻★細璁$畻鏈鸿緟鍔╄璁′笌鍒堕�犵殑瀹氫箟锛涘彛鑵斾慨澶岰AD/CAM绯荤粺鐨勭粍鎴愩��
+                        </p>
+                        <p class="content">锛�2锛夌啛鎮夛細鍙h厰CAD杞欢鐨勭壒鐐广��</p>
+                        <p class="content">锛�3锛変簡瑙o細CAM璁惧鍙姞宸ョ殑鏉愭枡鑼冨洿銆�</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange">
+                            <span class="bold">鑳藉姏鐩爣</span>
+                        </p>
+                        <p class="content">锛�1锛夎兘澶熻繍鐢ㄦ�濈淮瀵煎浘鎬荤粨鍙h厰鎵弿鍘熺悊銆�</p>
+                        <p class="content">
+                            锛�2锛夎兘澶熷湪涔夐娇鍒朵綔杩囩▼涓牴鎹疄闄呴渶姹傞�夋嫨閫傚疁鐨勬壂鎻忚澶囥��
+                        </p>
+                    </div>
+                    <div class="knowledgeExpansion" @click="toUrl(getResourceInfo('A1'))">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>鏁欏璇句欢</span>
+                        </div>
+                        <div class="knowledgeExpansion-box">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>鏁欏璇句欢</span>
+                        </div>
+                    </div>
+                    <p class="content">
+                        璁$畻鏈鸿緟鍔╄璁′笌鍒堕�狅紙computer-aided design and
                         manufacturing锛孋AD/CAM锛夋槸灏嗗厜鐢靛瓙鎶�鏈�佽绠楁満鎶�鏈笌鏁版帶鏈烘鍔犲伐鎶�鏈泦浜庝竴浣撶殑涓�闂ㄦ妧鏈�傚彛鑵斾慨澶岰AD/CAM绯荤粺鍦ㄧ粍鎴愪笂涓昏鍖呮嫭鍥涗釜閮ㄥ垎锛屽嵆鏍囧噯鐗欏啝涓夌淮鍥惧舰鏁版嵁銆佹暟鎹幏鍙栬澶囥�丆AD锛堜慨澶嶄綋璁捐绋嬪簭锛夊拰CAM锛堟暟鎹姞宸ヨ澶囧拰鎺у埗绋嬪簭锛夈�傝繎30骞存潵锛岄殢鐫�璁惧杞‖浠剁郴缁熺殑涓嶆柇鏀硅繘鍗囩骇锛屼互鍙婇厤濂楀彲鍒囧墛闄剁摲鏉愭枡绉嶇被鍙婃�ц兘鐨勬寔缁敼杩涳紝妞呮梺CAD/CAM鎶�鏈湪鍙h厰涓村簥鐨勬帴鍙楃▼搴︿笌搴旂敤鑼冨洿涓嶆柇鎵╁ぇ銆傜洰鍓嶏紝澶氱鍙h厰淇浣撳凡鍙�氳繃妞呮梺CAD/CAM鎶�鏈姞宸ュ埗浣滐紝鍙互涓哄尰鐢熸彁渚涚簿纭�侀珮鏁堛�佹鏃佷竴娆″畬鎴愮殑涓村簥娌荤枟鎵嬫锛屼负鎮h�呮彁渚涢珮鍝佽川銆侀珮缇庤鐨勪慨澶嶄綋锛屽紩棰嗗彛鑵旀不鐤楁妧鏈繘鍏ユ暟瀛楀寲鏃朵唬銆�
                     </p>
-
                 </div>
                 <div class="page-bottom-right">001</div>
             </div>
@@ -30,16 +53,16 @@
         <div class="page-box" page="8">
             <div v-if="showPageList.indexOf(8) > -1">
                 <div class="page-header-left">
-                    <div class="header-txt">
-                        鏁板瓧鍖栧彛鑵斾慨澶嶆妧鏈�
-                    </div>
+                    <div class="header-txt">鏁板瓧鍖栧彛鑵斾慨澶嶆妧鏈�</div>
                 </div>
                 <div class="bodystyle">
                     <h3 class="thirdTitle">涓�銆佸彛鑵擟AD/CAM鎶�鏈殑鍙戝睍</h3>
-                    <p class="content">20涓栫邯40骞翠唬锛屼互璁$畻鏈哄拰淇℃伅鎶�鏈负鏍稿績鐨勭涓夋宸ヤ笟闈╁懡娴疆鍦ㄥ叏鐞冨叴璧凤紝1983骞存硶鍥界墮鍖诲紬鏈楃储鐡β锋潨闆凤紙Francois
+                    <p class="content">
+                        20涓栫邯40骞翠唬锛屼互璁$畻鏈哄拰淇℃伅鎶�鏈负鏍稿績鐨勭涓夋宸ヤ笟闈╁懡娴疆鍦ㄥ叏鐞冨叴璧凤紝1983骞存硶鍥界墮鍖诲紬鏈楃储鐡β锋潨闆凤紙Francois
                         Duret锛夌爺鍙戠殑绗竴鍙扮墮绉慍AD/CAM鏍锋満鍦ㄦ硶鍥介棶涓栵紝寮�鍒涗簡鏁板瓧鍖栧彛鑵斿尰瀛︾殑鏂版椂浠c��20涓栫邯60骞翠唬锛岃鎶�鏈揩閫熷彂灞曪紝瀹冧互璁$畻鏈轰綔涓轰富瑕佹妧鏈墜娈碉紝澶勭悊鍚勭鏁板瓧淇℃伅鍜屽浘褰俊鎭紝杈呭姪瀹屾垚浜у搧璁捐鍜屽埗閫犱腑鐨勫悇椤规椿鍔ㄣ�傝縿浠婁负姝紝鍥藉唴澶栧競鍦轰笂宸叉湁鍚勭绫诲瀷鐨勫彛鑵擟AD/CAM绯荤粺銆侰AD/CAM鎶�鏈櫘閬嶆彁楂樹簡鎶�宸ュ锛堟妧宸ヤ腑蹇冿級宸ヨ壓鍒朵綔娴佺▼鐨勬暣浣撹川閲忥紝缂╃煭浜嗕慨澶嶄綋鐨勫埗浣滃懆鏈燂紝闄嶄綆浜嗕慨澶嶄綋鎵归噺鐢熶骇鐨勫埗浣滄垚鏈�傛澶栵紝鏍规嵁鍙h厰CAD/CAM绯荤粺鐨勫簲鐢ㄦā寮忥紝鍏惰繕鍙垎涓烘鏃佺郴缁熷拰鎶�宸ュ绯荤粺銆傛鏃佺郴缁熶富瑕佺敤浜庢暟瀛楀寲鍙h厰璇婂锛岀敱鍖荤敓鍦ㄥ彛鑵旀妧甯堥厤鍚堜笅鍦ㄦ鏃佸畬鎴愬彛鍐呮暟瀛楀嵃妯℃壂鎻忋�佷慨澶嶄綋璁捐鍙婂埗浣滅殑宸ヨ壓娴佺▼銆傛鏃佺郴缁熺殑鐗圭偣鏄厤澶囧彛鍐呮壂鎻忚澶囧拰灏忓瀷妞呮梺鍔犲伐璁惧锛屽埗浣滅殑淇鏉愭枡浠ョ幓鐠冮櫠鐡峰拰鏍戣剛绫讳负涓伙紝鍒朵綔鐨勪慨澶嶄綋绫诲瀷澶氫互鍗曞啝銆佸祵浣撱�佽创闈负涓伙紝鍏稿瀷绯荤粺涓篠irona
                         CEREC绯荤粺銆傛妧宸ュ绯荤粺涓昏鐢卞彛鑵旀妧甯堝畬鎴愭暟瀛楀寲鍗版ā鎵弿锛堟垨閫氳繃缃戠粶鑾峰緱涓村簥鎵弿鐨勬暟瀛楀嵃妯★級銆佷慨澶嶄綋璁捐鍙婂埗浣滅殑宸ヨ壓娴佺▼銆傛妧宸ュ绯荤粺鐨勭壒鐐瑰湪浜庡叾杞‖浠剁郴缁熼潰鍚戝彛鑵旀妧甯堝紑鍙戯紝CAD杞欢鎻愪緵杈冨鍙緵浣跨敤鑰呰皟鏁寸殑宸ヨ壓璁捐鍙傛暟锛孋AM璁惧鍒欏浠ュ洓杞淬�佷簲杞寸殑涓撲笟鍔犲伐璁惧涓轰富锛屽彲婊¤冻鍙h厰涓村簥瀵瑰悇绉嶄慨澶嶄綋绫诲瀷鍙婁慨澶嶆潗鏂欑殑鍒朵綔闇�姹傦紝鍏稿瀷绯荤粺濡�3Shape銆丒xocad璁捐绯荤粺鍙奡irona
-                        Inlab銆丏ental wings銆�3 M Lava銆丷锛咾 Dalron銆丏MG绛夌郴缁熴��</p>
+                        Inlab銆丏ental wings銆�3 M Lava銆丷锛咾 Dalron銆丏MG绛夌郴缁熴��
+                    </p>
                     <p class="content">
                         鍦ㄤ箟榻垮埗浣滃伐鑹烘暟瀛楀寲鏀归潻涔嬮鐨勯┍鍔ㄤ笅锛屽湪鈥滀簰鑱旂綉+鈥濊儗鏅笅锛屽尰鐢熸帰绱娇鐢╒R銆丄R绛夎櫄鎷熺幇瀹炴妧鏈紝绯荤粺寮�鍙戙�佽璁″舰寮忓鏍风殑鏁板瓧鍖栬祫婧愶紝灏嗘娊璞°�佸鏉傜殑浜у搧璁捐鍜屽埗閫犺繃绋嬬畝鍗曞寲銆佸彲瑙嗗寲锛屾棤椤昏繘琛屽爢铚°�佸寘鍩嬨�侀摳閫犮�佷汉宸ョ爺纾ㄧ瓑锛屾搷浣滅畝鍗曪紝鎵�闇�鏃堕棿鐭紝鏃犲嵃妯℃潗鏂欍�佺煶鑶忔潗鏂欑瓑鐨勫舰鍙橈紝鏁呬骇鍝佸彲闈犳�с�佺敓鐗╂�с�佺編瑙傛�у潎杈冨ソ銆�
                     </p>
@@ -47,12 +70,14 @@
                     <p class="content">
                         鎸夌収鎿嶄綔娴佺▼锛屽彛鑵擟AD/CAM绯荤粺鍒嗘垚涓変釜鍩烘湰鐗堝潡锛屽垎鍒负鏁板瓧鍖栨壂鎻忛儴鍒嗐�佹暟瀛楀寲CAD娴佺▼鍙婃暟瀛楀寲CAM鐜妭銆傝繖涓夐儴鍒嗗垎鍒畬鎴愬彛鑵斾笁缁存暟鎹噰闆嗐�佷箟榻挎暟瀛楀寲璁捐鍜屼箟榻挎暟瀛楀寲鍒堕�犮�備笁鑰呭崗鍚岄厤鍚堬紝鏋勬垚鍙h厰CAD/CAM绯荤粺鐨勬湁鏈烘暣浣撱��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0018-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0018-01.jpg" style="width: 70%" alt="鍥�0-0-1銆�CAD/CAM绯荤粺鏋勬垚"
+                            active="true" />
                         <p class="imgdescript-b">鍥�0-0-1銆�CAD/CAM绯荤粺鏋勬垚</p>
-                        <p class="imgdescript-l">A锛庡彛鑵斾笁缁存暟鎹噰闆嗭紱B锛庝箟榻挎暟瀛楀寲璁捐锛汣锛庝箟榻挎暟瀛楀寲鍒堕�犮��</p>
+                        <p class="imgdescript-l imgtitleTop">
+                            A锛庡彛鑵斾笁缁存暟鎹噰闆嗭紱B锛庝箟榻挎暟瀛楀寲璁捐锛汣锛庝箟榻挎暟瀛楀寲鍒堕�犮��
+                        </p>
                     </div>
-
                 </div>
                 <div class="page-bottom-left">002</div>
             </div>
@@ -64,17 +89,16 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0019-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�0-0-1锛堢画鍥撅級</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0019-01.jpg" style="width: 75%" alt="鍥�0-0-1锛堢画鍥撅級" active="true" />
+                        <p class="imgdescript-b">鍥�0-0-1锛堢画鍥撅級</p>
                     </div>
-                    <p class="poemtitle-l">锛堜竴锛夊彛鑵旀暟瀛楀寲鎵弿璁惧</p>
+                    <p class="poemtitle-l kTitle">锛堜竴锛夊彛鑵旀暟瀛楀寲鎵弿璁惧</p>
                     <p class="content">
                         鍙h厰鏁板瓧鍖栨壂鎻忚澶囦綔涓烘暟瀛楀寲宸ヨ壓娴佺▼鐨勬暟鎹緭鍏ョ幆鑺傦紝鍏跺師鐞嗘槸鍊熷姪鍚勭涓夌淮鎵弿鎶�鏈皢鐗欓鐭宠啅妯″瀷銆佸嵃妯°�佸彛鍐呯墮鍒楀強涓婁笅棰岄浣嶅叧绯汇�侀潰閮ㄥ舰鎬併�侀棰岄潰楠ㄩ鍙婅蒋缁勭粐淇℃伅绛夎浆鎹㈡垚璁$畻鏈轰腑涓夌淮鍙鍖栫殑鏁板瓧妯″瀷銆備笁缁存暟瀛楁ā鍨嬫槸鍚庣画涔夐娇璁捐鐨勬暟鎹熀纭�锛屽彲鍦ㄤ笓鐢ㄧ殑鏁板瓧鍖朇AD杞欢涓疄鐜颁笁缁磋瀵熷拰缂栬緫锛岄�氬父鏄竴绉嶅紑鏀炬牸寮忕殑涓夎缃戞牸妯″瀷銆傚叾甯歌鏍煎紡涓哄熀浜庝笁瑙掑舰缃戞牸鐨勪笁缁村浘褰㈡枃浠舵牸寮忥紝鍗砈TL锛坰tandard
                         triangle
                         language锛夋牸寮忋�傚父鐢ㄧ殑涓夌淮鎵弿鎶�鏈牴鎹叾鎶�鏈師鐞嗗彲鍒嗕负鎺ヨЕ寮忔壂鎻忔妧鏈�佸厜瀛︽壂鎻忔妧鏈拰褰卞儚瀛︽壂鎻忔妧鏈瓑锛屾牴鎹叾搴旂敤妯″紡鍙垎涓哄彛鍐呮壂鎻忔妧鏈�佺墮棰屾ā鍨嬫壂鎻忔妧鏈�侀闈㈤儴鎵弿鎶�鏈拰浣撴壂鎻忔妧鏈瓑銆�
                     </p>
-
                 </div>
                 <div class="page-bottom-right">003</div>
             </div>
@@ -82,36 +106,37 @@
         <div class="page-box" page="10">
             <div v-if="showPageList.indexOf(10) > -1">
                 <div class="page-header-left">
-                    <div class="header-txt">
-                        鏁板瓧鍖栧彛鑵斾慨澶嶆妧鏈�
-                    </div>
+                    <div class="header-txt">鏁板瓧鍖栧彛鑵斾慨澶嶆妧鏈�</div>
                 </div>
                 <div class="bodystyle">
-                    <p class="poemtitle-l">锛堜簩锛変箟榻挎暟瀛楀寲璁捐杞欢</p>
+                    <p class="poemtitle-l kTitle">锛堜簩锛変箟榻挎暟瀛楀寲璁捐杞欢</p>
                     <p class="content">
                         涔夐娇鏁板瓧鍖栬璁¤蒋浠讹紙绠�绉扳�淐AD杞欢鈥濓級鏄暟瀛楀寲宸ヨ壓娴佺▼涓殑璁捐鐜妭锛屽畠鐨勫伐浣滃師鐞嗘槸鍩轰簬涓夌淮鎵弿璁惧閲囬泦寤虹珛鐨勫彛鑵旇蒋纭粍缁囨暟瀛楁ā鍨嬶紝鍊熷姪楂樺害鑷姩鍖栨櫤鑳藉寲鐨勮绠楁満寤烘ā绠楁硶鍙婁箟榻挎暟鎹簱鐨勬敮鎸侊紝閲囩敤浜烘満浜や簰寮忕殑鎿嶄綔妯″紡锛屽疄鐜伴珮绮惧害鐨勪箟榻挎暟瀛楁ā鍨嬭璁°��
                     </p>
                     <p class="content">
                         鐢变簬涔夐娇褰㈡�佽璁$殑涓�у寲闇�姹傦紝鍙h厰鎶�甯堝湪涔夐娇鍒朵綔鐨勪紶缁熷伐鑹轰腑鍙戞尌鐫�鑷冲叧閲嶈鐨勪綔鐢ㄣ�傚湪闆曡湣濉戝舰鐨勫埗浣滃伐鑹轰腑锛屾妧甯堜汉涓哄洜绱犲涔夐娇绮惧害鐨勫奖鍝嶄笉鍙伩鍏嶃�侰AD杞欢鏈�绐佸嚭鐨勭壒鐐规槸鍙疄鐜板畾閲忓弬鏁板寲鎺у埗涓嬬殑涓夌淮绮剧‘璁捐锛屽彲鏈�澶ч檺搴﹀湴闄嶄綆浜轰负鍥犵礌鐨勪笉绋冲畾鎬э紝鎺у埗涔夐娇璁捐鐨勫悇椤瑰叧閿寚鏍囩簿搴︺�傛澶栵紝CAD杞欢杩樺叿鏈夊己澶х殑涓�у寲鍙傛暟璁剧疆鑳藉姏鍜屼汉鏈轰氦浜掔殑鐏垫椿鎿嶄綔鏂瑰紡锛屽彲缁欎簣鎶�甯堝厖鍒嗗彂鎸ョ粡楠屼笌鍒涢�犲姏鐨勭┖闂达紝浠庤�岃幏寰楀吋椤惧叧閿儴浣嶇簿搴︿笌涓�у寲鐗瑰緛琛ㄨ揪鐨勪箟榻緾AD妯″瀷銆備笌浼犵粺涔夐娇铚″瀷鍒朵綔宸ヨ壓鐩告瘮锛屼箟榻緾AD璁捐鐨勪紭鍔垮湪浜庯細CAD杞欢鏄竴绉嶅嚌缁撲簡涔夐娇褰㈡�佽璁$煡璇嗕笌缁忛獙鐨勬暟瀛﹀缓妯″伐鍏凤紝鍙湁鏁堝府鍔╁勾杞绘妧甯堝揩閫熸彁楂樹箟榻胯璁℃按骞冲拰璁捐鏁堢巼锛岄檷浣庢妧甯堝涔犳垚鏈紝鎻愰珮涔夐娇鐢熶骇鏁堢巼銆�
                     </p>
-                    <p class="poemtitle-l">锛堜笁锛変箟榻挎暟瀛楀寲鍔犲伐璁惧</p>
+                    <p class="poemtitle-l kTitle">锛堜笁锛変箟榻挎暟瀛楀寲鍔犲伐璁惧</p>
                     <p class="content">
                         涔夐娇鏁板瓧鍖栧姞宸ヨ澶囷紙鍙堢О鈥淐AM璁惧鈥濓級鏄暟瀛楀寲宸ヨ壓娴佺▼鐨勮緭鍑虹幆鑺傦紝鏄疄鐜颁箟榻垮疄鐗╂渶缁堝埗浣滅殑鎶�鏈墜娈碉紝鍏跺伐浣滃師鐞嗘槸灏咰AD杞欢璁捐瀹屾垚鐨勪箟榻挎暟瀛楁ā鍨嬮鍏堥�氳繃鏁版帶宸ヨ壓瑙勫垝杞欢鐢熸垚CAM璁惧鍙瘑鍒殑鍔犲伐宸ヨ壓鏂囦欢锛岀劧鍚嶤AM璁惧鍐嶉�氳繃绮剧‘鐨勮蒋浠剁▼搴忔帶鍒舵墽琛岀浉搴斿伐鑹烘枃浠朵腑鐨勫姞宸ョ▼搴忥紝浠庤�屽畬鎴愭弧瓒充竴瀹氱簿搴﹁姹傜殑涔夐娇瀹炵墿鍒朵綔銆�
                     </p>
-                    <p class="content">CAM璁惧鎸夊伐浣滃師鐞嗗彲鍒嗕负鏁版帶鍔犲伐锛坣umerical control processing锛岀畝绉扳�淣C鍔犲伐鈥濓級璁惧鍜屼笁缁存墦鍗帮紙three-dimensional
+                    <p class="content">
+                        CAM璁惧鎸夊伐浣滃師鐞嗗彲鍒嗕负鏁版帶鍔犲伐锛坣umerical control
+                        processing锛岀畝绉扳�淣C鍔犲伐鈥濓級璁惧鍜屼笁缁存墦鍗帮紙three-dimensional
                         printing锛�3DP锛夎澶囥�傜洰鍓嶅彲鐢–AM鎶�鏈姞宸ョ殑鏉愭枡娑电洊浜嗗悇绉嶄富娴佸彛鑵旈噾灞炪�侀櫠鐡峰強澶嶅悎鏍戣剛锛屼竴浜涗紶缁熷埗浣滃伐鑹洪毦浠ュ姞宸ユ垨鏄棤娉曞姞宸ョ殑鏉愭枡锛堝姘у寲閿嗛櫠鐡凤級鐩墠鍙兘閲囩敤CAM鎶�鏈姞宸ャ��
                     </p>
                     <p class="content">
                         鍙h厰鏁板瓧鍖栨妧鏈殑杩涙涓嶆柇淇冧娇鍙h厰鍖荤敓鐨勫伐浣滄柟寮忎綔鍑烘敼鍙樸�傛暟瀛楀寲鎶�鏈湪鍙h厰绉戜腑鏈�鏄捐憲鐨勪紭鍔夸綋鐜板湪绠�鍖栦复搴婁慨澶嶆祦绋嬶紝鍑忓皯鎮h�呴绾﹀璇婃鏁帮紝缂╃煭涓村簥鎵嬫湳鍜屾妧宸ュ淇浣撳埗浣滆繑鍥炴椂闂达紝骞跺湪涓嶅奖鍝嶄复搴婄粨鏋滅殑鍓嶆彁涓嬪噺灏戝埗閫犳楠ゃ�佷紭鍖栧伐浣滄祦绋嬨�佹彁楂樺伐浣滄晥鐜囥�傚悓鏃禖AD/CAM淇鏉愭枡鍏锋湁璐ㄩ噺绋冲畾銆佹垚鏈緝浣庛�佷慨澶嶅懆鏈熺煭绛夌壒鐐癸紝淇冭繘浜咰AD/CAM淇鏉愭枡鐨勫箍娉涗娇鐢ㄣ�侰AD/CAM鐨勫簲鐢ㄥ鍔犱簡淇浣撶殑绮惧瘑搴︺�佸噯纭害锛屽彲鍑忓皯涓村簥璇婃不鏃堕棿鍜屽氨璇婃鏁帮紝鏁板瓧瀛樻。鍙樉钁楁彁楂樻暟鎹繚鐣欑巼锛屾洿鏈夊埄浜庝互鎮h�呬负涓績鐨勬不鐤楀拰涓村簥淇鍚庨殢璁裤�侰AD/CAM鍒朵綔鐨勪慨澶嶄箟榻垮湪寮哄害銆佸垰搴﹀強鑰愯厫铓�鎬х瓑鏂归潰鍏锋湁浼樺娍锛屾彁鍗囦簡涔夐娇涓庣墮浣撲箣闂寸殑璐村悎搴︼紝澧炲姞浜嗕箟榻跨殑闊ф�с�佹瀬闄愬集鏇插己搴﹀拰寮规�фā閲忕瓑銆傞櫎姝や箣澶栵紝CAD/CAM杩樺彲搴旂敤浜庤繃娓℃�х矘鎺ョ殑淇浣撳埗浣滐紝鎴栫敤鏉ユ仮澶嶅挰鍚堛�傝櫧鐒禖AD/CAM鎶�鏈繕瀛樺湪閮ㄥ垎灞�闄愭�э紝濡傚垵濮嬫垚鏈珮鐨勶紝浣嗗叾缁欏彛鑵斾慨澶嶅甫鏉ョ殑璇稿浼樼偣涓嶅灏忚銆傛湭鏉ワ紝CAD/CAM灏嗘洿鍔犲箍娉涘湴搴旂敤浜庡彛鑵斾慨澶嶏紝淇冭繘鍙h厰淇鎶�鏈殑杩呯寷鍙戝睍銆�
                     </p>
-                    <div class="bodyPic"><img src="../../assets/images/0020-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">鍏ㄧ摲淇</span></p>
-                    <p class="quotation">
-                        鍏ㄧ摲淇绯荤粺绉嶇被绻佸锛屾牴鎹潗鏂欑殑涓嶅悓鍙垎涓烘哀鍖栭摑闄剁摲锛堝In-Ceram绯荤粺锛夈�佹哀鍖栭攩闄剁摲锛堝Cercon绯荤粺锛夈�佹哀鍖栫闄剁摲锛圛PS-Empress绯荤粺锛夌瓑锛涙牴鎹姞宸ュ伐鑹哄彲鍒嗕负绮夋祮娑傚锛堝In-Ceram绛夛級銆佸け铚¢摳閫狅紙濡侷PS-Empress绛夛級銆佹満姊板垏鍓婏紙濡侰ercon锛夌瓑锛涙牴鎹畬鎴愪慨澶嶄綋鏈�缁堝褰㈠拰缁撴瀯鐨勪笉鍚屽彲鍒嗕负鍗曞眰缁撴瀯涓庡弻灞傜粨鏋勩��
-                    </p>
-
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">鍏ㄧ摲淇</span></p>
+                        <p class="quotation">
+                            鍏ㄧ摲淇绯荤粺绉嶇被绻佸锛屾牴鎹潗鏂欑殑涓嶅悓鍙垎涓烘哀鍖栭摑闄剁摲锛堝In-Ceram绯荤粺锛夈�佹哀鍖栭攩闄剁摲锛堝Cercon绯荤粺锛夈�佹哀鍖栫闄剁摲锛圛PS-Empress绯荤粺锛夌瓑锛涙牴鎹姞宸ュ伐鑹哄彲鍒嗕负绮夋祮娑傚锛堝In-Ceram绛夛級銆佸け铚¢摳閫狅紙濡侷PS-Empress绛夛級銆佹満姊板垏鍓婏紙濡侰ercon锛夌瓑锛涙牴鎹畬鎴愪慨澶嶄綋鏈�缁堝褰㈠拰缁撴瀯鐨勪笉鍚屽彲鍒嗕负鍗曞眰缁撴瀯涓庡弻灞傜粨鏋勩��
+                        </p>
+                    </div>
                 </div>
+
                 <div class="page-bottom-left">004</div>
             </div>
         </div>
@@ -122,25 +147,94 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="bodyPic"><img src="../../assets/images/0021-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <div class="unitSummary">
+                        <div class="summary-lift" @click="toUrl(getResourceInfo('B1'))">
+                            <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                            <span>鑰冭瘯鐭ヨ瘑鐐规�荤粨</span>
+                        </div>
+                        <div class="summary-right" @click="toUrl(getResourceInfo('C1'))">
+                            <img src="../../assets/images/zongJie.svg" alt="" />
+                            <span>鏈珷灏忚妭</span>
+                        </div>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>棰樺簱</span>
+                        </div>
+                        <div class="knowledgeExpansion-box">
+                            <img src="../../assets/images/tuoZhan.svg" alt="" />
+                            <span @click="openQuestion(getResourceInfo('AA1'))">鎷撳睍缁冧範</span>
+                        </div>
+                    </div>
                     <p class="right-info">锛堟潕鏂囧锛�</p>
                 </div>
                 <div class="page-bottom-right">005</div>
             </div>
         </div>
+        <preView :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef"></preView>
+        <dialogExaminations :cardList="interfaceQuestion" :questionIDList="questionIDList" :page="questionNum"
+            :questionTitle="questionTitleMain" ref="dialogRef">
+        </dialogExaminations>
     </div>
 </template>
 
 <script>
+import preView from "@/components/pdfview/index.vue";
+import dialogExaminations from "@/components/dialogExaminations/index.vue";
 export default {
     name: "chapterOne",
     props: {
         showPageList: {
             type: Array,
         },
+        getResourceInfo: {
+            type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
+            required: true
+        },
+        interfaceQuestion: {
+            type: Array,
+            required: true,
+            default: () => [],
+        },
     },
-}
+    components: {
+        preView,
+        dialogExaminations,
+    },
+    data() {
+        return {
+            p_md5: "",
+            somePdfTitleValue: "",
+            // 棰樼洰鐩稿叧
+            questionNum: 0,
+            questionTitleMain: "",
+            questionIDList: [],
+        };
+    },
+    mounted() {
+    },
+    methods: {
+        toUrl(val) {
+            if (val != null) {
+                console.log(val, "val");
+                this.p_md5 = val.md5;
+                this.somePdfTitleValue = val.resourceName;
+                this.$refs.pdfDialogRef.openDialog();
+            }
+        },
+        openQuestion(val) {
+            if (val != undefined) {
+                this.questionNum = val.pagination;
+                this.questionTitleMain = val.resourceName;
+                this.questionIDList = val.ids;
+                this.$nextTick(() => {
+                    this.$refs.dialogRef.openDialogQuestion();
+                });
+            }
+        },
+    },
+};
 </script>
 
-<style lang="less" scoped></style>
\ No newline at end of file
+<style lang="less" scoped></style>
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/chapter002.vue b/src/books/digitalDentalRestorationTechnology/view/components/chapter002.vue
index 9dc8fc9..1830ac3 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/chapter002.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/chapter002.vue
@@ -9,32 +9,56 @@
                 </div>
                 <div class="bodystyle">
                     <h1 class="firstTitle-l mb-70 pt-70">椤圭洰涓�銆�鍙h厰鎵弿鎶�鏈�</h1>
-                    <div class="bodyPic"><img src="../../assets/images/0022-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0017-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绱犺川鐩爣</span></p>
-                    <p class="content">锛�1锛夊叿澶囦弗璋ㄧ殑绉戝鎬佸害锛屾敞閲嶆壂鎻忔暟鎹殑鍑嗙‘鎬у拰鍙潬鎬с��</p>
-                    <p class="content">锛�2锛夊叿鏈夊洟闃熷崗浣滄剰璇嗭紝鑳藉涓庡彛鑵斿尰鐢熴�佹姢澹�佹妧甯堝瘑鍒囧悎浣溿��</p>
-                    <p class="content">锛�3锛夋彁鍗囧涔犺兘鍔涳紝鍕囦簬灏濊瘯鎵弿鏂规硶鍜屾妧鏈紝鎻愰珮鎵弿鏁堢巼鍜岃川閲忋��</p>
-                    <p class="center">........................</p>
-                    <p class="center"><span class="bold">鐭ヨ瘑鐩爣</span></p>
-                    <p class="content">锛�1锛夋帉鎻★細鍙h厰鎵弿鎶�鏈殑宸ヨ壓娴佺▼銆�</p>
-                    <p class="content">锛�2锛夌啛鎮夛細婵�鍏夈�佺粨鏋勫厜鍜岀珛浣撴憚褰辩瓑涓嶅悓鎵弿鎶�鏈殑宸ヤ綔鍘熺悊銆�</p>
-                    <p class="center">........................</p>
-                    <p class="content"><span class="bold">鑳藉姏鐩爣</span></p>
-                    <p class="content">锛�1锛夎兘澶熸纭畨瑁呫�佽皟璇曞彛鍐呮壂鎻忎华銆�</p>
-                    <p class="content">锛�2锛夎兘澶熺啛缁冭繘琛屽彛鑵旀壂鎻忔搷浣滐紝姝g‘鎵弿鐗欓娇銆佺墮鍛ㄧ粍缁囥�佸挰鍚堝叧绯荤瓑銆�</p>
+                    <div class="learnGoal">
+                        <img class="learnImg img-h" src="../../assets/images/learnGoal.png" alt="" />
+                        <p class="center learngoalRange"><span class="bold">绱犺川鐩爣</span></p>
+                        <p class="content">锛�1锛夊叿澶囦弗璋ㄧ殑绉戝鎬佸害锛屾敞閲嶆壂鎻忔暟鎹殑鍑嗙‘鎬у拰鍙潬鎬с��</p>
+                        <p class="content">锛�2锛夊叿鏈夊洟闃熷崗浣滄剰璇嗭紝鑳藉涓庡彛鑵斿尰鐢熴�佹姢澹�佹妧甯堝瘑鍒囧悎浣溿��</p>
+                        <p class="content">锛�3锛夋彁鍗囧涔犺兘鍔涳紝鍕囦簬灏濊瘯鎵弿鏂规硶鍜屾妧鏈紝鎻愰珮鎵弿鏁堢巼鍜岃川閲忋��</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鐭ヨ瘑鐩爣</span></p>
+                        <p class="content">锛�1锛夋帉鎻★細鍙h厰鎵弿鎶�鏈殑宸ヨ壓娴佺▼銆�</p>
+                        <p class="content">锛�2锛夌啛鎮夛細婵�鍏夈�佺粨鏋勫厜鍜岀珛浣撴憚褰辩瓑涓嶅悓鎵弿鎶�鏈殑宸ヤ綔鍘熺悊銆�</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鑳藉姏鐩爣</span></p>
+                        <p class="content">锛�1锛夎兘澶熸纭畨瑁呫�佽皟璇曞彛鍐呮壂鎻忎华銆�</p>
+                        <p class="content">锛�2锛夎兘澶熺啛缁冭繘琛屽彛鑵旀壂鎻忔搷浣滐紝姝g‘鎵弿鐗欓娇銆佺墮鍛ㄧ粍缁囥�佸挰鍚堝叧绯荤瓑銆�</p>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>鏁欏璇句欢</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A2'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰涓� 鏁欏璇句欢 鍙f壂鍘熺悊</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A3'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰涓� 鏁欏璇句欢 浠撴壂鍘熺悊</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A4'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰涓� 鏁欏璇句欢 鍙h厰鎵弿鎶�鏈伐鑹烘祦绋�</span>
+                        </div>
+                    </div>
                     <p class="content">
                         鍙h厰鎵弿鎶�鏈槸鍙h厰鏁板瓧鍖栧伐鑹烘妧鏈郴缁熺殑绗竴鐜妭锛屼富瑕佺敤浜庡彛鑵旂墮棰屾暟鎹噰闆嗭紝涓哄尰鐢熻瘖鏂拰鎶�甯堣璁′慨澶嶄綋鎻愪緵鏁版嵁淇℃伅锛涢�氳繃鍙h厰鎵弿璁惧锛岄噰闆嗕箟榻胯璁″埗浣滈渶瑕佺殑淇℃伅锛屽鐗欎綋銆佺墮鍒椼�侀粡鑶溿�侀浣嶅叧绯荤瓑锛岃繍鐢ㄨ绠楁満鎶�鏈暣鍚堟暟瀛楁ā鍨嬶紝杩樺師鎮h�呭彛鑵旂粨鏋勶紝褰㈡垚鏁板瓧鍖栧嵃妯°��
                     </p>
                     <h2 class="secondTitle">浠诲姟涓�銆�鍙h厰鎵弿鎶�鏈師鐞�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鎮h�咃紝濂筹紝28宀併�傛牴绠℃不鐤楀悗瑕佹眰杩涜26鐑ょ摲鍐犱慨澶嶏紝闂ㄨ瘖鍖荤敓鍦ㄦ不鐤楄繃绋嬩腑涓烘偅鑰呰繘琛屼簡鐗欎綋棰勫鍜屽彛鍐呮壂鎻忥紝骞跺皢鏁版嵁浼犵粰鍙h厰鎶�宸ュ銆�</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">鍙e唴鎵弿鎶�鏈槸鍩轰簬浠�涔堝師鐞嗘潵宸ヤ綔鐨勶紵</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title bold">浠诲姟妗堜緥</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1 caseStudy1">銆愭渚嬨��</p>
+                            <p class="content">鎮h�咃紝濂筹紝28宀併�傛牴绠℃不鐤楀悗瑕佹眰杩涜26鐑ょ摲鍐犱慨澶嶏紝闂ㄨ瘖鍖荤敓鍦ㄦ不鐤楄繃绋嬩腑涓烘偅鑰呰繘琛屼簡鐗欎綋棰勫鍜屽彛鍐呮壂鎻忥紝骞跺皢鏁版嵁浼犵粰鍙h厰鎶�宸ュ銆�</p>
+                            <p class="titleQuot-1 caseStudy1">銆愰棶棰樸��</p>
+                            <p class="content">鍙e唴鎵弿鎶�鏈槸鍩轰簬浠�涔堝師鐞嗘潵宸ヤ綔鐨勶紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.one" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
                 </div>
                 <div class="page-bottom-left">006</div>
             </div>
@@ -46,31 +70,33 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">鍙h厰鎵弿鎶�鏈槸鍊熷姪鍚勭鎵弿璁惧鍜岃蒋浠舵潵瀹屾垚鍙h厰缁勭粐褰㈡�佷俊鎭殑娴嬮噺鍜屾暟鎹垎鏋愮殑鎵弿娴嬮噺鎶�鏈�傚叾鏁版嵁閲囬泦鏂瑰紡銆佹暟鎹簿搴﹀拰鏁版嵁閲囬泦鏁堢巼涓庝箟榻垮埗浣滄祦绋嬬揣瀵嗙浉鍏炽��</p>
                     <p class="content">
                         鏍规嵁鏁版嵁閲囬泦鏂瑰紡涓嶅悓锛屽彲浠ュ皢鍙h厰鎵弿鎶�鏈垎涓虹洿鎺ユ硶鍜岄棿鎺ユ硶銆傛牴鎹复搴婂簲鐢ㄨ寖鍥寸殑涓嶅悓锛屽彲浠ュ皢鍙h厰鎵弿鎶�鏈垎涓哄彛鍐呮壂鎻忔妧鏈�佺墮棰屾ā鍨嬫壂鎻忔妧鏈�侀闈㈤儴鎵弿鎶�鏈拰CT鎵弿鎶�鏈�傛牴鎹壂鎻忓師鐞嗙殑涓嶅悓锛屽彲浠ュ皢鍙h厰鎵弿鎶�鏈垎涓烘帴瑙﹀紡鎵弿鎶�鏈拰闈炴帴瑙﹀紡鎵弿鎶�鏈紱鍏朵腑锛岄潪鎺ヨЕ寮忔壂鎻忔妧鏈張鍙互鍒嗕负鍏夊鎵弿鎶�鏈�佺珛浣撴憚褰辨妧鏈拰褰卞儚瀛︽壂鎻忔妧鏈�傛帴瑙﹀紡鎵弿鎶�鏈拰鍏夊鎵弿鎶�鏈父鐢ㄤ簬閲囬泦鍙h厰鏁板瓧妯″瀷鐨勬暟鎹紝褰卞儚瀛︽壂鎻忔妧鏈父鐢ㄤ簬閲囬泦棰呴闈㈤儴缁勭粐鐨勪笁缁存暟鎹�備笅闈㈤拡瀵瑰父鐢ㄦ壂鎻忔妧鏈殑鍘熺悊鍜屽簲鐢ㄨ繘琛屼粙缁嶃��
                     </p>
                     <h3 class="thirdTitle">涓�銆佸彛鍐呮壂鎻忔妧鏈師鐞�</h3>
-                    <div class="bodyPic"><img src="../../assets/images/0023-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
+                    <bookVideo :videoInfo="getResourceInfo('D2')" :BookId="config.activeBook.bookId"></bookVideo>
                     <p class="content">鍙e唴鎵弿鎶�鏈槸閫氳繃鐩存帴閲囬泦鏁版嵁鐨勬柟寮忥紝灏嗘暟瀛楀寲鎵弿璁惧鏀剧疆鍦ㄦ偅鑰呭彛鍐咃紝瀵瑰彛鑵旇蒋纭粍缁囪繘琛屾壂鎻忔祴閲忥紝瀹炴椂鑾峰彇鏁板瓧鍖栧嵃妯°��</p>
                     <p class="content">
                         鍙e唴鎵弿鎶�鏈彲绠�鍖栦紶缁熶箟榻垮埗浣滀腑鍗版ā鍒跺彇鍜屾ā鍨嬬亴娉ㄧ殑娴佺▼锛屽噺灏戞潗鏂欑殑娑堣�楋紝鑺傜害鎴愭湰锛涙彁鍗囨偅鑰呯殑鑸掗�傚害锛岄伩鍏嶅嵃妯″埗鍙栧紩璧风殑鎮h�呬笉閫傦紱闄嶄綆鎿嶄綔璇樊锛涘疄鐜板彛鑵旂湡鑹插僵缁勭粐缁撴瀯鏁板瓧鍗版ā锛屾柟渚胯繘琛屾瘮鑹层�佹暟瀛楀寲璁捐鍜屽尰鎮f矡閫氾紱浣垮尰鐢熻兘澶熷嵆鏃舵鏌ラ澶囦綋鐨勫舰鎬侊紝鍒ゆ柇鐗欎綋棰勫璐ㄩ噺锛屾鏌ラ澶囦綋鐨勭粏鑺傦紝濡傝酱闈㈣仛鍚堝害銆佽偐鍙板舰鎬併�侀澶囦綋杈圭紭銆佽蒋纭粍缁囧舰鎬佸拰鍊掑嚬銆佷箟榻垮氨浣嶉亾绛夛紝鍙戠幇闂绔嬪嵆鍦ㄦ偅鑰呭彛鍐呰繘琛岃皟鏀癸紱鍒╀簬閰嶅悎CAD/CAM绯荤粺瀹炵幇蹇�熻璁″埗浣滀复鏃跺強鏈�缁堜慨澶嶄綋锛屼负鎮h�呭甫鏉ユ洿鍔犵悊鎯崇殑灏辫瘖浣撻獙銆�
                     </p>
                     <p class="content">鍙e唴鎵弿鎶�鏈殑鍘熺悊涓昏鏄厜瀛︿笁瑙掓祴閲忔硶銆佸叡鑱氱劍鏄惧井鎴愬儚鎶�鏈�佷富鍔ㄦ尝闃甸潰閲囨牱鎶�鏈��</p>
-                    <p class="poemtitle-l">锛堜竴锛夊厜瀛︿笁瑙掓祴閲忔硶</p>
-                    <p class="content">
-                        鍏夊涓夎娴嬮噺娉曟槸鍙e唴鎵弿鎶�鏈殑鍩虹鍘熺悊锛岄�氳繃寰呮祴鐐圭浉瀵逛簬鍏夊鍩哄噯绾垮亸绉讳骇鐢熺殑鍙樺寲锛岃绠楄鐐圭殑淇℃伅锛屼粠鑰屾瀯寤轰笁缁寸粨鏋勩�傚厜婧愮粡閫忛暅鎶曞皠鍦ㄨ娴嬫ā鍨嬭〃闈㈢殑鍏夌嚎琚弽灏勫悗锛岀粡杩囨帴鏀跺櫒閫忛暅鐢辨劅鍏夊厓浠讹紙charge
-                        coupled
-                        device锛孋CD锛夋帴鏀讹紝閫氳繃宸茶瀹氱殑鍙戝皠鍏夋簮瑙掑害鍜岄珮搴︽眰瑙e厜璺郴缁熺浉浼间笁瑙掑舰锛屾祴瀹氭ā鍨嬩笁缁存暟鎹紝鏍规嵁骞抽潰澶勪簬涓嶅悓浣嶇疆鏃讹紝鎰熷厜鍏冧欢涓婄殑鎴愬儚浣嶇疆鐨勫彉鍖栵紝鐢熸垚涓夌淮鏁版嵁妯″瀷锛堝浘1-1-1锛夈�備互鍏夊涓夎娴嬮噺娉曚负鍩虹锛屽皢鍏夊鎵弿鎶�鏈垎涓烘縺鍏夋壂鎻忔妧鏈�佺粨鏋勫厜鎵弿鎶�鏈拰绔嬩綋鎽勫奖鎶�鏈��
-                    </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0023-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�1-1-1銆�涓夎娴嬮噺娉曞師鐞嗙ず鎰忓浘</p>
+                    <p class="poemtitle-l kTitle">锛堜竴锛夊厜瀛︿笁瑙掓祴閲忔硶</p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic">
+                            <img class="openImgBox" src="../../assets/images/0023-02.jpg" style="width:320px"
+                                alt="鍥�1-1-1銆�涓夎娴嬮噺娉曞師鐞嗙ず鎰忓浘" active="true" />
+                            <p class="imgdescript-b">鍥�1-1-1銆�涓夎娴嬮噺娉曞師鐞嗙ず鎰忓浘</p>
+                        </div>
+                        <p class="content">
+                            鍏夊涓夎娴嬮噺娉曟槸鍙e唴鎵弿鎶�鏈殑鍩虹鍘熺悊锛岄�氳繃寰呮祴鐐圭浉瀵逛簬鍏夊鍩哄噯绾垮亸绉讳骇鐢熺殑鍙樺寲锛岃绠楄鐐圭殑淇℃伅锛屼粠鑰屾瀯寤轰笁缁寸粨鏋勩�傚厜婧愮粡閫忛暅鎶曞皠鍦ㄨ娴嬫ā鍨嬭〃闈㈢殑鍏夌嚎琚弽灏勫悗锛岀粡杩囨帴鏀跺櫒閫忛暅鐢辨劅鍏夊厓浠讹紙charge
+                            coupled
+                            device锛孋CD锛夋帴鏀讹紝閫氳繃宸茶瀹氱殑鍙戝皠鍏夋簮瑙掑害鍜岄珮搴︽眰瑙e厜璺郴缁熺浉浼间笁瑙掑舰锛屾祴瀹氭ā鍨嬩笁缁存暟鎹紝鏍规嵁骞抽潰澶勪簬涓嶅悓浣嶇疆鏃讹紝鎰熷厜鍏冧欢涓婄殑鎴愬儚浣嶇疆鐨勫彉鍖栵紝鐢熸垚涓夌淮鏁版嵁妯″瀷锛堝浘1-1-1锛夈�備互鍏夊涓夎娴嬮噺娉曚负鍩虹锛屽皢鍏夊鎵弿鎶�鏈垎涓烘縺鍏夋壂鎻忔妧鏈�佺粨鏋勫厜鎵弿鎶�鏈拰绔嬩綋鎽勫奖鎶�鏈��
+                        </p>
                     </div>
                     <p class="content"><span
-                            class="bold">1锛庢縺鍏夋壂鎻忔妧鏈�</span>銆�鐢辨縺鍏夊櫒缁忚仛鍏夐�忛暅鍚戣娴嬬墿琛ㄩ潰鎶曞皠鐐圭姸鎴栫嚎鐘跺厜鏉燂紝鍦ㄨ娴嬬墿琛ㄩ潰涓婂舰鎴愬厜鐐规垨鍏夌嚎锛屽苟閫氳繃鎴愬儚閫忛暅鍙嶅皠鎴愬儚鍦–CD涓娿�傞殢鐫�鍏夋簮鎴栬娴嬬墿浣撶殑绉诲姩鎴栬浆鍔紝鍥惧儚浼犳劅鍣ㄤ笉鏂幏鍙栧弽灏勭殑鍏夌偣鎴栧厜绾匡紝姣忎釜鍏夌偣閮戒唬琛ㄨ娴嬬墿浣撹〃闈㈢殑涓夌淮绌洪棿鍧愭爣銆傚埄鐢ㄩ噰闆嗗埌鐨勪笁缁存暟鎹俊鎭紝缁忚绠楁満澶勭悊鐢熸垚鍙鍖栫殑鏁板瓧妯″瀷銆�
+                            class="bold fontGreen">1锛庢縺鍏夋壂鎻忔妧鏈�</span>銆�鐢辨縺鍏夊櫒缁忚仛鍏夐�忛暅鍚戣娴嬬墿琛ㄩ潰鎶曞皠鐐圭姸鎴栫嚎鐘跺厜鏉燂紝鍦ㄨ娴嬬墿琛ㄩ潰涓婂舰鎴愬厜鐐规垨鍏夌嚎锛屽苟閫氳繃鎴愬儚閫忛暅鍙嶅皠鎴愬儚鍦–CD涓娿�傞殢鐫�鍏夋簮鎴栬娴嬬墿浣撶殑绉诲姩鎴栬浆鍔紝鍥惧儚浼犳劅鍣ㄤ笉鏂幏鍙栧弽灏勭殑鍏夌偣鎴栧厜绾匡紝姣忎釜鍏夌偣閮戒唬琛ㄨ娴嬬墿浣撹〃闈㈢殑涓夌淮绌洪棿鍧愭爣銆傚埄鐢ㄩ噰闆嗗埌鐨勪笁缁存暟鎹俊鎭紝缁忚绠楁満澶勭悊鐢熸垚鍙鍖栫殑鏁板瓧妯″瀷銆�
                     </p>
                 </div>
                 <div class="page-bottom-right">007</div>
@@ -87,29 +113,31 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">2锛庣粨鏋勫厜鎵弿鎶�鏈�</span>銆�鍏锋湁鎵弿閫熷害杈冨揩銆佺洸鍖哄皯銆佹暟鎹瘑搴﹂珮銆佺粏鑺傝〃鐜板姏濂界殑浼樼偣锛屼絾鐢变簬澶氳搴︽壂鎻忔嫾鎺ヤ細浜х敓澶ч噺鐨勫啑浣欐暟鎹拰鍣偣锛屽鎵弿杞欢鐨勫悗澶勭悊鍔熻兘瑕佹眰杈冮珮銆�
+                            class="bold fontGreen">2锛庣粨鏋勫厜鎵弿鎶�鏈�</span>銆�鍏锋湁鎵弿閫熷害杈冨揩銆佺洸鍖哄皯銆佹暟鎹瘑搴﹂珮銆佺粏鑺傝〃鐜板姏濂界殑浼樼偣锛屼絾鐢变簬澶氳搴︽壂鎻忔嫾鎺ヤ細浜х敓澶ч噺鐨勫啑浣欐暟鎹拰鍣偣锛屽鎵弿杞欢鐨勫悗澶勭悊鍔熻兘瑕佹眰杈冮珮銆�
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庣珛浣撴憚褰辨妧鏈�</span>銆�涓昏鍒╃敤鍙岀洰瑙嗚鍘熺悊锛屽嵆鍙岀溂瑙傚療鍚屼竴鐗╀綋鐨勪綅缃拰瑙掑害绋嶆湁涓嶅悓锛屽皢鍙岀溂鐪嬪埌鐨勫奖鍍忛�佸叆澶ц剳锛屽悎鎴愬叿鏈夐暱搴︺�佸搴﹀拰楂樺害鐨勭珛浣撳奖鍍忋�傚彛鑵旀壂鎻忔椂锛岀敤鐓х浉鏈烘垨鎽勫儚鏈轰粠澶氫釜瑙掑害鎷嶆憚鍙h厰缁撴瀯褰㈡垚褰卞儚锛岄�氳繃瑙f瀽鍑犱綍鐨勬柟娉曪紝鐢辫绠楁満瀵规墍鎷嶆憚鐨勪簩缁村奖鍍忚繘琛岃繍绠楀鐞嗭紝鍒嗘瀽褰卞儚涔嬮棿鐨勭┖闂翠綅缃紝褰㈡垚绔嬩綋缁撴瀯鍏崇郴锛岃绠楀嚭鐗╀綋鐨勪笁缁村潗鏍囷紝浠庤�屽缓绔嬪嚭涓夌淮绔嬩綋妯″瀷銆�
+                            class="bold fontGreen">3锛庣珛浣撴憚褰辨妧鏈�</span>銆�涓昏鍒╃敤鍙岀洰瑙嗚鍘熺悊锛屽嵆鍙岀溂瑙傚療鍚屼竴鐗╀綋鐨勪綅缃拰瑙掑害绋嶆湁涓嶅悓锛屽皢鍙岀溂鐪嬪埌鐨勫奖鍍忛�佸叆澶ц剳锛屽悎鎴愬叿鏈夐暱搴︺�佸搴﹀拰楂樺害鐨勭珛浣撳奖鍍忋�傚彛鑵旀壂鎻忔椂锛岀敤鐓х浉鏈烘垨鎽勫儚鏈轰粠澶氫釜瑙掑害鎷嶆憚鍙h厰缁撴瀯褰㈡垚褰卞儚锛岄�氳繃瑙f瀽鍑犱綍鐨勬柟娉曪紝鐢辫绠楁満瀵规墍鎷嶆憚鐨勪簩缁村奖鍍忚繘琛岃繍绠楀鐞嗭紝鍒嗘瀽褰卞儚涔嬮棿鐨勭┖闂翠綅缃紝褰㈡垚绔嬩綋缁撴瀯鍏崇郴锛岃绠楀嚭鐗╀綋鐨勪笁缁村潗鏍囷紝浠庤�屽缓绔嬪嚭涓夌淮绔嬩綋妯″瀷銆�
                     </p>
-                    <p class="poemtitle-l">锛堜簩锛夊叡鑱氱劍鏄惧井鎴愬儚鎶�鏈�</p>
-                    <p class="content">
-                        鍏辫仛鐒︽樉寰垚鍍忔妧鏈槸鍒╃敤鏀剧疆鍦ㄥ厜婧愬悗鍜屾帰娴嬪櫒鍓嶇殑鍏辩劍閽堝瓟褰㈡垚鐐瑰厜婧愬拰鐐规帰娴嬫潵鎴愬儚鐨勬妧鏈�傚厜婧愬彂灏勭殑鍏夌粡杩囩収鏄庨拡瀛旓紝鍦ㄧ墮榻跨劍骞抽潰涓婄殑鏌愮偣鑱氱劍锛屽叾鍙嶅皠鍏夌嚎鐢卞師鍏夎矾杩斿洖锛屽湪鎺㈡祴閽堝瓟鍐呮垚鍍忥紝闈炶仛鐒﹁寖鍥寸殑鍙嶅皠鍏夌嚎鏃犳硶鍦ㄦ帰娴嬮拡瀛斿唴鎴愬儚锛涢�氳繃閫愬眰鎵弿锛屾潵鑾峰緱鐗欓娇涓嶅悓浣嶇疆鐨勫舰璨屾暟鎹紝鏋勫缓鍑虹墮鐨勪笁缁村舰鎬侊紙鍥�1-1-2锛夈�傚叡鑱氱劍鏄惧井鎴愬儚鎶�鏈殑浼樼偣鏄壂鎻忕簿搴﹁緝楂樸�佸浘鍍忔竻鏅帮紝缂虹偣鏄�愬抚鎵弿鐨勯�熷害鐩稿杈冩參銆�
-                    </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0024-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�1-1-2銆�鍏辫仛鐒︽樉寰垚鍍忔妧鏈ず鎰忓浘</p>
+                    <p class="poemtitle-l kTitle">锛堜簩锛夊叡鑱氱劍鏄惧井鎴愬儚鎶�鏈�</p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic ">
+                            <img class="openImgBox" src="../../assets/images/0024-01.jpg" style="width:250px"
+                                alt="鍥�1-1-2銆�鍏辫仛鐒︽樉寰垚鍍忔妧鏈ず鎰忓浘" active="true" />
+                            <p class="imgdescript-b">鍥�1-1-2銆�鍏辫仛鐒︽樉寰垚鍍忔妧鏈ず鎰忓浘</p>
+                        </div>
+                        <p class="content">
+                            鍏辫仛鐒︽樉寰垚鍍忔妧鏈槸鍒╃敤鏀剧疆鍦ㄥ厜婧愬悗鍜屾帰娴嬪櫒鍓嶇殑鍏辩劍閽堝瓟褰㈡垚鐐瑰厜婧愬拰鐐规帰娴嬫潵鎴愬儚鐨勬妧鏈�傚厜婧愬彂灏勭殑鍏夌粡杩囩収鏄庨拡瀛旓紝鍦ㄧ墮榻跨劍骞抽潰涓婄殑鏌愮偣鑱氱劍锛屽叾鍙嶅皠鍏夌嚎鐢卞師鍏夎矾杩斿洖锛屽湪鎺㈡祴閽堝瓟鍐呮垚鍍忥紝闈炶仛鐒﹁寖鍥寸殑鍙嶅皠鍏夌嚎鏃犳硶鍦ㄦ帰娴嬮拡瀛斿唴鎴愬儚锛涢�氳繃閫愬眰鎵弿锛屾潵鑾峰緱鐗欓娇涓嶅悓浣嶇疆鐨勫舰璨屾暟鎹紝鏋勫缓鍑虹墮鐨勪笁缁村舰鎬侊紙鍥�1-1-2锛夈�傚叡鑱氱劍鏄惧井鎴愬儚鎶�鏈殑浼樼偣鏄壂鎻忕簿搴﹁緝楂樸�佸浘鍍忔竻鏅帮紝缂虹偣鏄�愬抚鎵弿鐨勯�熷害鐩稿杈冩參銆�
+                        </p>
+                        <p class="content">
+                            鐢变簬鍙h厰鎵弿鏄竴涓浉瀵瑰姩鎬佺殑杩囩▼锛屽鎮h�呯殑涓嶈嚜涓昏繍鍔紝浼氫娇寰椾笅棰岀殑浣嶇疆鍙戠敓鍙樺寲锛屾墜鎸佸彛鑵旀壂鎻忔灙鐨勫姩浣滀篃鏃犳硶鍋氬埌缁濆绋冲畾锛屽洜姝ゆ壂鎻忓璞″拰绌洪棿鐨勬暣浣撶ǔ瀹氭�т笉濡傜墮棰屾ā鍨嬫壂鎻忋�傝繖灏卞鏁版嵁閲囬泦鍜岃蒋浠剁畻娉曠殑绮惧害鎻愬嚭浜嗘洿楂樼殑瑕佹眰銆傚湪鍏辫仛鐒︽樉寰垚鍍忔妧鏈殑鍩虹涓婏紝鍔犲叆鍏夎矾鎸崱绯荤粺锛屽彲浠ヨ缃懆鏈熸�у彉鎹㈢劍骞抽潰鐨勪綅缃苟鑱氱劍鎴愬儚锛屽湪鍔ㄦ�佽繛缁壂鎻忕墮榻跨殑杩囩▼涓紝楂樻晥蹇�熻幏鍙栦笁缁存垚鍍忥紝閫熷害鎺ヨ繎鍔ㄦ�佹憚鍍忔按骞筹紝杩欑鎶�鏈О涓鸿秴蹇厜瀛﹀垏鐗囨妧鏈��
+                        </p>
                     </div>
-                    <p class="content">
-                        鐢变簬鍙h厰鎵弿鏄竴涓浉瀵瑰姩鎬佺殑杩囩▼锛屽鎮h�呯殑涓嶈嚜涓昏繍鍔紝浼氫娇寰椾笅棰岀殑浣嶇疆鍙戠敓鍙樺寲锛屾墜鎸佸彛鑵旀壂鎻忔灙鐨勫姩浣滀篃鏃犳硶鍋氬埌缁濆绋冲畾锛屽洜姝ゆ壂鎻忓璞″拰绌洪棿鐨勬暣浣撶ǔ瀹氭�т笉濡傜墮棰屾ā鍨嬫壂鎻忋�傝繖灏卞鏁版嵁閲囬泦鍜岃蒋浠剁畻娉曠殑绮惧害鎻愬嚭浜嗘洿楂樼殑瑕佹眰銆傚湪鍏辫仛鐒︽樉寰垚鍍忔妧鏈殑鍩虹涓婏紝鍔犲叆鍏夎矾鎸崱绯荤粺锛屽彲浠ヨ缃懆鏈熸�у彉鎹㈢劍骞抽潰鐨勪綅缃苟鑱氱劍鎴愬儚锛屽湪鍔ㄦ�佽繛缁壂鎻忕墮榻跨殑杩囩▼涓紝楂樻晥蹇�熻幏鍙栦笁缁存垚鍍忥紝閫熷害鎺ヨ繎鍔ㄦ�佹憚鍍忔按骞筹紝杩欑鎶�鏈О涓鸿秴蹇厜瀛﹀垏鐗囨妧鏈��
-                    </p>
-                    <p class="poemtitle-l">锛堜笁锛変富鍔ㄦ尝闃甸潰閲囨牱鎶�鏈�</p>
+                    <p class="poemtitle-l kTitle">锛堜笁锛変富鍔ㄦ尝闃甸潰閲囨牱鎶�鏈�</p>
                     <p class="content">
                         琚壂鎻忕墮闈㈢殑鍙嶅皠鍏夌嚎缁忚繃鏃嬭浆鍋忓績瀛旇缃殑杩囨护锛屽湪鎴愬儚骞抽潰鍐呭舰鎴愬渾褰㈣建杩圭殑澶辩劍鍥惧儚锛岄�氳繃宸茬煡鍏夎矾绯荤粺鍙傛暟鍜屾祴閲忓緱鍒扮殑澶辩劍鍥惧儚鍗婂緞璁$畻鍑虹墮闈㈣娴嬬偣鐨勭┖闂村潗鏍囷紝浠庤�岃幏寰楁暟瀛楀寲鍥惧儚銆傝繖绉嶆妧鏈殑浼樺娍鍦ㄤ簬鍋忓績瀛旇缃殑鍏夌嚎杩囨护浣滅敤鑳藉鏈夋晥闃叉鐗欓潰涓嶅悓鍖哄煙鐨勫浘鍍忛噸鍚堬紝鎻愰珮鍥惧儚鐨勭┖闂村垎杈ㄧ巼銆傝鎯冲厖鍒嗗彂鎸ヤ紭鍔匡紝闇�瑕佹壂鎻忓墠鍦ㄧ墮闈㈠潎鍖�鍠锋秱绮夋湯锛屼互澧炲姞鐗欓潰鐨勫彲璇嗗埆鐨勭汗鐞嗗弬鑰冪偣銆�
                     </p>
                     <h3 class="thirdTitle">浜屻�佺墮棰屾ā鍨嬫壂鎻忔妧鏈師鐞�</h3>
-                    <div class="bodyPic"><img src="../../assets/images/0024-02.jpg" style="width:30%" alt=""
-                            active="true" /></div>
+                    <bookVideo :videoInfo="getResourceInfo('D19')" :BookId="config.activeBook.bookId"></bookVideo>
                     <p class="content">
                         鐗欓妯″瀷鎵弿鎶�鏈紝鍙堢О浠撴壂鎶�鏈紝涓昏閫氳繃闂存帴娉曢噰闆嗘暟鎹�傝鎶�鏈敤鏁板瓧鍖栨壂鎻忚澶囨壂鎻忕煶鑶忔ā鍨嬫垨绮剧粏鍗版ā锛屼粠妯″瀷鎴栧嵃妯′笂娴嬪緱鍙h厰杞‖缁勭粐褰㈡�佺殑淇℃伅锛岀敓鎴愪笁缁存暟鎹ā鍨嬨�傚叾鍘熺悊涓昏鏄帴瑙﹀紡鎵弿鎶�鏈拰鍏夊涓夎娴嬮噺娉曘��
                     </p>
@@ -129,27 +157,30 @@
                     <p class="content">
                         鐗欓妯″瀷鎵弿鎶�鏈浉杈冧簬鍙e唴鎵弿鍦ㄤ互涓嬩笁涓柟渚垮叿鏈夋槑鏄句紭鍔匡細鈶犵幇鏈夊彛鍐呮壂鎻忕郴缁熼兘鏄熀浜庡厜瀛︽壂鎻忔妧鏈潵瀹炵幇鐨勶紝浠嶆湭鑳借В鍐崇墮閲夎川鍗婇�忔槑銆侀珮鍙嶅厜绛夌壒鐐瑰鎵弿娴嬮噺绮惧害鐨勫奖鍝嶉棶棰橈紝鐗瑰埆鏄拡瀵圭妞嶇瓑妯″瀷鎵弿绮惧害瑕佹眰楂樼殑鎯呭喌銆傗憽閽堝缂哄皯鏄庢樉瑙e墫鐗瑰緛鐨勬棤鐗欓銆侀暱鐗欏紦鐨勫彲鎽樺眬閮ㄤ箟榻裤��5鍗曚綅浠ヤ笂闀挎ˉ淇浣撳熀鐗欑殑鏁板瓧鍗版ā鑾峰彇锛屽瓨鍦ㄧ潃鍙e唴鎵弿闅惧害澶с�佺┖闂存湁闄愩�佺簿搴︿綆鐨勯棶棰樸�傗憿鐗欓妯″瀷鍥哄畾鍦ㄦ壂鎻忓簳搴т笂锛屼娇妯″瀷涓庢壂鎻忎华鐨勭浉瀵圭┖闂翠綅缃叧绯荤ǔ瀹氾紝闈欐�佸挰鍚堝叧绯绘暟鎹殑鎷兼帴绮惧害杈冮珮銆傚洜姝わ紝闇�瑕侀噰鐢ㄧ墮棰屾ā鍨嬫壂鎻忔妧鏈墠鑳芥弧瓒矯AD/CAM妯″瀷鎵弿鏁版嵁绮惧害鐨勯渶姹傘��
                     </p>
-                    <p class="poemtitle-l">锛堜竴锛夋帴瑙﹀紡鎵弿鎶�鏈�</p>
+                    <p class="poemtitle-l kTitle">锛堜竴锛夋帴瑙﹀紡鎵弿鎶�鏈�</p>
                     <p class="content">
                         閫氳繃娴嬮噺鎺㈠ご锛堜紶鎰熷櫒锛夋帴瑙﹀伐浣滄ā鍨嬭〃闈紝鎰熷簲鎺㈠ご鍙嶉鎺ヨЕ鐐圭殑浣嶇疆淇℃伅锛屽苟閲囬泦涓庡伐浣滄ā鍨嬫帴瑙︾偣鐨勪笁缁村潗鏍囧�硷紝浠庤�岃幏寰楀伐浣滄ā鍨嬩笁缁存暟鎹俊鎭�傜敱浜庢壂鎻忚繃绋嬮渶瑕佹祴閲忔帰澶存帴瑙﹁娴嬬墿浣撴暣涓〃闈紝鍥犳鏁版嵁鍑嗙‘鍙潬銆佺粏鑺傝〃鐜板姏濂姐�備絾鏄瓨鍦ㄧ潃鏁堢巼杈冧綆锛屼笉鑳芥壂鎻忓嵃妯★紝鍙兘鎵弿纭川妯″瀷琛ㄩ潰锛屼笖鎺㈠ご杈冪矖锛屽瓨鍦ㄦ帰鏌ョ洸鍖虹殑缂虹偣銆傝繖绉嶆妧鏈洰鍓嶅凡寰堝皯搴旂敤銆�
                     </p>
-                    <p class="poemtitle-l">锛堜簩锛夊厜瀛︿笁瑙掓祴閲忔硶</p>
+                    <p class="poemtitle-l kTitle">锛堜簩锛夊厜瀛︿笁瑙掓祴閲忔硶</p>
                     <p class="content">杩欓儴鍒嗗師鐞嗕笌鍙e唴鎵弿鍘熺悊鐩稿悓銆�</p>
                     <p class="content"><span
-                            class="bold">1锛庢縺鍏夋壂鎻忔妧鏈�</span>銆�鍏锋湁鎵弿绮惧害楂樸�佺粏鑺傝〃鐜板姏濂界殑鐗圭偣銆傜偣鍏夋壂鎻忕敱浜庢壂鎻忔晥鐜囧拰缁嗚妭琛ㄧ幇鍔涙瑺浣筹紝鐩墠搴旂敤杈冨皯銆傜嚎鍏夋壂鎻忓閲囩敤钃濊壊婵�鍏夋垨LED鍏変綔涓哄厜婧愶紝鍏锋湁杈冮珮鐨勬壂鎻忕簿搴﹀拰鎵弿鏁堢巼锛屽搴旂敤鍦ㄥ彛鑵旀妧宸ュ鐗欓妯″瀷鎵弿璁惧涓�傛牴鎹壂鎻忎华鏈烘閮ㄤ欢杩愬姩杞寸殑鑷敱搴︼紝鍙皢鎵弿璁惧鍒嗕负涓夎酱銆佸洓杞淬�佷簲杞寸瓑锛岄�氳繃澧炲姞鎵弿杞ㄨ抗锛岃兘澶熷噺灏戞壂鎻忕洸鍖猴紝鎻愰珮鎵弿绮惧害銆�
+                            class="bold fontGreen">1锛庢縺鍏夋壂鎻忔妧鏈�</span>銆�鍏锋湁鎵弿绮惧害楂樸�佺粏鑺傝〃鐜板姏濂界殑鐗圭偣銆傜偣鍏夋壂鎻忕敱浜庢壂鎻忔晥鐜囧拰缁嗚妭琛ㄧ幇鍔涙瑺浣筹紝鐩墠搴旂敤杈冨皯銆傜嚎鍏夋壂鎻忓閲囩敤钃濊壊婵�鍏夋垨LED鍏変綔涓哄厜婧愶紝鍏锋湁杈冮珮鐨勬壂鎻忕簿搴﹀拰鎵弿鏁堢巼锛屽搴旂敤鍦ㄥ彛鑵旀妧宸ュ鐗欓妯″瀷鎵弿璁惧涓�傛牴鎹壂鎻忎华鏈烘閮ㄤ欢杩愬姩杞寸殑鑷敱搴︼紝鍙皢鎵弿璁惧鍒嗕负涓夎酱銆佸洓杞淬�佷簲杞寸瓑锛岄�氳繃澧炲姞鎵弿杞ㄨ抗锛岃兘澶熷噺灏戞壂鎻忕洸鍖猴紝鎻愰珮鎵弿绮惧害銆�
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庣粨鏋勫厜鎵弿鎶�鏈�</span>銆�鍙堢О鍏夋爡鎵弿鎶�鏈紝涓庝簯绾圭浉绉绘硶銆佹暟瀛楁暎鏂戠浉鍏虫硶銆佹懇灏斾簯绾规祴閲忔硶鐨勫師鐞嗙浉浼笺�傞噰鐢ㄨ摑鍏夋垨鐧藉厜浣滀负鍏夋簮锛岀敤鐗╃悊鎴栨暟瀛楁墜娈靛舰鎴愬厜鏍咃紙鎴栨暎鏂戝浘锛夛紝灏嗗叾鎶曞奖鍒拌娴嬬墿琛ㄩ潰锛屽厜鏍咃紙鎴栨暎鏂戝浘锛夋潯绾癸紙鍥�1-1-3锛変細闅忕潃鐗╀綋琛ㄩ潰鐨勮捣浼忚�屽彂鐢熸壄鏇插彉褰紝鍒╃敤鍥惧儚浼犳劅鍣ㄦ媿鎽勫厜鏍呮潯绾广�佹暟瀛楁暎鏂戝浘鍍忕殑鍙樺舰绋嬪害锛岄�氳繃绠楁硶鑾峰緱琚祴鐗╄〃闈㈢殑涓夌淮褰㈡�佹暟鎹�傚皢澶氳搴︺�侀噸鍙犲尯鍩熺殑鏁版嵁杩涜鎷兼帴铻嶅悎锛岀敓鎴愪笁缁存暟鎹ā鍨嬨�傜粨鏋勫厜鎵弿鍘熺悊鐨勬妧宸ュ涓夌淮鎵弿浠鍥�1-1-4鎵�绀恒��
+                            class="bold fontGreen">2锛庣粨鏋勫厜鎵弿鎶�鏈�</span>銆�鍙堢О鍏夋爡鎵弿鎶�鏈紝涓庝簯绾圭浉绉绘硶銆佹暟瀛楁暎鏂戠浉鍏虫硶銆佹懇灏斾簯绾规祴閲忔硶鐨勫師鐞嗙浉浼笺�傞噰鐢ㄨ摑鍏夋垨鐧藉厜浣滀负鍏夋簮锛岀敤鐗╃悊鎴栨暟瀛楁墜娈靛舰鎴愬厜鏍咃紙鎴栨暎鏂戝浘锛夛紝灏嗗叾鎶曞奖鍒拌娴嬬墿琛ㄩ潰锛屽厜鏍咃紙鎴栨暎鏂戝浘锛夋潯绾癸紙鍥�1-1-3锛変細闅忕潃鐗╀綋琛ㄩ潰鐨勮捣浼忚�屽彂鐢熸壄鏇插彉褰紝鍒╃敤鍥惧儚浼犳劅鍣ㄦ媿鎽勫厜鏍呮潯绾广�佹暟瀛楁暎鏂戝浘鍍忕殑鍙樺舰绋嬪害锛岄�氳繃绠楁硶鑾峰緱琚祴鐗╄〃闈㈢殑涓夌淮褰㈡�佹暟鎹�傚皢澶氳搴︺�侀噸鍙犲尯鍩熺殑鏁版嵁杩涜鎷兼帴铻嶅悎锛岀敓鎴愪笁缁存暟鎹ā鍨嬨�傜粨鏋勫厜鎵弿鍘熺悊鐨勬妧宸ュ涓夌淮鎵弿浠鍥�1-1-4鎵�绀恒��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0025-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�1-1-3銆�琚祴鐗╄〃闈㈢殑鍏夋爡鏉$汗</p>
+                    <div class="img-box">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0025-01.jpg" style="width:100%" alt="鍥�1-1-3銆�琚祴鐗╄〃闈㈢殑鍏夋爡鏉$汗"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�1-1-3銆�琚祴鐗╄〃闈㈢殑鍏夋爡鏉$汗</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0025-02.jpg" style="width:55%" alt="鍥�1-1-4銆�缁撴瀯鍏夋壂鎻忓師鐞嗙殑鎶�宸ュ涓夌淮鎵弿浠�"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�1-1-4銆�缁撴瀯鍏夋壂鎻忓師鐞嗙殑鎶�宸ュ涓夌淮鎵弿浠�</p>
+                        </div>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0025-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�1-1-4銆�缁撴瀯鍏夋壂鎻忓師鐞嗙殑鎶�宸ュ涓夌淮鎵弿浠�</p>
-                    </div>
-
                 </div>
                 <div class="page-bottom-right">009</div>
             </div>
@@ -164,23 +195,25 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="content"><span class="bold">3锛庣珛浣撴憚褰辨妧鏈�</span>銆�鐗欓妯″瀷鎵弿鎵�鑾峰緱浜岀淮褰卞儚闇�瑕侀�氳繃杩愮畻鍒嗘瀽鍜屽鐞嗭紝褰㈡垚绔嬩綋缁撴瀯鍏崇郴锛屼粠鑰屽缓绔嬪嚭涓夌淮绔嬩綋妯″瀷銆�
+                    <p class="content"><span
+                            class="bold fontGreen">3锛庣珛浣撴憚褰辨妧鏈�</span>銆�鐗欓妯″瀷鎵弿鎵�鑾峰緱浜岀淮褰卞儚闇�瑕侀�氳繃杩愮畻鍒嗘瀽鍜屽鐞嗭紝褰㈡垚绔嬩綋缁撴瀯鍏崇郴锛屼粠鑰屽缓绔嬪嚭涓夌淮绔嬩綋妯″瀷銆�
                     </p>
                     <p class="content">
                         鐩墠锛屽彛鑵旀妧宸ュ涓夌淮鎵弿璁惧浠ョ嚎鍏夊拰缁撴瀯鍏夋妧鏈负涓伙紝瀵煎嚭鏁版嵁鍖呮嫭STL銆丳LY銆丱BJ銆丳TY鍥涚鏍煎紡銆係TL鏁版嵁锛屼笉甯︽潗璐ㄨ创鍥撅紝鍙敤鍗曡壊瀹氫箟锛屽彲鐢ㄤ簬娴嬮噺鍜岃璁★紱PLY鏁版嵁锛屽彲甯︽潗璐ㄨ创鍥撅紝鍙敤浜庣紪杈戞祴閲忓拰璁捐銆傝璁惧閫傜敤浜庡彛鑵斿悇绫诲浐瀹氥�佹椿鍔ㄤ箟榻挎暟瀛楀寲璁捐鍙婂埗浣滅殑闇�姹傘�傛牴鎹垜鍥姐�婄墮棰屾ā鍨嬩笁缁存壂鎻忎华鎶�鏈姹傘�嬪浗瀹舵爣鍑嗭紝鎵弿浠殑鎵弿绮惧害瑕佹眰涓鸿繛缁�10娆℃壂鎻忚緭鍑烘暟鎹笌鐪熷�兼暟鎹姣旓紝鍏舵纭害銆佺簿瀵嗗害涓庡舰鎬佺簿搴︽祴閲忓�煎潎搴斿皬浜庢垨绛変簬30渭m锛屾壂鎻忎华鐨勮緭鍑烘暟鎹簲鑷冲皯鍖呭惈鏍囧噯STL鏂囦欢銆�
                     </p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">涓嬮杩愬姩杞ㄨ抗鎻忚浠�</span></p>
-                    <p class="quotation">
-                        涓嬮杩愬姩杞ㄨ抗鎻忚浠槸鍒╃敤纾佺數杞崲鍙嶆槧涓嬮杩愬姩杞ㄨ抗鐨勪竴绉嶄华鍣紝涓昏鐢辩閽€�佺鏁忎紶鎰熷櫒鍜屾樉绀鸿缃笁閮ㄥ垎鏋勬垚銆傚綋涓嬮杩愬姩鏃讹紝绮樺浐鍦ㄤ笅棰屼腑鍒囩墮鍞囦晶鐨勭閽骇鐢熷井閲忕殑纾佸満鍙樺寲淇″彿锛岀粡纾佹晱浼犳劅鍣ㄨ浆鍖栦负鐢典俊鍙凤紝閫佽嚦绀烘尝鍣ㄦ斁澶ф樉绀哄湪灞忓箷涓婏紝杩欎釜涓嬮涓垏鐗欑殑杩愬姩鎯呭喌鍗充负涓嬮杩愬姩杞ㄨ抗銆備笅棰岃繍鍔ㄨ建杩规弿璁颁华鑳藉鎻忚鐭㈢姸闈€�佸啝鐘堕潰銆佹按骞抽潰涓変釜缁村害鐨勮建杩癸紝涔熷彲杩炴帴鑲岀數鍥句华鍣紝鍚屾璁板綍鐩稿叧鑲岃倝鐨勮倢鐢靛浘锛屼絾涓嶈兘璁板綍楂佺獊鐨勮繍鍔ㄨ建杩癸紝娣辫<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鎮h�呬娇鐢ㄥ彈闄愩��</p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
-                    <p class="content">鍙h厰鎵弿鎶�鏈换鍔¤瘎浠锋爣鍑嗚琛�1-1-1銆�</p>
-                    <p class="imgtitle">琛�1-1-1銆�鍙h厰鎵弿鎶�鏈换鍔¤瘎浠锋爣鍑�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-03.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">涓嬮杩愬姩杞ㄨ抗鎻忚浠�</span></p>
+                        <p class="quotation">
+                            涓嬮杩愬姩杞ㄨ抗鎻忚浠槸鍒╃敤纾佺數杞崲鍙嶆槧涓嬮杩愬姩杞ㄨ抗鐨勪竴绉嶄华鍣紝涓昏鐢辩閽€�佺鏁忎紶鎰熷櫒鍜屾樉绀鸿缃笁閮ㄥ垎鏋勬垚銆傚綋涓嬮杩愬姩鏃讹紝绮樺浐鍦ㄤ笅棰屼腑鍒囩墮鍞囦晶鐨勭閽骇鐢熷井閲忕殑纾佸満鍙樺寲淇″彿锛岀粡纾佹晱浼犳劅鍣ㄨ浆鍖栦负鐢典俊鍙凤紝閫佽嚦绀烘尝鍣ㄦ斁澶ф樉绀哄湪灞忓箷涓婏紝杩欎釜涓嬮涓垏鐗欑殑杩愬姩鎯呭喌鍗充负涓嬮杩愬姩杞ㄨ抗銆備笅棰岃繍鍔ㄨ建杩规弿璁颁华鑳藉鎻忚鐭㈢姸闈€�佸啝鐘堕潰銆佹按骞抽潰涓変釜缁村害鐨勮建杩癸紝涔熷彲杩炴帴鑲岀數鍥句华鍣紝鍚屾璁板綍鐩稿叧鑲岃倝鐨勮倢鐢靛浘锛屼絾涓嶈兘璁板綍楂佺獊鐨勮繍鍔ㄨ建杩癸紝娣辫瓞寳鎮h�呬娇鐢ㄥ彈闄愩��
+                        </p>
+                    </div>
 
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="content">鍙h厰鎵弿鎶�鏈换鍔¤瘎浠锋爣鍑嗚琛�1-1-1銆�</p>
+                    <p class="imgtitle imgdescript-b">琛�1-1-1銆�鍙h厰鎵弿鎶�鏈换鍔¤瘎浠锋爣鍑�</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0026-03.jpg"
+                            style="width:100%;margin-top: -12px;" alt="琛�1-1-1銆�鍙h厰鎵弿鎶�鏈换鍔¤瘎浠锋爣鍑�" active="true" /></div>
                 </div>
                 <div class="page-bottom-left">010</div>
             </div>
@@ -195,34 +228,43 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟浜屻��鍙h厰鎵弿鎶�鏈伐鑹烘祦绋�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鏌愭偅鑰呰姹傝繘琛�11鐑ょ摲鍐犱慨澶嶏紝闂ㄨ瘖鍖荤敓鍦ㄦ不鐤楄繃绋嬩腑涓烘偅鑰呰繘琛屼簡鍙e唴鎵弿锛屽苟灏嗘暟鎹紶缁欏彛鑵旀妧宸ュ銆�</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庡彛鍐呮壂鎻忕殑鍏蜂綋鎿嶄綔姝ラ鏄�庢牱鐨勶紵</p>
-                    <p class="content">2锛庡彛鍐呮壂鎻忔妧鏈拰鐗欓妯″瀷鎵弿鎶�鏈湁浠�涔堝尯鍒紝鍚勬湁浠�涔堜紭鍔匡紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
-                    <div class="bodyPic"><img src="../../assets/images/0027-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title bold">浠诲姟妗堜緥</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鏌愭偅鑰呰姹傝繘琛�11鐑ょ摲鍐犱慨澶嶏紝闂ㄨ瘖鍖荤敓鍦ㄦ不鐤楄繃绋嬩腑涓烘偅鑰呰繘琛屼簡鍙e唴鎵弿锛屽苟灏嗘暟鎹紶缁欏彛鑵旀妧宸ュ銆�</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庡彛鍐呮壂鎻忕殑鍏蜂綋鎿嶄綔姝ラ鏄�庢牱鐨勶紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.two" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庡彛鍐呮壂鎻忔妧鏈拰鐗欓妯″瀷鎵弿鎶�鏈湁浠�涔堝尯鍒紝鍚勬湁浠�涔堜紭鍔匡紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.three" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鍙h厰鎵弿鎶�鏈富瑕佸寘鎷彛鍐呮壂鎻忔妧鏈拰鐗欓妯″瀷鎵弿鎶�鏈袱绉嶃�傚彛鍐呮壂鎻忔妧鏈槸灏嗗彛鍐呮壂鎻忎华鐨勫厜瀛︽壂鎻忓ご浼稿叆鎮h�呭彛鍐咃紝鐩存帴瀵圭墮榻裤�侀粡鑶滅瓑杞‖缁勭粐琛ㄩ潰褰㈡�佽繘琛屾壂鎻忥紝瀹炴椂閲嶅缓鎵弿鍖哄煙鐨勪笁缁存暟瀛楁ā鍨嬶紝蹇�熻幏鍙栧厜瀛﹀嵃妯$殑鏂规硶銆傜墮棰屾ā鍨嬫壂鎻忔妧鏈槸灏嗗彛鑵斿嵃妯℃垨鍙h厰妯″瀷鏀剧疆鍦ㄥ彴寮忔壂鎻忎华涓紝鑾峰彇鍗版ā鎴栨ā鍨嬫暟鎹紝鐢熸垚涓夌淮鏁板瓧鍖栨ā鍨嬬殑鏂规硶銆傛湰浠诲姟涓昏浠嬬粛杩欎袱绉嶆壂鎻忔妧鏈殑宸ヨ壓娴佺▼銆�
                     </p>
                     <h3 class="thirdTitle">涓�銆佸彛鍐呮壂鎻忔妧鏈伐鑹烘祦绋�</h3>
+                    <bookVideo :videoInfo="getResourceInfo('D19')" :BookId="config.activeBook.bookId"></bookVideo>
                     <p class="poemtitle-l">锛堜竴锛夊彛鍐呮壂鎻忎华鐨勭粍鎴�</p>
                     <p class="content">鍙e唴鎵弿浠槸鐢辨壂鎻忔灙銆佹敮鏋躲�佹壂鎻忓ご銆佹牎鍑嗗ご锛堟垨鏍囧畾浠級銆佽蒋浠躲�佸姞瀵嗙嫍鍙婄數婧愰�傞厤绾跨瓑鏋勬垚鐨勶紝浣跨敤鏃堕渶瑕佷笌鐢佃剳杩炴帴銆�</p>
                     <p class="poemtitle-l">锛堜簩锛夋壂鎻忓墠鐨勫噯澶囧伐浣�</p>
-                    <p class="content"><span class="bold">1锛庤繛鎺�</span>銆�灏嗘壂鎻忎华涓庣數鑴戣繘琛岃繛鎺ワ紝纭繚鐢垫簮鍜屾暟鎹嚎宸叉纭繛鎺ャ��</p>
-                    <p class="content"><span class="bold">2锛庢鏌ョ▼搴忓拰鏇存柊</span>銆�纭畾鐢佃剳涓婂畨瑁呬簡鐩稿簲鐨勯┍鍔ㄧ▼搴忓拰杞欢锛屾煡鐪嬫槸鍚︽湁杞欢鏇存柊锛屾鏌ユ壂鎻忎华鏄惁姝e父宸ヤ綔銆�</p>
+                    <p class="content"><span class="bold fontGreen">1锛庤繛鎺�</span>銆�灏嗘壂鎻忎华涓庣數鑴戣繘琛岃繛鎺ワ紝纭繚鐢垫簮鍜屾暟鎹嚎宸叉纭繛鎺ャ��</p>
                     <p class="content"><span
-                            class="bold">3锛庢牎鍑�</span>銆�瀵规壂鎻忎华鍋氬ソ鏃ュ父缁存姢锛屼竴鑸�7澶╁乏鍙宠繘琛屼竴娆℃牎鍑嗐�傛牎鍑嗘椂锛屽皢鎵弿澶村彇涓嬶紝杩炴帴鏍″噯澶淬�傛牴鎹郴缁熸彁绀猴紝瀹屾垚鏍″噯銆傞�氳繃鏍″噯锛岃兘澶熸洿鍑嗙‘鍦伴噰闆嗗彛鑵旇蒋纭粍缁囧舰鎬佸拰鎮h�呯殑鐗欓娇棰滆壊锛屽埄浜庡紑灞曟暟瀛楀寲姣旇壊鍜岄珮娓呯収鐗囩殑鎷嶆憚锛堝浘1-2-1锛夈��
+                            class="bold fontGreen">2锛庢鏌ョ▼搴忓拰鏇存柊</span>銆�纭畾鐢佃剳涓婂畨瑁呬簡鐩稿簲鐨勯┍鍔ㄧ▼搴忓拰杞欢锛屾煡鐪嬫槸鍚︽湁杞欢鏇存柊锛屾鏌ユ壂鎻忎华鏄惁姝e父宸ヤ綔銆�</p>
+                    <p class="content"><span
+                            class="bold fontGreen">3锛庢牎鍑�</span>銆�瀵规壂鎻忎华鍋氬ソ鏃ュ父缁存姢锛屼竴鑸�7澶╁乏鍙宠繘琛屼竴娆℃牎鍑嗐�傛牎鍑嗘椂锛屽皢鎵弿澶村彇涓嬶紝杩炴帴鏍″噯澶淬�傛牴鎹郴缁熸彁绀猴紝瀹屾垚鏍″噯銆傞�氳繃鏍″噯锛岃兘澶熸洿鍑嗙‘鍦伴噰闆嗗彛鑵旇蒋纭粍缁囧舰鎬佸拰鎮h�呯殑鐗欓娇棰滆壊锛屽埄浜庡紑灞曟暟瀛楀寲姣旇壊鍜岄珮娓呯収鐗囩殑鎷嶆憚锛堝浘1-2-1锛夈��
                     </p>
-
                 </div>
                 <div class="page-bottom-right">011</div>
             </div>
         </div>
-
         <!-- Page 18 (鍋舵暟椤�) -->
         <div class="page-box" page="18">
             <div v-if="showPageList.indexOf(18) > -1">
@@ -232,34 +274,48 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0028-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l-b">鍥�1-2-1銆�鏍″噯鍓嶅悗閲囬泦鐨勫浘鍍忓姣�</p>
-                        <p class="imgdescript">A锛庢牎鍑嗗墠锛汢锛庢牎鍑嗗悗銆�</p>
+                    <div class="imgBox-003 openImgBox">
+                        <div class="swiper-container swiper-img">
+                            <div class="swiper-wrapper">
+                                <div class="swiper-slide">
+                                    <div class="imgBox" style="width: 100%; height: 100%">
+                                        <img src="../../assets/images/0028-01-01.png" alt="鍥�1-2-1銆�鏍″噯鍓嶅悗閲囬泦鐨勫浘鍍忓姣�" />
+                                    </div>
+                                </div>
+                                <div class="swiper-slide">
+                                    <div class="imgBox" style="width: 100%; height: 100%">
+                                        <img src="../../assets/images/0028-01-02.png" alt="鍥�1-2-1銆�鏍″噯鍓嶅悗閲囬泦鐨勫浘鍍忓姣�" />
+                                    </div>
+                                </div>
+                            </div>
+                            <div class="swiper-button-next"></div>
+                            <div class="swiper-button-prev"></div>
+                        </div>
                     </div>
-                    <p class="content"><span class="bold">4锛庢劅鏌撻槻鎺�</span>銆�涓烘偅鑰呭噯澶囦竴娆℃�т娇鐢ㄧ殑鎵弿鍙i暅鎴栦繚鎶ゅ銆�</p>
-                    <p class="content"><span class="bold">5锛庤皟鑺備綋浣�</span>銆�鎮h�呭憟浠板崸浣嶏紝鍖荤敓浣嶄簬鎮h�呭彸鍚庢柟锛屽尰鐢熻倶閮ㄤ笌鎮h�呭ご閮ㄥ钩琛屻�傛壂鎻忎笂棰岀墮鏃讹紝鎮h��<img
+                    <p class="imgdescript-b">鍥�1-2-1銆�鏍″噯鍓嶅悗閲囬泦鐨勫浘鍍忓姣�</p>
+                    <p class="imgdescript-l">A锛庢牎鍑嗗墠锛汢锛庢牎鍑嗗悗銆�</p>
+                    <p class="content"><span class="bold fontGreen">4锛庢劅鏌撻槻鎺�</span>銆�涓烘偅鑰呭噯澶囦竴娆℃�т娇鐢ㄧ殑鎵弿鍙i暅鎴栦繚鎶ゅ銆�</p>
+                    <p class="content"><span
+                            class="bold fontGreen">5锛庤皟鑺備綋浣�</span>銆�鎮h�呭憟浠板崸浣嶏紝鍖荤敓浣嶄簬鎮h�呭彸鍚庢柟锛屽尰鐢熻倶閮ㄤ笌鎮h�呭ご閮ㄥ钩琛屻�傛壂鎻忎笂棰岀墮鏃讹紝鎮h��<img
                             class="s-pic" src="../../assets/images/0026_02.png" alt="" />骞抽潰涓庡湴闈㈡垚45掳锝�90掳锛涙壂鎻忎笅棰岀墮鏃讹紝<img
                             class="s-pic" src="../../assets/images/0026_02.png" alt="" />骞抽潰灏介噺涓庡湴闈㈠钩琛屻��</p>
                     <p class="content"><span
-                            class="bold">6锛庡尰鎮f矡閫�</span>銆�鍚戞偅鑰呰В閲婃壂鎻忔搷浣滆繃绋嬶紝璇存槑鎿嶄綔杩囩▼涓殑娉ㄦ剰浜嬮」锛屽槺鎮h�呭敖閲忎繚鎸侀潤姝笉鍔ㄣ�傛壂鎻忓墠璇锋偅鑰呮急鍙e幓闄ゅ彛鍐呯殑娈嬫福锛屾斁缃惛鍞剧鎴栨鍗凤紝鍚稿共鎵弿鍖哄煙鐨勫斁娑层��
+                            class="bold fontGreen">6锛庡尰鎮f矡閫�</span>銆�鍚戞偅鑰呰В閲婃壂鎻忔搷浣滆繃绋嬶紝璇存槑鎿嶄綔杩囩▼涓殑娉ㄦ剰浜嬮」锛屽槺鎮h�呭敖閲忎繚鎸侀潤姝笉鍔ㄣ�傛壂鎻忓墠璇锋偅鑰呮急鍙e幓闄ゅ彛鍐呯殑娈嬫福锛屾斁缃惛鍞剧鎴栨鍗凤紝鍚稿共鎵弿鍖哄煙鐨勫斁娑层��
                     </p>
-                    <p class="poemtitle-l">锛堜笁锛夋搷浣滄楠�</p>
+                    <p class="poemtitle-l kTitle">锛堜笁锛夋搷浣滄楠�</p>
                     <p class="content">鍙e唴鎵弿鐨勪复搴婃搷浣滀富瑕佸寘鎷笁涓楠わ紝鍗冲垱寤鸿鍗曘�佽幏鍙栨暟鎹�佹暟鎹鐞嗗強涓婁紶锛堝浘1-2-2锛夈�傛妧宸ュ鎺ュ埌鏁版嵁鍚庯紝鍦ㄦ暟鎹殑鍩虹涓婏紝鍔犲伐鍑烘爲鑴傜墮棰屾ā鍨嬪拰涔夐娇銆�</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0028-04.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�1-2-2銆�鍙e唴鎵弿涓村簥鎿嶄綔姝ラ</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0028-04.jpg" style="width:100%" alt="鍥�1-2-2銆�鍙e唴鎵弿涓村簥鎿嶄綔姝ラ"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�1-2-2銆�鍙e唴鎵弿涓村簥鎿嶄綔姝ラ</p>
                     </div>
                     <p class="content"><span
-                            class="bold">1锛庡垱寤鸿鍗�</span>銆�寤虹珛鏂版偅鑰咃紝濉啓鎮h�呭熀鏈俊鎭紝鏂逛究鏃ュ悗鏌ユ壘銆傚垱寤烘柊鐥呬緥璁㈠崟锛堝浘1-2-3锛夈�傛牴鎹偅鑰呯殑閫傚簲璇侊紝璇︾粏濉啓鐗欎綅鍙婂叾淇鐨勮璁℃柟妗堛�佷慨澶嶆潗鏂欑瓑淇℃伅銆�
+                            class="bold fontGreen">1锛庡垱寤鸿鍗�</span>銆�寤虹珛鏂版偅鑰咃紝濉啓鎮h�呭熀鏈俊鎭紝鏂逛究鏃ュ悗鏌ユ壘銆傚垱寤烘柊鐥呬緥璁㈠崟锛堝浘1-2-3锛夈�傛牴鎹偅鑰呯殑閫傚簲璇侊紝璇︾粏濉啓鐗欎綅鍙婂叾淇鐨勮璁℃柟妗堛�佷慨澶嶆潗鏂欑瓑淇℃伅銆�
                     </p>
-
-
                 </div>
                 <div class="page-bottom-left">012</div>
             </div>
         </div>
-
         <!-- Page 19 (濂囨暟椤�) -->
         <div class="page-box" page="19">
             <div v-if="showPageList.indexOf(19) > -1">
@@ -268,38 +324,39 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0029-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-3銆�鏂扮梾渚嬭鍗曠晫闈�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0029-01.jpg" style="width:75%" alt="鍥�1-2-3銆�鏂扮梾渚嬭鍗曠晫闈�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�1-2-3銆�鏂扮梾渚嬭鍗曠晫闈�</p>
                     </div>
-                    <p class="content"><span class="bold">2锛庤幏鍙栨暟鎹�</span>銆�鎸夌収涓嬮鈫掍笂棰屸啋鍜悎鐨勯『搴忥紝渚濇瀹屾垚鍙e唴鎵弿锛堝浘1-2-4锛夈��</p>
-                    <p class="content">锛�1锛�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈡壂鎻忥細鍏堝畾浣嶏紝鎵弿澶村鍑嗙墮鍒楁湯绔(鐗欑殑<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈紱鍐嶆寜寮�濮嬮敭锛岀敱涓�渚у悜鍙︿竴渚ф壂鎻忕墮鍒�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈€�傛壂鎻忔灙澶村缁堟湞鍚戞偅鑰呭捊閮ㄣ�傚悗鐗欏尯淇濇寔闀滃ご骞宠浜�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈紝鍓嶇墮鍖洪暅澶村彲閫傚綋鍚戣垖渚у�炬枩锛屽仛灏忓箙搴﹀攪鑸屼晶缈昏浆锛屼互鎵叏鍒囩淇℃伅锛岄伩鍏嶆暟鎹垎灞傘��</p>
-                    <p class="content">锛�2锛夎垖闈㈡壂鎻忥紙鍥�1-2-5锛夛細鎵弿<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈠悗锛屽皢闀滃ご鏈濆悜鐗欏紦鑸屼晶锛屼娇鎵弿鏋敖閲忓瀭鐩翠簬鐗欏紦锛堟垨骞宠浜庣墮浣撻暱杞达級锛岄�傚綋鎵浆闀滃ご纭繚鎵弿鍒拌垖渚ц繎杩滀腑閭婚潰銆�</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0029-07.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�1-2-4銆�<img class="s-pic" src="../../assets/images/0026_02.png"
-                                alt="" />闈㈡壂鎻�</p>
+                    <p class="content"><span class="bold fontGreen">2锛庤幏鍙栨暟鎹�</span>銆�鎸夌収涓嬮鈫掍笂棰屸啋鍜悎鐨勯『搴忥紝渚濇瀹屾垚鍙e唴鎵弿锛堝浘1-2-4锛夈��</p>
+                    <p class="content">
+                        锛�1锛夝瑢楅潰鎵弿锛氬厛瀹氫綅锛屾壂鎻忓ご瀵瑰噯鐗欏垪鏈纾ㄧ墮鐨勷瑢楅潰锛涘啀鎸夊紑濮嬮敭锛岀敱涓�渚у悜鍙︿竴渚ф壂鎻忕墮鍒楌瑢楅潰銆傛壂鎻忔灙澶村缁堟湞鍚戞偅鑰呭捊閮ㄣ�傚悗鐗欏尯淇濇寔闀滃ご骞宠浜庰瑢楅潰锛屽墠鐗欏尯闀滃ご鍙�傚綋鍚戣垖渚у�炬枩锛屽仛灏忓箙搴﹀攪鑸屼晶缈昏浆锛屼互鎵叏鍒囩淇℃伅锛岄伩鍏嶆暟鎹垎灞傘��
+                    </p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic ">
+                            <img class="openImgBox" src="../../assets/images/0029-07.jpg" style="width:250px"
+                                alt="瓞寳闈㈡壂鎻�" active="true" />
+                            <p class="imgdescript-b fontGreen">鍥�1-2-4銆�<span>瓞寳</span>闈㈡壂鎻�</p>
+                        </div>
+                        <p class="content">锛�2锛夎垖闈㈡壂鎻忥紙鍥�1-2-5锛夛細鎵弿瓞寳闈㈠悗锛屽皢闀滃ご鏈濆悜鐗欏紦鑸屼晶锛屼娇鎵弿鏋敖閲忓瀭鐩翠簬鐗欏紦锛堟垨骞宠浜庣墮浣撻暱杞达級锛岄�傚綋鎵浆闀滃ご纭繚鎵弿鍒拌垖渚ц繎杩滀腑閭婚潰銆�
+                        </p>
+                        <p class="content">
+                            鎵弿鏈纾ㄧ墮鐨勮繙涓潰鏃讹紝鍙槺鎮h�呭槾宸寸◢寰棴灏忎竴浜涳紝灏嗘壂鎻忔灙鏋焺鎶瓞寳闈紝浣块暅澶村敖閲忎几鍚戞湯绔(鐗欑殑杩滀腑锛涘湪鍙栨櫙鍣ㄥ唴鐪嬪埌杩滀腑闈俊鎭悗锛屼繚鎸�1锝�2绉掞紝骞崇ǔ璋冩暣闀滃ご瑙掑害锛屽彲鍋氬皬骞呭害鐨勯鑸屼晶杞姩锛岀‘淇濇壂鍏ㄨ繙涓潰鐨勪俊鎭��
+                        </p>
+                        <p class="content">鎵弿涓婇纭叚鏃讹紝鍙互鍋歋褰㈡洸绾匡紝閬垮厤閬楁紡銆�</p>
+
                     </div>
-                    <p class="content">鎵弿鏈纾ㄧ墮鐨勮繙涓潰鏃讹紝鍙槺鎮h�呭槾宸寸◢寰棴灏忎竴浜涳紝灏嗘壂鎻忔灙鏋焺鎶<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />闈紝浣块暅澶村敖閲忎几鍚戞湯绔(鐗欑殑杩滀腑锛涘湪鍙栨櫙鍣ㄥ唴鐪嬪埌杩滀腑闈俊鎭悗锛屼繚鎸�1锝�2绉掞紝骞崇ǔ璋冩暣闀滃ご瑙掑害锛屽彲鍋氬皬骞呭害鐨勯鑸屼晶杞姩锛岀‘淇濇壂鍏ㄨ繙涓潰鐨勪俊鎭��</p>
-                    <p class="content">鎵弿涓婇纭叚鏃讹紝鍙互鍋歋褰㈡洸绾匡紝閬垮厤閬楁紡銆�</p>
-                    <div class="qrbodyPic">
+                    <div class="qrbodyPic openImgBox">
                         <img src="../../assets/images/0029-10.jpg" style="width:80%" alt="" active="true" />
                         <p class="imgdescript-b">鍥�1-2-5銆�鑸岄潰鎵弿椤哄簭</p>
-                        <p class="imgdescript">A锛庝笅棰岋紱B锛庝笂棰屻��</p>
+                        <p class="imgdescript-l">A锛庝笅棰岋紱B锛庝笂棰屻��</p>
                     </div>
 
                 </div>
                 <div class="page-bottom-right">013</div>
             </div>
         </div>
-
         <!-- Page 20 (鍋舵暟椤�) -->
         <div class="page-box" page="20">
             <div v-if="showPageList.indexOf(20) > -1">
@@ -310,35 +367,37 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content">
-                        锛�3锛夊攪棰婇潰鎵弿锛堝浘1-2-6锛夛細鍦ㄦ壂鎻忓攪棰婁晶鏃讹紝涓轰簡澧炲姞鎮h�呯殑鑸掗�傚害锛屽彲鍒嗗埆浠庣(鐗欒繙涓悜涓嚎杩涜鎵弿銆傛壂鎻忓墠鐗欐椂锛岄暅澶磋创杩戠墮闈紝鐗垫媺鍞囦晶杞粍缁囷紱鎵弿鍚庣墮鏃讹紝闀滃ご涓�<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />闈㈠ぇ绾︽垚45掳锛屽湪鍙栨櫙鍣ㄤ腑鑳藉悓鏃剁湅鍒�<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈠拰棰婇潰锛岄伩鍏嶆暟鎹垎灞傘�傛壂鎻忓墠鐗欏攪闈㈡椂锛屾壂鎻忔灙鍙互妯悜鎻℃寔锛屾壂鎻忓ご鎸囧悜鐗欏紦鍚屼晶銆�</p>
+                        锛�3锛夊攪棰婇潰鎵弿锛堝浘1-2-6锛夛細鍦ㄦ壂鎻忓攪棰婁晶鏃讹紝涓轰簡澧炲姞鎮h�呯殑鑸掗�傚害锛屽彲鍒嗗埆浠庣(鐗欒繙涓悜涓嚎杩涜鎵弿銆傛壂鎻忓墠鐗欐椂锛岄暅澶磋创杩戠墮闈紝鐗垫媺鍞囦晶杞粍缁囷紱鎵弿鍚庣墮鏃讹紝闀滃ご涓庰瑢楅潰澶х害鎴�45掳锛屽湪鍙栨櫙鍣ㄤ腑鑳藉悓鏃剁湅鍒梆瑢楅潰鍜岄闈紝閬垮厤鏁版嵁鍒嗗眰銆傛壂鎻忓墠鐗欏攪闈㈡椂锛屾壂鎻忔灙鍙互妯悜鎻℃寔锛屾壂鎻忓ご鎸囧悜鐗欏紦鍚屼晶銆�
+                    </p>
                     <p class="content">
                         锛�4锛夊挰鍚堟壂鎻忥紙鍥�1-2-7锛夛細妫�鏌ユ偅鑰呮涓挰鍚堬紝鐢ㄥ彛闀滅壍鎷夊彛瑙掞紝灏嗘壂鎻忓ご鏀惧湪棰婁晶锛屼娇闀滃ご澶勪簬涓婁笅棰屼腑闂达紝鍦ㄥ彇鏅櫒鍐呰兘鍚屾椂鐪嬪埌涓婁笅棰岀墮鍙婂叾鍜悎鐘舵�併�備繚鎸侀暅澶磋创杩戦渚х墮寮擄紝浠庡悗鐗欏悜鍓嶇墮娉㈡氮寮忕Щ鍔紝渚濇瀹屾垚鍙屼晶鍜悎鎵弿銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0030-03.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-6銆�鍞囬闈㈡壂鎻�</p>
-                    </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0030-04.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-7銆�鍜悎鎵弿</p>
+                    <div class="img-box">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0030-03.jpg" style="width:90%" alt="鍥�1-2-6銆�鍞囬闈㈡壂鎻�"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�1-2-6銆�鍞囬闈㈡壂鎻�</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0030-04.jpg" style="width:90%" alt="鍥�1-2-7銆�鍜悎鎵弿"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�1-2-7銆�鍜悎鎵弿</p>
+                        </div>
                     </div>
                     <p class="content">锛�5锛夋鏌ュ強淇暣锛氭壂鎻忓畬鎴愬悗锛岄渶瑕佽繘琛屽疄鏃舵鏌ュ拰鏁翠綋妫�鏌ワ紝骞惰繘琛屼慨鏁淬��</p>
-                    <p class="content">1锛夊疄鏃舵鏌ワ細鍗曢鎵弿瀹屾垚鍚庯紝瀹炴椂妫�鏌ユ壂鎻忓浘鍍忥紝纭繚鎵弿鍥惧儚鐨勫畬鏁存�с�備竴鑸粠鍓嶇墮鍒囩銆侀鑸屼晶杩戜腑鍜岃繙涓偦闈€�佹湯绔(鐗欒繙涓��<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />闈㈠拰鐗欓緢缁勭粐浜斾釜鏂归潰杩涜妫�鏌ャ�傛牴鎹渶瑕侊紝鍙互閲嶆柊鎵弿閬楁紡鎴栨ā绯婄殑鍖哄煙銆傚鏋滃浘鍍忓畬鏁达紝鍙鎵弿鍥惧儚鐨勮竟缂樿繘琛屼慨鏁达紙鍥�1-2-8锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0030-06.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-8銆�瀹炴椂妫�鏌ュ強淇暣</p>
+                    <p class="content">
+                        1锛夊疄鏃舵鏌ワ細鍗曢鎵弿瀹屾垚鍚庯紝瀹炴椂妫�鏌ユ壂鎻忓浘鍍忥紝纭繚鎵弿鍥惧儚鐨勫畬鏁存�с�備竴鑸粠鍓嶇墮鍒囩銆侀鑸屼晶杩戜腑鍜岃繙涓偦闈€�佹湯绔(鐗欒繙涓�侌瑢楅潰鍜岀墮榫堢粍缁囦簲涓柟闈㈣繘琛屾鏌ャ�傛牴鎹渶瑕侊紝鍙互閲嶆柊鎵弿閬楁紡鎴栨ā绯婄殑鍖哄煙銆傚鏋滃浘鍍忓畬鏁达紝鍙鎵弿鍥惧儚鐨勮竟缂樿繘琛屼慨鏁达紙鍥�1-2-8锛夈��
+                    </p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0030-06.jpg" style="width:70%" alt="鍥�1-2-8銆�瀹炴椂妫�鏌ュ強淇暣"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�1-2-8銆�瀹炴椂妫�鏌ュ強淇暣</p>
                     </div>
 
                 </div>
                 <div class="page-bottom-left">014</div>
             </div>
         </div>
-
         <!-- Page 21 (濂囨暟椤�) -->
         <div class="page-box" page="21">
             <div v-if="showPageList.indexOf(21) > -1">
@@ -352,22 +411,23 @@
                         锛�6锛夋敞鎰忎簨椤癸細鈶犳壂鎻忓墠锛岄渶绉诲紑鏃犲奖鐏紝閬垮厤鍏朵粬澶栭儴鍏夋簮褰卞搷鎵弿缁撴灉銆傗憽鍚瑰共鎴栨嫮骞查澶囦綋鍛ㄥ洿銆侀偦鐗欍�佸挰鍚堥潰鐨勫斁娑层�傗憿闀滃ご濮嬬粓璐磋繎鐗欓潰锛屼繚鎸佺墮鍒楀缁堜綅浜庨暅澶翠腑闂淬�傗懀鎵弿鏋繛缁钩绋崇Щ鍔ㄣ�傗懁瀵逛簬閭婚棿闅欍�佽偐鍙般�佸�掑嚬鍖虹瓑缂濋殭閮ㄤ綅锛屽簲閫傚綋杞姩鎵弿澶达紝浣垮緱闀滈潰姝e缁勭粐琛ㄩ潰锛屼繚璇佸厜绾胯兘澶熷埌杈俱�傗懃娉ㄦ剰鐗垫媺鍞囬儴杞粍缁囥��
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庢暟鎹鐞嗗強涓婁紶</span>銆�鍦ㄨ蒋浠朵腑缂栬緫鍜屼紭鍖栨壂鎻忔暟鎹紝鐢熸垚涓夌淮鏁板瓧妯″瀷銆傜敱鎶�甯堝湪妞呮梺涓烘偅鑰呰繘琛屽嵆鍒昏璁″埗浣滐紝鎴栧皢鏁版嵁鍙戦�佺粰鎶�宸ュ杩涜鍚庣画3D妯″瀷鎵撳嵃鎴朇AD/CAM鎿嶄綔銆傚皢鎵弿鏁版嵁淇濆瓨鍦ㄦ偅鑰呯梾渚嬫。妗堜腑锛屽畾鏈熷浠斤紝浠ラ槻涓㈠け銆�
+                            class="bold fontGreen">3锛庢暟鎹鐞嗗強涓婁紶</span>銆�鍦ㄨ蒋浠朵腑缂栬緫鍜屼紭鍖栨壂鎻忔暟鎹紝鐢熸垚涓夌淮鏁板瓧妯″瀷銆傜敱鎶�甯堝湪妞呮梺涓烘偅鑰呰繘琛屽嵆鍒昏璁″埗浣滐紝鎴栧皢鏁版嵁鍙戦�佺粰鎶�宸ュ杩涜鍚庣画3D妯″瀷鎵撳嵃鎴朇AD/CAM鎿嶄綔銆傚皢鎵弿鏁版嵁淇濆瓨鍦ㄦ偅鑰呯梾渚嬫。妗堜腑锛屽畾鏈熷浠斤紝浠ラ槻涓㈠け銆�
                     </p>
                     <h3 class="thirdTitle">浜屻�佺墮棰屾ā鍨嬫壂鎻忔妧鏈伐鑹烘祦绋�</h3>
                     <p class="content">鐗欓妯″瀷鎵弿鍗冲鍙h厰鐭宠啅妯″瀷杩涜鎵弿锛屽伐鑹烘瘮杈冩垚鐔燂紝鎵弿绮惧害绋冲畾鍙潬锛屾槸鍙h厰鎶�甯堝繀椤绘帉鎻$殑涓�椤瑰熀鏈妧鑳姐�備笅闈互鍗曞啝淇涓轰緥锛屼粙缁嶇墮棰屾ā鍨嬫壂鎻忔妧鏈伐鑹虹殑鍩烘湰娴佺▼銆�
                     </p>
-                    <p class="poemtitle-l">锛堜竴锛夌墮棰屾ā鍨嬫壂鎻忎华鐨勭粍鎴�</p>
+                    <p class="poemtitle-l kTitle">锛堜竴锛夌墮棰屾ā鍨嬫壂鎻忎华鐨勭粍鎴�</p>
                     <p class="content">鐗欓妯″瀷鎵弿浠富瑕佺敱鎵弿鐩樸�佹壂鎻忔憚鍍忓ご銆佹牎鍑嗗伐鍏枫�佽蒋浠躲�佸姞瀵嗙嫍鍙婄數婧愰�傞厤绾跨瓑鏋勬垚锛屼娇鐢ㄦ椂闇�瑕佷笌鐢佃剳杩炴帴銆傛壂鎻忕簿搴︿笉浣庝簬30渭m锛屽彲寮�鏀惧紡杈撳嚭STL鏍煎紡鏂囦欢銆�
                     </p>
-                    <p class="poemtitle-l">锛堜簩锛夋壂鎻忓墠鐨勫噯澶囧伐浣�</p>
+                    <p class="poemtitle-l kTitle">锛堜簩锛夋壂鎻忓墠鐨勫噯澶囧伐浣�</p>
                     <p class="content"><span
-                            class="bold">1锛庢壂鎻忎华鏍″噯</span>銆�鎵弿浠簲瀹氭湡鏍″噯锛屼竴鑸瘡鍛ㄦ牎鍑�1锝�2娆★紝濡傛壂鎻忎华闀挎椂闂存湭浣跨敤鎴栬绉诲姩锛屽垯搴斿湪浣跨敤鍓嶈繘琛屾牎鍑嗐�傞鍏堢‘璁ゆ壂鎻忎华宸茶繛鎺ワ紝鎵撳紑鎵弿杞欢锛岃繘鍏ヤ富鐣岄潰锛屾墽琛屾牎鍑嗗姛鑳斤紝鏍规嵁鎻愮ず鏀惧叆鏍″噯鍧楋紝鎵弿浠嚜鍔ㄨ繘琛屾牎鍑嗘搷浣滐紝鏍″噯缁撴潫鍚庯紝绯荤粺鎻愮ず鏍″噯瀹屾垚銆�
+                            class="bold fontGreen">1锛庢壂鎻忎华鏍″噯</span>銆�鎵弿浠簲瀹氭湡鏍″噯锛屼竴鑸瘡鍛ㄦ牎鍑�1锝�2娆★紝濡傛壂鎻忎华闀挎椂闂存湭浣跨敤鎴栬绉诲姩锛屽垯搴斿湪浣跨敤鍓嶈繘琛屾牎鍑嗐�傞鍏堢‘璁ゆ壂鎻忎华宸茶繛鎺ワ紝鎵撳紑鎵弿杞欢锛岃繘鍏ヤ富鐣岄潰锛屾墽琛屾牎鍑嗗姛鑳斤紝鏍规嵁鎻愮ず鏀惧叆鏍″噯鍧楋紝鎵弿浠嚜鍔ㄨ繘琛屾牎鍑嗘搷浣滐紝鏍″噯缁撴潫鍚庯紝绯荤粺鎻愮ず鏍″噯瀹屾垚銆�
                     </p>
-                    <p class="content"><span class="bold">2锛庢ā鍨嬫鏌�</span>銆�鎵弿妫�鏌ユā鍨嬫槸鍚﹀畬鏁达紝鏈夋棤缂烘崯銆佹柇瑁傛儏鍐碉紝宸插垎鍓查澶囦綋鑳藉惁鍑嗙‘灏变綅锛屽浣嶅挰鍚堝叧绯绘槸鍚﹀噯纭ǔ瀹氥��
+                    <p class="content"><span
+                            class="bold fontGreen">2锛庢ā鍨嬫鏌�</span>銆�鎵弿妫�鏌ユā鍨嬫槸鍚﹀畬鏁达紝鏈夋棤缂烘崯銆佹柇瑁傛儏鍐碉紝宸插垎鍓查澶囦綋鑳藉惁鍑嗙‘灏变綅锛屽浣嶅挰鍚堝叧绯绘槸鍚﹀噯纭ǔ瀹氥��
                     </p>
-                    <p class="poemtitle-l">锛堜笁锛夋搷浣滄楠�</p>
-                    <p class="content"><span class="bold">1锛庡垱寤鸿鍗�</span></p>
+                    <p class="poemtitle-l kTitle">锛堜笁锛夋搷浣滄楠�</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡垱寤鸿鍗�</span></p>
                     <p class="content">锛�1锛夊熀鏈俊鎭細鍖呮嫭寤虹珛鍑嗙‘璁㈠崟鍙枫�佽鍗曞彂鍑哄崟浣嶅拰鍖荤敓銆佸姞宸ヤ紒涓氬悕绉板拰鎿嶄綔鎶�甯堛�佹偅鑰呭熀鏈俊鎭紝渚夸簬浠ュ悗鏌ユ壘銆�</p>
                     <p class="content">锛�2锛変慨澶嶄綋淇℃伅锛堝浘1-2-9锛�</p>
                     <p class="content">1锛夐�夋嫨鐗欎綅锛氱偣鍑婚渶瑕佷慨澶嶇殑鐗欎綅锛屾牴鎹浉鍏抽�夐」閫夋嫨淇绫诲瀷鍚庣墮榻垮皢琚鑹叉爣璁帮紝鏈夋枃瀛楁爣娉ㄣ��</p>
@@ -378,7 +438,6 @@
                 <div class="page-bottom-right">015</div>
             </div>
         </div>
-
         <!-- Page 22 (鍋舵暟椤�) -->
         <div class="page-box" page="22">
             <div v-if="showPageList.indexOf(22) > -1">
@@ -388,19 +447,20 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0032-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-9銆�淇浣撲俊鎭�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0032-01.jpg" style="width:75%" alt="鍥�1-2-9銆�淇浣撲俊鎭�" active="true" />
+                        <p class="imgdescript-b">鍥�1-2-9銆�淇浣撲俊鎭�</p>
                     </div>
                     <p class="content">4锛夐�夋嫨璁捐淇浣撶被鍨嬶細鍏ㄥ啝銆佸祵浣撱�佽创闈€�佽湣鍨嬨�佺簿瀵嗛檮浠躲�佸挰鍚堟澘銆佸叏鍙d箟榻裤�佸彲鎽樹箟榻跨瓑銆�</p>
                     <p class="content">5锛夐�夋嫨淇浣撴潗鏂欙細铚°�侀挻閾�佺函閽涖�佹哀鍖栭攩銆佺幓鐠冮櫠鐡风瓑锛堝浘1-2-10锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0032-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�1-2-10銆�淇浣撶被鍨嬪強鏉愭枡閫夋嫨</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0032-02.jpg" style="width:75%" alt="鍥�1-2-10銆�淇浣撶被鍨嬪強鏉愭枡閫夋嫨"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�1-2-10銆�淇浣撶被鍨嬪強鏉愭枡閫夋嫨</p>
                     </div>
                     <p class="content">淇绉嶇被瓒婂銆佹潗鏂欒秺涓板瘜锛岄�傚簲璇佺殑鑼冨洿瓒婂ぇ銆傚彲浠ユ牴鎹叿浣撴儏鍐靛弬鑰冩棫涔夐娇銆佹ā鍨嬫垨鐓х墖锛屽鍔犵編瀛﹁璁°��</p>
                     <p class="content">锛�3锛夎鍗曠‘璁わ細璁㈠崟濉啓瀹屾垚鍚庯紝鐐瑰嚮鈥滅‘璁も�濅繚瀛樸�傚紑濮嬮噰闆嗘暟鎹悗锛屼笂杩颁俊鎭棤娉曟洿鏀广��</p>
-                    <p class="content"><span class="bold">2锛庤幏鍙栨暟鎹�</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庤幏鍙栨暟鎹�</span></p>
                     <p class="content">
                         锛�1锛夊浐瀹氭ā鍨嬶細灏嗕笂銆佷笅棰屾ā鍨嬪浐瀹氬湪鎵弿鐩樹笂銆備娇鐗欏紦鎸夌収鎵弿鏉跨殑椹箘褰㈡憜鏀撅紝纭繚妯″瀷鍥哄畾鍚庡浜庡瀭鐩磋閲庝笅鍊掑嚬鍖哄煙杈冨皯鐨勪綅缃�傝嫢鎵弿宸插垎鍓叉ā鍨嬶紝搴旀敞鎰忕‘瀹氫唬鍨嬪畬鍏ㄥ氨浣嶏紝閬垮厤鍥犳姮楂樹唬鍨嬩綅缃�岄�犳垚淇浣撳挰鍚堜綆鐨勬儏鍐点�備娇鎵弿鏉垮簳閮ㄧ殑涓変釜鍗婄悆褰㈠嚬妲戒笌鎵弿鐩樹笂鐨勪笁涓崐鐞冨舰绐佽捣鍒嗗埆鐩稿锛屾壂鎻忔澘鍗冲彲琚鎬у惛闄勫湪鎵弿鐩樹笂锛岀‘淇濇ā鍨嬩綅缃ǔ瀹氥��
                     </p>
@@ -409,7 +469,6 @@
                 <div class="page-bottom-left">016</div>
             </div>
         </div>
-
         <!-- Page 23 (濂囨暟椤�) -->
         <div class="page-box" page="23">
             <div v-if="showPageList.indexOf(23) > -1">
@@ -428,12 +487,14 @@
                     <p class="content">
                         3锛夋壂鎻忎笂棰屾ā鍨嬶紙鍥�1-2-13锛夛細瀵逛笂棰屾ā鍨嬭繘琛屽垵姝ユ壂鎻忥紝鍦ㄥ垵姝ユ壂鎻忓浘褰笂鏍囪鐗欎綅锛岄�夊畾鍩虹墮銆侀偦鐗欍�佸棰岀墮绛変綔涓虹簿缁嗘壂鎻忓尯鍩熴�傚鏋滈渶瑕佸弬鐓у渚у悓鍚嶇墮璁捐涔夐娇锛屼篃鍙繘琛屽叏鐗欏垪绮剧粏鎵弿銆傜簿缁嗘壂鎻忕粨鏉燂紝绋嬪簭澶勭悊鍚庯紝鐢熸垚楂樼簿搴︾殑涓夌淮鏁板瓧妯″瀷銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0033-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-11銆�鎵弿鍜悎鍏崇郴</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0033-01.jpg" style="width:70%" alt="鍥�1-2-11銆�鎵弿鍜悎鍏崇郴"
+                            active="true" />
+                        <p class="imgdescript-b imgTitleRange">鍥�1-2-11銆�鎵弿鍜悎鍏崇郴</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0033-02.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0033-02.jpg" style="width:70%" alt="鍥�1-2-12銆�鎵弿涓嬮妯″瀷"
+                            active="true" />
                         <p class="imgdescript-b">鍥�1-2-12銆�鎵弿涓嬮妯″瀷</p>
                         <p class="imgdescript-l">A锛庡垵姝ユ壂鎻忥紱B锛庤ˉ鎵紱C锛庝慨鏁存ā鍨嬪浘鍍忋��</p>
                     </div>
@@ -442,7 +503,6 @@
                 <div class="page-bottom-right">017</div>
             </div>
         </div>
-
         <!-- Page 24 (鍋舵暟椤�) -->
         <div class="page-box" page="24">
             <div v-if="showPageList.indexOf(24) > -1">
@@ -452,21 +512,21 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0034-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-12锛堢画鍥撅級</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0034-01.jpg" style="width:75%" alt="鍥�1-2-12锛堢画鍥撅級" active="true" />
+                        <p class="imgdescript-b">鍥�1-2-12锛堢画鍥撅級</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0034-02.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0034-02.jpg" style="width:75%" alt="鍥�1-2-13銆�鎵弿涓婇妯″瀷"
+                            active="true" />
                         <p class="imgdescript-b">鍥�1-2-13銆�鎵弿涓婇妯″瀷</p>
-                        <p class="imgdescript">A锛庡垵姝ユ壂鎻忥紱B锛庤ˉ鎵��</p>
+                        <p class="imgdescript-l">A锛庡垵姝ユ壂鎻忥紱B锛庤ˉ鎵��</p>
                     </div>
 
                 </div>
                 <div class="page-bottom-left">018</div>
             </div>
         </div>
-
         <!-- Page 25 (濂囨暟椤�) -->
         <div class="page-box" page="25">
             <div v-if="showPageList.indexOf(25) > -1">
@@ -475,16 +535,16 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0035-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-13锛堢画鍥撅級</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0035-01.jpg" style="width:75%" alt="鍥�1-2-13锛堢画鍥撅級" active="true" />
+                        <p class="imgdescript-b">鍥�1-2-13锛堢画鍥撅級</p>
                     </div>
                     <p class="content">
                         4锛夊挰鍚堟嫾鎺ワ紙鍥�1-2-14锛夛細鏍规嵁鍜悎鎯呭喌锛屼娇鐢ㄨ蒋浠跺涓娿�佷笅棰屾暟瀛楁ā鍨嬭繘琛屽挰鍚堟嫾鎺ャ�傝嫢鍜悎鍏崇郴鎷兼帴涓嶄匠锛屽彲閫夋嫨鎵嬪姩鎷兼帴锛屽湪涓娿�佷笅棰屾ā鍨嬩笂鏍规嵁瀵瑰簲鐐瑰叧绯婚厤鍑嗗埌鍜悎妯″瀷涓婏紝杞欢鏍规嵁绠楁硶鑷姩鐢熸垚鏈�浼樺尮閰嶄綅缃紱鎶�甯堥�氳繃璋冩暣涓夌淮妯″瀷鐨勬柟鍚戯紝瑙傚療铏氭嫙妯″瀷涓庡疄鐗╂ā鍨嬬殑鍜悎鍏崇郴鏄惁涓�鑷达紝纭鏃犺鍚庤繘琛屼笅涓�姝ャ��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0035-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-14銆�鍜悎鎷兼帴</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0035-02.jpg" style="width:75%" alt="鍥�1-2-14銆�鍜悎鎷兼帴" active="true" />
+                        <p class="imgdescript-b">鍥�1-2-14銆�鍜悎鎷兼帴</p>
                     </div>
                     <p class="content">
                         5锛変唬鍨嬫壂鎻忎笌鍖归厤锛氬妯″瀷宸茬粡鍒嗗壊锛屽垯闇�鏍规嵁杞欢鎻愮ず杩涜浠e瀷鎵弿銆傚皢浠e瀷妯″瀷鍙栦笅锛屽浐瀹氬湪鎵弿鐩樹腑澶紝浣夸唬鍨嬪攪棰婇潰鏈濆悜鎵弿鐩樺墠绔紝澶氬崟浣嶄唬鍨嬫壂鎻忔椂锛屽彲浣跨敤澶氬姛鑳芥壂鎻忕洏鏈夊簭鎵弿銆�</p>
@@ -495,7 +555,6 @@
                 <div class="page-bottom-right">019</div>
             </div>
         </div>
-
         <!-- Page 26 (鍋舵暟椤�) -->
         <div class="page-box" page="26">
             <div v-if="showPageList.indexOf(26) > -1">
@@ -508,23 +567,21 @@
                     <p class="content">
                         锛�3锛夋暣浣撴鏌ワ細涓婁笅棰岀墮鍒楁壂鎻忓畬鎴愬悗锛岃浆鍔ㄦ暟瀛楁ā鍨嬶紝妫�鏌ユ暣浣撴暟鎹槸鍚﹀尮閰嶏紝鏈夋棤鏁版嵁缂哄け鎴栭噸鍙狅紝涓娿�佷笅棰屽挰鍚堝叧绯绘槸鍚︾揣瀵嗭紝纾ㄨ�楅潰鏄惁鍚诲悎銆傚鏈夐棶棰橈紝闇�瑕佺偣鍑烩�滀笂涓�姝モ�濓紝閲嶆柊澶勭悊銆�</p>
                     <p class="content"><span
-                            class="bold">3锛庢暟鎹鐞嗗強涓婁紶</span>銆�鏁版嵁澶勭悊缁撴潫鍚庯紝瑙傚療杞欢鐣岄潰涓棿涓婃柟鐨勬壂鎻忔搷浣滄楠わ紝鍧囨樉绀轰负缁胯壊鏃讹紝鎵弿娴佺▼鍏ㄩ儴瀹屾垚锛堝浘1-2-15锛夈�備繚瀛樻ā鍨嬶紝涓婁紶鏁版嵁锛屽噯澶囪繘琛孋AD璁捐銆�
+                            class="bold fontGreen">3锛庢暟鎹鐞嗗強涓婁紶</span>銆�鏁版嵁澶勭悊缁撴潫鍚庯紝瑙傚療杞欢鐣岄潰涓棿涓婃柟鐨勬壂鎻忔搷浣滄楠わ紝鍧囨樉绀轰负缁胯壊鏃讹紝鎵弿娴佺▼鍏ㄩ儴瀹屾垚锛堝浘1-2-15锛夈�備繚瀛樻ā鍨嬶紝涓婁紶鏁版嵁锛屽噯澶囪繘琛孋AD璁捐銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0036-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�1-2-15銆�鎵弿瀹屾垚</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0036-01.jpg" style="width:75%" alt="鍥�1-2-15銆�鎵弿瀹屾垚" active="true" />
+                        <p class="imgdescript-b">鍥�1-2-15銆�鎵弿瀹屾垚</p>
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">妞呮梺鎿嶄綔绯荤粺</span></p>
-                    <p class="quotation">妞呮梺鎿嶄綔绯荤粺閫氬父鍖呮嫭鍙e唴鎵弿鍗曞厓鍜屽彛鑵斾慨澶嶄笓涓氳蒋浠朵袱閮ㄥ垎銆傚彛鑵斿尰鐢熶娇鐢ㄦ墜鎸佷笁缁存壂鎻忚澶囷紝鏀惧叆鎮h�呭彛鑵斾腑鍒嗗埆鑾峰彇鎮h�呯墮鍒�<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />闈€�侀渚с�佽垖渚с�佽繎杩滀腑閭婚潰锛屼互鍙婂棰岀墮鍒楀強鍛ㄥ洿缁勭粐鐨勫悇涓搴︾殑鍥惧儚銆傛搷浣滆繃绋嬩腑鍖荤敓鍙互鍦ㄦ樉绀哄櫒涓婅瀵熷浘鍍忛噰闆嗚繘搴﹀拰娓呮櫚绋嬪害锛岀洿鑷抽噰闆嗗埌婊℃剰鐨勫浘鍍忥紝鏍规嵁鎮h�呯殑鍜悎鍏崇郴鏁版嵁锛岄�氳繃璁$畻鏈鸿蒋浠跺鐞嗭紝褰㈡垚涓夌淮鏁板瓧妯″瀷銆傛妧甯堝埄鐢ㄥ彛鑵斾慨澶嶈蒋浠跺湪鏁板瓧妯″瀷涓婅璁″嚭閫傚悎鎮h�呯殑淇浣擄紝鍖荤敓鍚戞偅鑰呰瑙d慨澶嶄綋璁捐鎯呭喌锛屼娇寰楀尰鎮f矡閫氭洿鐩存帴銆佹竻鏅版槑浜嗐�傛渶鍚庡皢淇浣撴暟鎹粡鏁板瓧鍖栧鐞嗙敓鎴愭暟鎺ф満搴婂姞宸ユ寚浠ゆ枃浠讹紝鎺у埗CAM璁惧鍦ㄤ复搴婁笂鐩存帴瀹屾垚淇浣撶殑鍔犲伐銆傛偅鑰呬竴娆″氨璇婂氨鍙互鎴翠笂淇浣撱�傚彲浠ヨ锛屾鏃佹搷浣滅郴缁熸槸涓�绉嶇湡姝f剰涔変笂鐨勫叏鏁板瓧鍖栫郴缁熴��
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">妞呮梺鎿嶄綔绯荤粺</span></p>
+                        <p class="quotation">
+                            妞呮梺鎿嶄綔绯荤粺閫氬父鍖呮嫭鍙e唴鎵弿鍗曞厓鍜屽彛鑵斾慨澶嶄笓涓氳蒋浠朵袱閮ㄥ垎銆傚彛鑵斿尰鐢熶娇鐢ㄦ墜鎸佷笁缁存壂鎻忚澶囷紝鏀惧叆鎮h�呭彛鑵斾腑鍒嗗埆鑾峰彇鎮h�呯墮鍒楌瑢楅潰銆侀渚с�佽垖渚с�佽繎杩滀腑閭婚潰锛屼互鍙婂棰岀墮鍒楀強鍛ㄥ洿缁勭粐鐨勫悇涓搴︾殑鍥惧儚銆傛搷浣滆繃绋嬩腑鍖荤敓鍙互鍦ㄦ樉绀哄櫒涓婅瀵熷浘鍍忛噰闆嗚繘搴﹀拰娓呮櫚绋嬪害锛岀洿鑷抽噰闆嗗埌婊℃剰鐨勫浘鍍忥紝鏍规嵁鎮h�呯殑鍜悎鍏崇郴鏁版嵁锛岄�氳繃璁$畻鏈鸿蒋浠跺鐞嗭紝褰㈡垚涓夌淮鏁板瓧妯″瀷銆傛妧甯堝埄鐢ㄥ彛鑵斾慨澶嶈蒋浠跺湪鏁板瓧妯″瀷涓婅璁″嚭閫傚悎鎮h�呯殑淇浣擄紝鍖荤敓鍚戞偅鑰呰瑙d慨澶嶄綋璁捐鎯呭喌锛屼娇寰楀尰鎮f矡閫氭洿鐩存帴銆佹竻鏅版槑浜嗐�傛渶鍚庡皢淇浣撴暟鎹粡鏁板瓧鍖栧鐞嗙敓鎴愭暟鎺ф満搴婂姞宸ユ寚浠ゆ枃浠讹紝鎺у埗CAM璁惧鍦ㄤ复搴婁笂鐩存帴瀹屾垚淇浣撶殑鍔犲伐銆傛偅鑰呬竴娆″氨璇婂氨鍙互鎴翠笂淇浣撱�傚彲浠ヨ锛屾鏃佹搷浣滅郴缁熸槸涓�绉嶇湡姝f剰涔変笂鐨勫叏鏁板瓧鍖栫郴缁熴��
+                        </p>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鍙e唴鎵弿鎶�鏈伐鑹烘祦绋嬩换鍔¤瘎浠锋爣鍑嗚琛�1-2-1銆�</p>
-
-
                 </div>
                 <div class="page-bottom-left">020</div>
             </div>
@@ -538,27 +595,134 @@
                 </div>
                 <div class="bodystyle">
 
-                    <p class="imgtitle">琛�1-2-1銆�鍙e唴鎵弿鎶�鏈伐鑹烘祦绋嬩换鍔¤瘎浠锋爣鍑�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0037-01.jpg" style="width:80%" alt=""
+                    <p class="imgtitle imgdescript-b">琛�1-2-1銆�鍙e唴鎵弿鎶�鏈伐鑹烘祦绋嬩换鍔¤瘎浠锋爣鍑�</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0037-01.jpg" style="width:100%" alt=""
                             active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0037-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+
+                    <div class="unitSummary mb-20">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B2'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span>椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙h厰鎵弿鎶�鏈師鐞�</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B3'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙h厰鎵弿鎶�鏈祦绋�">椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙h厰鎵弿鎶�鏈祦绋�</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="unitSummary">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C2'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span> 椤圭洰涓� 鍙h厰鎵弿鎶�鏈伐鑹烘祦绋� 灏忕粨  </span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C3'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span>椤圭洰涓� 鍙e唴鎵弿鎶�鏈殑鍘熺悊 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C4'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span>椤圭洰涓� 浠撴壂鎶�鏈師鐞� 灏忕粨</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>棰樺簱</span>
+                        </div>
+                        <div class="knowledgeExpansion-box">
+                            <img src="../../assets/images/tuoZhan.svg" alt="" />
+                            <span @click="openQuestion(getResourceInfo('AA2'))">鎷撳睍缁冧範</span>
+                        </div>
+                    </div>
                     <p class="right-info">锛堝緪浣抽煶銆�鍒樺皬闆枫��缃楀嘲锛�</p>
                 </div>
                 <div class="page-bottom-right">021</div>
             </div>
         </div>
+        <preView :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef"></preView>
+        <dialogExaminations :cardList="interfaceQuestion" :questionIDList="questionIDList" :page="questionNum"
+            :questionTitle="questionTitleMain" ref="dialogRef">
+        </dialogExaminations>
     </div>
 </template>
 
 
 <script>
+import preView from "@/components/pdfview/index.vue";
+import bookVideo from "@/components/bookVideo/index.vue";
+import dialogExaminations from "@/components/dialogExaminations/index.vue";
 export default {
     name: "chapterTwo",
     props: {
         showPageList: {
             type: Array,
         },
+        getResourceInfo: {
+            type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
+            required: true,
+        },
+        interfaceQuestion: {
+            type: Array,
+            required: true,
+            default: () => [],
+        },
+    },
+    components: {
+        preView,
+        bookVideo,
+        dialogExaminations,
+    },
+    data() {
+        return {
+            p_md5: "",
+            somePdfTitleValue: "",
+            // 棰樼洰鐩稿叧
+            questionNum: 0,
+            questionTitleMain: "",
+            questionIDList: [],
+            questionData: {
+                one: "",
+                two: "",
+                three: ""
+            }
+        };
+    },
+    mounted() {
+        this.getQuestionData()
+    },
+    methods: {
+        toUrl(val) {
+            if (val != null) {
+                this.p_md5 = val.md5;
+                this.somePdfTitleValue = val.resourceName;
+                this.$refs.pdfDialogRef.openDialog();
+            }
+        },
+        openQuestion(val) {
+            if (val != undefined) {
+                this.questionNum = val.pagination;
+                this.questionTitleMain = val.resourceName;
+                this.questionIDList = val.ids;
+                this.$nextTick(() => {
+                    this.$refs.dialogRef.openDialogQuestion();
+                });
+            }
+        },
+        setQuestionData() {
+            localStorage.setItem(
+                "digitalDentalRestorationTechnology-book-chapter02-questionData",
+                JSON.stringify(this.questionData)
+            );
+        },
+        getQuestionData() {
+            let questionData = localStorage.getItem("digitalDentalRestorationTechnology-book-chapter02-questionData");
+            if (questionData) {
+                this.questionData = JSON.parse(questionData);
+            }
+        },
     },
 }
 </script>
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/chapter003.vue b/src/books/digitalDentalRestorationTechnology/view/components/chapter003.vue
index ac9c334..56d457b 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/chapter003.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/chapter003.vue
@@ -4,31 +4,67 @@
         <div class="page-box" page="28">
             <div v-if="showPageList.indexOf(28) > -1">
                 <div class="bodystyle">
-                    <h1 class="firstTitle-l mb-70 pt-70">椤圭洰浜屻��鍥哄畾淇璁捐宸ヨ壓</h1>
-                    <div class="bodyPic"><img src="../../assets/images/0038-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0017-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绱犺川鐩爣</span></p>
-                    <p class="content">锛�1锛夋爲绔嬬煡琛屽悎涓�鐨勬剰璇嗭紝鎰挎剰杩愮敤鎵�瀛︾煡璇嗗垎鏋愩�佽В鍐冲伐浣滀腑鐨勯棶棰樸��</p>
-                    <p class="content">锛�2锛夊浼氳嚜涓诲涔狅紝鎸佺画鍏虫敞琛屼笟鎶�鏈彂灞曪紝鍦ㄦ柊鏉愭枡銆佹柊鎶�鏈鍩熷紑鎷撲箟榻胯璁$殑鏂版柟娉曞強鏂版�濊矾銆�</p>
-                    <p class="center">........................</p>
-                    <p class="center"><span class="bold">鐭ヨ瘑鐩爣</span></p>
-                    <p class="content">锛�1锛夋帉鎻★細鍥哄畾淇浣撴暟瀛楀寲璁捐鐨勫熀鏈煡璇嗭紝鍖呮嫭涓嶅悓绫诲瀷鍥哄畾淇浣撶殑璁捐姝ラ銆�</p>
-                    <p class="content">锛�2锛変簡瑙o細鍚勭被鍥哄畾淇浣撶殑鍙傛暟璁剧疆銆�</p>
-                    <p class="center">........................</p>
-                    <p class="content"><span class="bold">鑳藉姏鐩爣</span></p>
-                    <p class="content">锛�1锛夎兘浠ユ�濈淮瀵煎浘鐨勬柟寮忓憟鐜板叏鍐犺璁$殑娴佺▼銆�</p>
-                    <p class="content">锛�2锛夎兘鏍规嵁鍒朵綔闇�瑕侊紝缁樺埗宓屼綋銆佸叏鍐犮�佸熀搴曞啝绛変慨澶嶄綋杈圭紭绾裤��</p>
-                    <p class="content">锛�3锛夎兘浠庣墮鍐犲簱涓�夋嫨閫傚悎鎮h�呯殑鐗欏啝褰㈡�侊紝骞舵牴鎹笉鍚屾偅鑰呭挰鍚堢壒鐐瑰仛涓�у寲淇敼銆�</p>
+                    <h1 class="firstTitle-l mb-70 pt-70 oneTitle">椤圭洰浜屻��鍥哄畾淇璁捐宸ヨ壓</h1>
+                    <div class="learnGoal">
+                        <img class="learnImg img-h" src="../../assets/images/learnGoal.png" alt="" />
+                        <p class="center learngoalRange"><span class="bold">绱犺川鐩爣</span></p>
+                        <p class="content">锛�1锛夋爲绔嬬煡琛屽悎涓�鐨勬剰璇嗭紝鎰挎剰杩愮敤鎵�瀛︾煡璇嗗垎鏋愩�佽В鍐冲伐浣滀腑鐨勯棶棰樸��</p>
+                        <p class="content">锛�2锛夊浼氳嚜涓诲涔狅紝鎸佺画鍏虫敞琛屼笟鎶�鏈彂灞曪紝鍦ㄦ柊鏉愭枡銆佹柊鎶�鏈鍩熷紑鎷撲箟榻胯璁$殑鏂版柟娉曞強鏂版�濊矾銆�</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鐭ヨ瘑鐩爣</span></p>
+                        <p class="content">锛�1锛夋帉鎻★細鍥哄畾淇浣撴暟瀛楀寲璁捐鐨勫熀鏈煡璇嗭紝鍖呮嫭涓嶅悓绫诲瀷鍥哄畾淇浣撶殑璁捐姝ラ銆�</p>
+                        <p class="content">锛�2锛変簡瑙o細鍚勭被鍥哄畾淇浣撶殑鍙傛暟璁剧疆銆�</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鑳藉姏鐩爣</span></p>
+                        <p class="content">锛�1锛夎兘浠ユ�濈淮瀵煎浘鐨勬柟寮忓憟鐜板叏鍐犺璁$殑娴佺▼銆�</p>
+                        <p class="content">锛�2锛夎兘鏍规嵁鍒朵綔闇�瑕侊紝缁樺埗宓屼綋銆佸叏鍐犮�佸熀搴曞啝绛変慨澶嶄綋杈圭紭绾裤��</p>
+                        <p class="content">锛�3锛夎兘浠庣墮鍐犲簱涓�夋嫨閫傚悎鎮h�呯殑鐗欏啝褰㈡�侊紝骞舵牴鎹笉鍚屾偅鑰呭挰鍚堢壒鐐瑰仛涓�у寲淇敼銆�</p>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>鏁欏璇句欢</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A5'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰浜� 鏁欏璇句欢 鍏ㄥ啝璁捐</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A6'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span> 椤圭洰浜� 鏁欏璇句欢 宓屼綋璁捐</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A7'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰浜� 鏁欏璇句欢 鍥哄畾妗ヨ璁�</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A8'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰浜� 鏁欏璇句欢 鍩哄簳鍐�</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A9'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰浜� 鏁欏璇句欢 璐撮潰璁捐</span>
+                        </div>
+                    </div>
                     <h2 class="secondTitle">浠诲姟涓�銆�鍏ㄥ啝璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">闂ㄨ瘖閫佹潵璁捐璁㈠崟锛岃姹傚仛26鍏ㄧ摲鍐犱慨澶嶃�傛ā鍨嬫暟鎹凡涓婁紶锛岃繘琛�26瑙e墫鍐犺璁°��</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庤В鍓栧啝璁捐鐨勫叿浣撴楠ゆ槸浠�涔堬紵</p>
-                    <p class="content">2锛庡叏鐡峰啝淇鐨勯棿闅欏墏鍙傛暟瑕佹眰鏄粈涔堬紵</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">浠诲姟妗堜緥</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">闂ㄨ瘖閫佹潵璁捐璁㈠崟锛岃姹傚仛26鍏ㄧ摲鍐犱慨澶嶃�傛ā鍨嬫暟鎹凡涓婁紶锛岃繘琛�26瑙e墫鍐犺璁°��</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庤В鍓栧啝璁捐鐨勫叿浣撴楠ゆ槸浠�涔堬紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.one" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庡叏鐡峰啝淇鐨勯棿闅欏墏鍙傛暟瑕佹眰鏄粈涔堬紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.two" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
                 </div>
                 <div class="page-bottom-left">022</div>
             </div>
@@ -41,14 +77,14 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鍏ㄥ啝璁捐鏍规嵁鍏跺埗浣滃師鐞嗕笉鍚屼富瑕佸垎涓鸿В鍓栧啝璁捐鍜屽熀搴曞啝璁捐銆傝В鍓栧啝鏄熀搴曢儴鍜屽挰鍚堥儴鐢ㄤ竴绉嶆潗璐ㄥ姞宸ュ畬鎴愮殑涓�浣撳叏鍐犮�傛湰浠诲姟涓昏浠嬬粛瑙e墫鍐犵殑璁捐姝ラ锛屽熀搴曞啝鐨勫叿浣撳唴瀹硅瑙佹湰椤圭洰浠诲姟鍥涖��</p>
                     <h3 class="thirdTitle">涓�銆佸垱寤鸿鍗�</h3>
                     <p class="content">Exocad杞欢鐨勮鍗曞缓绔嬮噰鐢ㄧ墮浣嶅浘鐢靛瓙鎶�宸ュ崟褰㈠紡锛岃鍗曡缃涓嬶細26鐗欎綅閫夋嫨瑙e墫寮忕墮鍐狅紝鏍规嵁鍖荤敓鎻愪緵鐨勮璁″崟閫夋嫨淇鏉愭枡锛堝浘2-1-1锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0039-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-1-1銆�璁㈠崟鐣岄潰</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0039-01.jpg" style="width:80%" alt="鍥�2-1-1銆�璁㈠崟鐣岄潰" active="true" />
+                        <p class="imgdescript-b">鍥�2-1-1銆�璁㈠崟鐣岄潰</p>
                     </div>
                     <h3 class="thirdTitle">浜屻�佹壂鎻忔垨瀵煎叆鏁版嵁</h3>
                     <p class="content">鍒╃敤Exocad鎵弿杞欢瀹屾垚宸ヤ綔妯″瀷鍜屽棰屾ā鍨嬬殑鎵弿銆�</p>
@@ -67,7 +103,6 @@
                 <div class="page-bottom-right">023</div>
             </div>
         </div>
-
         <!-- Page 30 (鍋舵暟椤�) -->
         <div class="page-box" page="30">
             <div v-if="showPageList.indexOf(30) > -1">
@@ -78,24 +113,24 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content">3锛庢暟瀛椾唬鍨嬩笌瀹炵墿杈圭紭绾垮畬鍏ㄥ惢鍚堝悗锛岃繘涓�姝ョ簿缁嗘娴嬮缂樼嚎鐨勫噯纭�с��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0040-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-1-2銆�棰堢紭绾胯嚜鍔ㄨ瘑鍒�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0040-01.jpg" style="width:75%" alt="鍥�2-1-2銆�棰堢紭绾胯嚜鍔ㄨ瘑鍒�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-1-2銆�棰堢紭绾胯嚜鍔ㄨ瘑鍒�</p>
                     </div>
                     <h3 class="thirdTitle">鍥涖�佺‘瀹氬氨浣嶉亾鏂瑰悜</h3>
                     <p class="content">
                         鐐瑰嚮鈥滀笅涓�姝モ�濊繘琛屽氨浣嶉亾鏂瑰悜璁惧畾锛岃蒋浠朵細鑷姩鐢熸垚灏变綅閬撴柟鍚戯紝骞惰嚜鍔ㄨ绠楀拰鏄剧ず鍑哄�掑嚬鍖哄煙銆備竴鑸儏鍐典笅锛屾灏变綅閬撴槸杞欢璁$畻鍑虹殑鍊掑嚬闈㈢Н鏈�灏忕殑鏂瑰悜銆傛妸鍩虹墮鎽嗘斁濂斤紝娌胯瀹氬ソ鐨勫氨浣嶉亾鏂瑰悜浠庨澶囦綋楠岄潰鍚戦閮ㄨ瀵燂紝搴旇兘鐪嬪埌鎵�鏈夋鍓嶈瀹氱殑杈圭紭绾胯寖鍥达紝鏃犲�掑嚬锛堝浘2-1-3锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0040-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-1-3銆�妫�鏌ュ氨浣嶉亾</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0040-02.jpg" style="width:75%" alt="鍥�2-1-3銆�妫�鏌ュ氨浣嶉亾" active="true" />
+                        <p class="imgdescript-b">鍥�2-1-3銆�妫�鏌ュ氨浣嶉亾</p>
                     </div>
 
                 </div>
                 <div class="page-bottom-left">024</div>
             </div>
         </div>
-
         <!-- Page 31 (濂囨暟椤�) -->
         <div class="page-box" page="31">
             <div v-if="showPageList.indexOf(31) > -1">
@@ -108,17 +143,17 @@
                     <p class="content">
                         1锛庡湪杞欢涓�夋嫨鍚堥�傜殑闂撮殭鍓傦紝杩欎笌浼犵粺宸ヨ壓鎶�鏈秱甯冮棿闅欏墏鐨勭洰鐨勪竴鏍凤紝閮芥槸涓轰箟榻垮拰棰勫浣撲箣闂寸殑绮樻帴鍓傛彁渚涚┖闅欙紝鍏跺喅瀹氱潃鍐犵殑鏉剧揣搴︼紝涓�鑸牴鎹墍闇�鐨勫姞宸ユ潗鏂欍�侀澶囦綋鐨勬潯浠跺強鍔犲伐鏂瑰紡閫夋嫨鐩稿簲鐨勫弬鏁帮紙鍥�2-1-4锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0041-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-1-4銆�闂撮殭鍓傚弬鏁拌缃�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0041-01.jpg" style="width:75%" alt="鍥�2-1-4銆�闂撮殭鍓傚弬鏁拌缃�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-1-4銆�闂撮殭鍓傚弬鏁拌缃�</p>
                     </div>
                     <p class="content">锛�1锛夆�滅矘鎺ラ棿闅欌�濓細鍐犺竟缂樺尯鍩熼鐣欑殑闂撮殭鍓傜┖闂达紝璋冩暣姝ゆ暟鍊间細褰卞搷鍐犲氨浣嶇殑鏉剧揣搴︺��</p>
                     <p class="content">锛�2锛夆�滈澶栭棿闅欌�濓細鍐犲唴閮ㄩ櫎杈圭紭鍖哄煙澶栵紝鏁翠綋棰勭暀鐨勯棿闅欏墏绌洪棿锛屼竴鑸帤浜庤竟缂樺尯鍩燂紝璋冩暣姝ゆ暟鍊间細褰卞搷鍐犳暣浣撶殑鏉剧揣搴︺��</p>
                     <p class="content">锛�3锛夆�滃埌杈圭紭绾跨殑璺濈鈥濓細瀵瑰簲浜庘�滈粡鐫�鍓傞棿闅欌�濊瀹氬�兼墍褰卞搷鐨勫啝杈圭紭鍖哄煙瀹藉害锛屼竴鑸涓�1锝�2mm銆�</p>
                     <p class="content">锛�4锛夆�滃钩婊戣窛绂烩�濓細鍐犺竟缂樺尯鍩熻繃娓″埌鍐呴儴鍖哄煙鐨勮窛绂伙紝鍗崇敱鈥滈粡鐫�鍓傞棿闅欌�濆钩婊戣繃娓″埌鈥滈澶栭粡鐫�鍓傞棿闅欌�濈殑娓愬彉鍖哄煙鑼冨洿銆�</p>
-                    <p class="content">2锛庡浜庤緝灏栭攼鐨勫墠鐗欙紙濡備笅棰屽墠鐗欙級锛屽彲灏嗛棿闅欏墏鍘氬害閫傚綋澧炲ぇ锛涘瀵逛簬<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />榫堝緞鐭�佽仛鍚堣搴﹀皬鐨勫熀鐗欙紝鍙皢闂撮殭鍓傚帤搴﹂�傚綋璋冨皬锛岀‘淇濆埗浣滅殑淇浣撳瘑鍚堝氨浣嶃�傚父鐢ㄧ殑鍙傛暟鍊煎涓嬨��</p>
+                    <p class="content">
+                        2锛庡浜庤緝灏栭攼鐨勫墠鐗欙紙濡備笅棰屽墠鐗欙級锛屽彲灏嗛棿闅欏墏鍘氬害閫傚綋澧炲ぇ锛涘瀵逛簬瓞寳榫堝緞鐭�佽仛鍚堣搴﹀皬鐨勫熀鐗欙紝鍙皢闂撮殭鍓傚帤搴﹂�傚綋璋冨皬锛岀‘淇濆埗浣滅殑淇浣撳瘑鍚堝氨浣嶃�傚父鐢ㄧ殑鍙傛暟鍊煎涓嬨��</p>
                     <p class="content">锛�1锛夋哀鍖栭攩鍐狅細鈥滅矘鎺ラ棿闅欌��0.02mm锛屸�滈澶栭棿闅欌��0.025mm銆�</p>
                     <p class="content">锛�2锛夌函閽涘啝锛氣�滅矘鎺ラ棿闅欌��0锝�0.02mm锛屸�滈澶栭棿闅欌��0.02锝�0.04mm銆�</p>
                     <p class="content">锛�3锛夋縺鍏夌儳缁撳啝锛氣�滅矘鎺ラ棿闅欌��0锝�0.06mm锛屸�滈澶栭棿闅欌��0.02锝�0.09mm銆�</p>
@@ -147,19 +182,19 @@
                 <div class="bodystyle">
                     <h3 class="thirdTitle">鍏�佷慨澶嶄綋褰㈡�佽璁�</h3>
                     <p class="content"><span
-                            class="bold">1锛庨�夋嫨鐗欏啝褰㈡��</span>銆�瀹屾垚涓婅堪姝ラ鍚庯紝杞欢浼氳嚜鍔ㄧ敓鎴愭帹鑽愮殑淇浣撳舰鎬侊紝姝ゆ椂鍙牴鎹偅鑰呯殑骞撮緞銆佹�у埆銆佸悓鍚嶇墮褰㈡�併�侀偦鐗欏舰鎬侊紝鍦ㄨ蒋浠堕瑁呯殑鐗欏啝褰㈡�佸簱涓�夋嫨閫傚悎鎮h�呯殑鐗欏啝褰㈡�侊紙鍥�2-1-5锛夈��
+                            class="bold fontGreen">1锛庨�夋嫨鐗欏啝褰㈡��</span>銆�瀹屾垚涓婅堪姝ラ鍚庯紝杞欢浼氳嚜鍔ㄧ敓鎴愭帹鑽愮殑淇浣撳舰鎬侊紝姝ゆ椂鍙牴鎹偅鑰呯殑骞撮緞銆佹�у埆銆佸悓鍚嶇墮褰㈡�併�侀偦鐗欏舰鎬侊紝鍦ㄨ蒋浠堕瑁呯殑鐗欏啝褰㈡�佸簱涓�夋嫨閫傚悎鎮h�呯殑鐗欏啝褰㈡�侊紙鍥�2-1-5锛夈��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庢帓鍒楃墮鍐�</span>銆�闄ら暅鍍忓鍒剁墮鍐犲锛屼篃鍙寜鐓х墮鍒楃殑鍜悎銆佹洸绾裤�佺┖闂村ぇ灏忓強鍖荤敓鐨勪釜鎬у寲瑕佹眰锛屼粠杞欢鐨勭墮鍐犳暟鎹簱涓寫閫夐�傚悎鐨勬爣鍑嗙墮鍐狅紝杞欢鍙牴鎹繎杩滀腑閭绘帴鍏崇郴锛岃嚜鍔ㄥ皢鐗欏啝鍒濇鎺掑垪锛堝浘2-1-6锛夈��
+                            class="bold fontGreen">2锛庢帓鍒楃墮鍐�</span>銆�闄ら暅鍍忓鍒剁墮鍐犲锛屼篃鍙寜鐓х墮鍒楃殑鍜悎銆佹洸绾裤�佺┖闂村ぇ灏忓強鍖荤敓鐨勪釜鎬у寲瑕佹眰锛屼粠杞欢鐨勭墮鍐犳暟鎹簱涓寫閫夐�傚悎鐨勬爣鍑嗙墮鍐狅紝杞欢鍙牴鎹繎杩滀腑閭绘帴鍏崇郴锛岃嚜鍔ㄥ皢鐗欏啝鍒濇鎺掑垪锛堝浘2-1-6锛夈��
                     </p>
                     <p class="content">搴旂敤宸ュ叿鏍忔彁渚涚殑绉诲姩銆佹棆杞�佺缉鏀惧姛鑳藉彲鏍℃鐗欏啝鎽嗕綅锛屼娇鐗欏啝閫傚悎鐗欏垪绌洪棿銆�</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0042-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-1-5銆�鐗欏啝褰㈡�佸簱</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0042-01.jpg" style="width:76%" alt="鍥�2-1-5銆�鐗欏啝褰㈡�佸簱" active="true" />
+                        <p class="imgdescript-b">鍥�2-1-5銆�鐗欏啝褰㈡�佸簱</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0042-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-1-6銆�鎺掑垪鐗欏啝</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0042-02.jpg" style="width:76%" alt="鍥�2-1-6銆�鎺掑垪鐗欏啝" active="true" />
+                        <p class="imgdescript-b">鍥�2-1-6銆�鎺掑垪鐗欏啝</p>
                     </div>
 
                 </div>
@@ -176,11 +211,11 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">3锛庤嚜鐢遍�犲瀷</span>銆�杩涘叆杩欎竴姝ユ椂锛岃皟鏁村畬褰㈡�佺殑鐗欏啝浼氭寜棰勫厛璁惧畾鐨勫弬鏁拌嚜鍔ㄥ瘑鍚堣繛鎺ュ埌棰堢紭绾裤�侲xocad杞欢鍏峰涓板瘜鐨勫舰鎬佽皟鏀瑰伐鍏凤紝鍙繘琛屾暣浣撳拰灞�閮ㄧ殑鍙樺舰銆佸厜椤哄強鏁板瓧铚″垁鐨勫簲鐢紙鍥�2-1-7锛夈��
+                            class="bold fontGreen">3锛庤嚜鐢遍�犲瀷</span>銆�杩涘叆杩欎竴姝ユ椂锛岃皟鏁村畬褰㈡�佺殑鐗欏啝浼氭寜棰勫厛璁惧畾鐨勫弬鏁拌嚜鍔ㄥ瘑鍚堣繛鎺ュ埌棰堢紭绾裤�侲xocad杞欢鍏峰涓板瘜鐨勫舰鎬佽皟鏀瑰伐鍏凤紝鍙繘琛屾暣浣撳拰灞�閮ㄧ殑鍙樺舰銆佸厜椤哄強鏁板瓧铚″垁鐨勫簲鐢紙鍥�2-1-7锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0043-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-1-7銆�鑷敱閫犲瀷</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0043-01.jpg" style="width:75%" alt="鍥�2-1-7銆�鑷敱閫犲瀷" active="true" />
+                        <p class="imgdescript-b">鍥�2-1-7銆�鑷敱閫犲瀷</p>
                     </div>
                     <p class="content">
                         锛�1锛夌壍鎷夊伐鍏凤細閫夋嫨杞欢鈥滆嚜鐢遍�犲瀷鈥濆伐鍏锋爮涓嬬殑鈥滆В鍓栧舰鎬佲�濓紝鏍规嵁鐗垫媺鑼冨洿鍒嗕负鈥滅墮灏栤�濃�滈儴鍒嗙墮榻库�濃�滄暣涓墮榻库�濃�滃荡鈥�4涓皟鏁村尯鍩熴�傚彲鏍规嵁闇�瑕侀�夋嫨鐩稿叧鍖哄煙杩涜褰㈡�佺壍鎷夎皟鏁淬��</p>
@@ -190,15 +225,10 @@
                     </p>
                     <p class="content">锛�4锛夐檮浠朵綋锛氬父鐢ㄤ簬绉嶆浣撶殑寮�瀛斿拰绮惧瘑闄勭潃浣撶殑鎻掍欢绛夛紝鍙嚜琛屽紑鍙戝苟浠庤蒋浠跺悗鍙版坊鍔犲父鐢ㄧ殑闄勪欢妯″瀷锛屾柟渚胯皟鐢ㄣ��</p>
                     <h3 class="thirdTitle">涓冦�佷慨澶嶄綋鍔ㄦ�佸挰鍚堣璁�</h3>
-                    <p class="content">姝g‘鐨�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鍏崇郴鍙娇淇浣撶殑闀挎湡鎬у拰鍔熻兘鎬у緱鍒颁繚璇侊紝鍚﹀垯鍙兘鍦ㄤ娇鐢ㄤ腑鍑虹幇鍚勭闂銆傜洰鍓岴xocad杞欢宸查泦鎴愬娆炬暟瀛�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋讹紝骞朵笌瀹炵墿<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋剁殑鍙傛暟鐩稿尮閰嶃��</p>
-                    <p class="content">1锛庝复搴婁笂濡傛灉鎻愪緵浜嗛潰寮撲俊鎭紝鎶�甯堝彲閫氳繃Exocad鐗欓妯″瀷鎵弿浠紝灏嗛浣嶅叧绯讳粠瀹炰綋鐗欐灦鍑嗙‘杞Щ鍒拌蒋浠剁殑鏁板瓧<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋朵腑锛岃缃ソ鐩稿叧鏁板瓧<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋跺弬鏁板悗锛屽嵆鍙鏁板瓧淇浣撹繘琛屽挰鍚堟鏌ュ強璋冩暣銆�</p>
-                    <p class="content">2锛庡鏋滄病鏈変复搴婄殑闈㈠紦淇℃伅锛屼篃鍙瀹氬潎鍊煎弬鏁拌繘琛屽挰鍚堟鏌ャ�備笅闈互鍧囧�间负渚嬶紝浠嬬粛Exocad杞欢鏁板瓧<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋剁殑浣跨敤銆�</p>
+                    <p class="content">姝g‘鐨勷瑢楀叧绯诲彲浣夸慨澶嶄綋鐨勯暱鏈熸�у拰鍔熻兘鎬у緱鍒颁繚璇侊紝鍚﹀垯鍙兘鍦ㄤ娇鐢ㄤ腑鍑虹幇鍚勭闂銆傜洰鍓岴xocad杞欢宸查泦鎴愬娆炬暟瀛楌瑢楁灦锛屽苟涓庡疄鐗瑢楁灦鐨勫弬鏁扮浉鍖归厤銆�</p>
+                    <p class="content">
+                        1锛庝复搴婁笂濡傛灉鎻愪緵浜嗛潰寮撲俊鎭紝鎶�甯堝彲閫氳繃Exocad鐗欓妯″瀷鎵弿浠紝灏嗛浣嶅叧绯讳粠瀹炰綋鐗欐灦鍑嗙‘杞Щ鍒拌蒋浠剁殑鏁板瓧瓞寳鏋朵腑锛岃缃ソ鐩稿叧鏁板瓧瓞寳鏋跺弬鏁板悗锛屽嵆鍙鏁板瓧淇浣撹繘琛屽挰鍚堟鏌ュ強璋冩暣銆�</p>
+                    <p class="content">2锛庡鏋滄病鏈変复搴婄殑闈㈠紦淇℃伅锛屼篃鍙瀹氬潎鍊煎弬鏁拌繘琛屽挰鍚堟鏌ャ�備笅闈互鍧囧�间负渚嬶紝浠嬬粛Exocad杞欢鏁板瓧瓞寳鏋剁殑浣跨敤銆�</p>
 
                 </div>
                 <div class="page-bottom-right">027</div>
@@ -214,54 +244,36 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="content">锛�1锛夋墦寮�宸ュ叿锛岀偣鍑诲惎鍔�<img class="s-pic" src="../../assets/images/0026_02.png" alt="" />鏋躲��
+                    <p class="content">锛�1锛夋墦寮�宸ュ叿锛岀偣鍑诲惎鍔瑢楁灦銆�
                     </p>
-                    <p class="content">锛�2锛夋牎鍑嗕笂涓嬮浣嶇疆锛氭ā鍨嬪鍏ユ暟瀛�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋跺悗锛岀敤榧犳爣绉诲姩銆佹棆杞ā鍨嬶紝浣夸笂棰屾ā鍨嬬殑涓嚎銆佺墮浣嶅敖閲忎笌鏁板瓧<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋朵笂瀵归綈銆備篃鍙嚜鍔ㄦ牎鍑嗕笂涓嬮浣嶇疆銆�</p>
-                    <p class="content">锛�3锛夎缃�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋跺弬鏁帮細鍙皢鍖荤敓鎻愪緵鐨勬偅鑰呬釜鎬у寲娴嬮噺鍊艰緭鍏ョ浉搴斿搧鐗屾暟瀛�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋剁殑鍙傛暟涓紝濡侭ennett L銆丅ennett R銆佸乏渚ч珌鏂滃害鍜屽彸渚ч珌鏂滃害绛夛紝鑻ユ病鏈夋彁渚涙祴閲忓�硷紝涔熷彲灏�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋惰缃负骞冲潎鍊间娇鐢紙鎺ㄨ崘鍓嶄几楂佸30掳锛屼晶鏂归珌瀵�15掳锛夈��</p>
-                    <p class="content">锛�4锛夊姩鎬佸挰鍚堝垎鏋愶細淇浣撶殑璁捐涓嶄絾瑕佷繚璇侀潤鎬佸挰鍚堢ǔ瀹氱姸鎬侊紝杩樿淇濊瘉鍦ㄥ挰鍚堣繍鍔ㄤ腑鏃�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />骞叉壈鐘舵�侊紝鍥犳杩樺繀椤昏繘涓�姝ユ鏌ヤ慨澶嶄綋鍔熻兘杩愬姩鐘舵�佷笅鐨�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鎺ヨЕ鍏崇郴锛堝寘鎷墠浼搞�佷晶鏂广�佸悗閫�绛夊姛鑳借繍鍔級锛屽苟瀵�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />骞叉壈杩涜鍒嗘瀽鍜屽幓闄ゃ��</p>
-                    <p class="content">涓嬮潰浠嬬粛鏁板瓧<img class="s-pic" src="../../assets/images/0026_02.png" alt="" />鏋舵妧鏈殑搴旂敤銆�
+                    <p class="content">锛�2锛夋牎鍑嗕笂涓嬮浣嶇疆锛氭ā鍨嬪鍏ユ暟瀛楌瑢楁灦鍚庯紝鐢ㄩ紶鏍囩Щ鍔ㄣ�佹棆杞ā鍨嬶紝浣夸笂棰屾ā鍨嬬殑涓嚎銆佺墮浣嶅敖閲忎笌鏁板瓧瓞寳鏋朵笂瀵归綈銆備篃鍙嚜鍔ㄦ牎鍑嗕笂涓嬮浣嶇疆銆�</p>
+                    <p class="content">锛�3锛夎缃瑢楁灦鍙傛暟锛氬彲灏嗗尰鐢熸彁渚涚殑鎮h�呬釜鎬у寲娴嬮噺鍊艰緭鍏ョ浉搴斿搧鐗屾暟瀛楌瑢楁灦鐨勫弬鏁颁腑锛屽Bennett L銆丅ennett
+                        R銆佸乏渚ч珌鏂滃害鍜屽彸渚ч珌鏂滃害绛夛紝鑻ユ病鏈夋彁渚涙祴閲忓�硷紝涔熷彲灏嗮瑢楁灦璁剧疆涓哄钩鍧囧�间娇鐢紙鎺ㄨ崘鍓嶄几楂佸30掳锛屼晶鏂归珌瀵�15掳锛夈��</p>
+                    <p class="content">
+                        锛�4锛夊姩鎬佸挰鍚堝垎鏋愶細淇浣撶殑璁捐涓嶄絾瑕佷繚璇侀潤鎬佸挰鍚堢ǔ瀹氱姸鎬侊紝杩樿淇濊瘉鍦ㄥ挰鍚堣繍鍔ㄤ腑鏃狆瑢楀共鎵扮姸鎬侊紝鍥犳杩樺繀椤昏繘涓�姝ユ鏌ヤ慨澶嶄綋鍔熻兘杩愬姩鐘舵�佷笅鐨勷瑢楁帴瑙﹀叧绯伙紙鍖呮嫭鍓嶄几銆佷晶鏂广�佸悗閫�绛夊姛鑳借繍鍔級锛屽苟瀵桂瑢楀共鎵拌繘琛屽垎鏋愬拰鍘婚櫎銆�
                     </p>
-                    <p class="content">鍦ㄨ蒋浠舵暟瀛�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋跺姛鑳戒腑鍕鹃�夌鎾炶璁″拰璁板綍鎺ヨЕ锛屽苟鐐瑰嚮鈥滃挰鍚堢綏鐩樷�濇寜閽紝鍦ㄦā鎷熶笅棰岃繍鍔ㄦ椂锛岃蒋浠朵細閽堝涓嶅悓杩愬姩鏂瑰悜鐨�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />骞叉壈锛屼娇鐢ㄤ笉鍚岄鑹插鎺ヨЕ杩涜鐫�鑹层��</p>
+                    <p class="content">涓嬮潰浠嬬粛鏁板瓧瓞寳鏋舵妧鏈殑搴旂敤銆�
+                    </p>
+                    <p class="content">鍦ㄨ蒋浠舵暟瀛楌瑢楁灦鍔熻兘涓嬀閫夌鎾炶璁″拰璁板綍鎺ヨЕ锛屽苟鐐瑰嚮鈥滃挰鍚堢綏鐩樷�濇寜閽紝鍦ㄦā鎷熶笅棰岃繍鍔ㄦ椂锛岃蒋浠朵細閽堝涓嶅悓杩愬姩鏂瑰悜鐨勷瑢楀共鎵帮紝浣跨敤涓嶅悓棰滆壊瀵规帴瑙﹁繘琛岀潃鑹层��</p>
                     <p class="content">1锛夐粦鑹诧細鍓嶄几杩愬姩锛屾柟鍚戜负鐭㈢姸闈笌涓嚎骞宠銆�</p>
                     <p class="content">2锛夎摑鑹诧細渚ф柟杩愬姩锛屼笌鍓嶄几杩愬姩绾︿负90掳澶硅锛岀敱灏栫墮寮曞銆�</p>
                     <p class="content">3锛夐粍鑹诧細渚у墠浼歌繍鍔ㄣ��</p>
                     <p class="content">4锛夌豢鑹诧細瓒嬩腑杩愬姩锛屽嵆宸ヤ綔渚у悜涓嚎杩愬姩銆傜敱澶栧埌鍐咃紝宸ヤ綔渚у仛瓒嬩腑杩愬姩鐨勫悓鏃讹紝闈炲伐浣滀晶鍋氫晶鏂硅繍鍔ㄣ��</p>
                     <p class="content">5锛夋鑹诧細渚у墠瓒嬩腑杩愬姩锛屽湪鍓嶄几杩愬姩鍜岃秼涓繍鍔ㄤ箣闂淬��</p>
                     <p class="content">6锛夌孩鑹诧細鍚庨��杩愬姩鍜岃繀閫熶晶绉汇��</p>
-                    <p class="content">鏍规嵁<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />缃楃洏鍥介檯鑹茬爜鐨勯鑹插垎鍖猴紝鍙垎鏋愬嚭姝や綅缃湪鍝釜鏂瑰悜杩愬姩鏈�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />骞叉壈锛屼粠鑰屽垎鏋愪慨澶嶄綋鍜悎鎺ヨЕ鐐圭殑浣嶇疆銆佸ぇ灏忋�侀珮浣庢槸鍚︽纭紝纭畾鍜悎闈㈠皷銆佺獫銆佹矡銆佸荡鐨勪綅缃強鏂瑰悜銆備緥濡傦紝浠庢帴瑙︾偣鍚戝嚬闄烽儴浣嶇殑杩愬姩杈冧负瀹规槗锛屼笉鏄撲骇鐢�<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />骞叉壈锛涜�屼粠<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />瑙︾偣鍚戠獊璧烽儴浣嶈繍鍔紝鏄撲骇鐢�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />骞叉壈锛屽皢鏄撲骇鐢�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />骞叉壈鐨勪綅缃檷浣庯紝鎴栨槸閲嶆柊璁捐<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />瑙︾偣锛屼娇杩愬姩杩囩▼椤虹晠鏃犲共鎵帮紝杩愬姩鍚庡彲浠ヤ娇鐢ㄨ湣鍒�鐨勫噺娉曞姛鑳藉幓闄ゅ共鎵颁綅缃紝涔熷彲浠ラ�氳繃<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋惰繍鍔ㄥ悗鑷姩鍘婚櫎楂樼偣鍔熻兘鍘婚櫎楂樼偣锛屼粠鑰屽畬鎴愪慨澶嶄綋鐨勫姩鎬佸挰鍚堣璁°��</p>
-                    <h3 class="thirdTitle">鍏�佽璁¢偦鎺ョ偣浣嶇疆</h3>
-                    <p class="content">鑹ソ鐨勯偦鐗欐帴瑙﹀尯鍙槻姝㈤鐗╁祵濉烇紝鍚屾椂浣块偦鐗欎簰鐩告敮鎸併�佷簰鐩镐緷闈狅紝渚夸簬鍒嗘暎<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />鍔涳紝鏈夊埄浜庣墮榻跨殑绋冲浐銆傝嫢鎺ヨЕ澶揣锛岄櫎浼氭劅鍒颁笉閫傚锛屽洜鐗欓娇鍙楀埌杩囧ぇ鎺ㄥ姏锛岀墮鍛ㄧ粍缁囨槗鍙楁崯锛涜嫢鎺ヨЕ澶澗锛屽鏄撳紩璧烽鐗╁祵濉炪�侀緢涔冲ご鍙戠値锛屽紩璧风墮鍛ㄧ柧鐥咃紝涓斿洜<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鍔涗紶瀵间笉濂斤紝鏄撻�犳垚鐗欓娇绉讳綅銆傚彲鍙傝�冧互涓嬭鐐硅璁¢偦鎺ョ偣銆�</p>
-                    <p class="content">1锛庡墠鐗欏尯閭绘帴鐐圭殑浣嶇疆搴斿亸鍚戝攪渚э紝瓒婂線杩滀腑浣嶇疆閫愭笎鍋忓悜涓�1/3銆�</p>
-                    <p class="content">2锛庨闈㈣鏃堕偦鎺ョ偣鐨勪綅缃笌绾�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏇茬嚎涓�鑷淬��</p>
-                    <p class="content">3锛庡垏鐗欐帴瑙﹀尯杩戝垏缂樺锛屽垏榫堝緞澶т簬鍞囪垖寰勩��</p>
-                    <p class="content">4锛庡悗鐗欐帴瑙﹀尯杩�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />缂橀儴锛岃繙涓◢涓嬶紝棰婅垖寰勫ぇ浜�<img class="s-pic" src="../../assets/images/0026_02.png" alt="" />榫堝緞銆�
+                    <p class="content">
+                        鏍规嵁瓞寳缃楃洏鍥介檯鑹茬爜鐨勯鑹插垎鍖猴紝鍙垎鏋愬嚭姝や綅缃湪鍝釜鏂瑰悜杩愬姩鏈夝瑢楀共鎵帮紝浠庤�屽垎鏋愪慨澶嶄綋鍜悎鎺ヨЕ鐐圭殑浣嶇疆銆佸ぇ灏忋�侀珮浣庢槸鍚︽纭紝纭畾鍜悎闈㈠皷銆佺獫銆佹矡銆佸荡鐨勪綅缃強鏂瑰悜銆備緥濡傦紝浠庢帴瑙︾偣鍚戝嚬闄烽儴浣嶇殑杩愬姩杈冧负瀹规槗锛屼笉鏄撲骇鐢燄瑢楀共鎵帮紱鑰屼粠瓞寳瑙︾偣鍚戠獊璧烽儴浣嶈繍鍔紝鏄撲骇鐢燄瑢楀共鎵帮紝灏嗘槗浜х敓瓞寳骞叉壈鐨勪綅缃檷浣庯紝鎴栨槸閲嶆柊璁捐瓞寳瑙︾偣锛屼娇杩愬姩杩囩▼椤虹晠鏃犲共鎵帮紝杩愬姩鍚庡彲浠ヤ娇鐢ㄨ湣鍒�鐨勫噺娉曞姛鑳藉幓闄ゅ共鎵颁綅缃紝涔熷彲浠ラ�氳繃瓞寳鏋惰繍鍔ㄥ悗鑷姩鍘婚櫎楂樼偣鍔熻兘鍘婚櫎楂樼偣锛屼粠鑰屽畬鎴愪慨澶嶄綋鐨勫姩鎬佸挰鍚堣璁°��
                     </p>
-                    <p class="content">5锛庡墠纾ㄧ墮銆佺涓�纾ㄧ墮杩戜腑鎺ヨЕ鍖哄湪<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />1/3鍋忛渚с��</p>
+                    <h3 class="thirdTitle">鍏�佽璁¢偦鎺ョ偣浣嶇疆</h3>
+                    <p class="content">
+                        鑹ソ鐨勯偦鐗欐帴瑙﹀尯鍙槻姝㈤鐗╁祵濉烇紝鍚屾椂浣块偦鐗欎簰鐩告敮鎸併�佷簰鐩镐緷闈狅紝渚夸簬鍒嗘暎瓞寳鍔涳紝鏈夊埄浜庣墮榻跨殑绋冲浐銆傝嫢鎺ヨЕ澶揣锛岄櫎浼氭劅鍒颁笉閫傚锛屽洜鐗欓娇鍙楀埌杩囧ぇ鎺ㄥ姏锛岀墮鍛ㄧ粍缁囨槗鍙楁崯锛涜嫢鎺ヨЕ澶澗锛屽鏄撳紩璧烽鐗╁祵濉炪�侀緢涔冲ご鍙戠値锛屽紩璧风墮鍛ㄧ柧鐥咃紝涓斿洜瓞寳鍔涗紶瀵间笉濂斤紝鏄撻�犳垚鐗欓娇绉讳綅銆傚彲鍙傝�冧互涓嬭鐐硅璁¢偦鎺ョ偣銆�
+                    </p>
+                    <p class="content">1锛庡墠鐗欏尯閭绘帴鐐圭殑浣嶇疆搴斿亸鍚戝攪渚э紝瓒婂線杩滀腑浣嶇疆閫愭笎鍋忓悜涓�1/3銆�</p>
+                    <p class="content">2锛庨闈㈣鏃堕偦鎺ョ偣鐨勪綅缃笌绾叼瑢楁洸绾夸竴鑷淬��</p>
+                    <p class="content">3锛庡垏鐗欐帴瑙﹀尯杩戝垏缂樺锛屽垏榫堝緞澶т簬鍞囪垖寰勩��</p>
+                    <p class="content">4锛庡悗鐗欐帴瑙﹀尯杩戰瑢楃紭閮紝杩滀腑绋嶄笅锛岄鑸屽緞澶т簬瓞寳榫堝緞銆�
+                    </p>
+                    <p class="content">5锛庡墠纾ㄧ墮銆佺涓�纾ㄧ墮杩戜腑鎺ヨЕ鍖哄湪瓞寳1/3鍋忛渚с��</p>
 
                 </div>
                 <div class="page-bottom-left">028</div>
@@ -276,35 +288,32 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="content">6锛庣涓�纾ㄧ墮杩滀腑銆佺浜岀(鐗欐帴瑙﹀尯澶氬湪<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />1/3鐨勪腑1/3澶勩��</p>
+                    <p class="content">6锛庣涓�纾ㄧ墮杩滀腑銆佺浜岀(鐗欐帴瑙﹀尯澶氬湪瓞寳1/3鐨勪腑1/3澶勩��</p>
                     <h3 class="thirdTitle">涔濄�佷繚瀛樿璁�</h3>
-                    <p class="content">1锛庡淇浣撹繘琛屾渶鍚庣殑妫�鏌ワ紝鐢ㄨ湣鍒�鐨勬鼎婊戝伐鍏峰皢淇浣撹〃闈㈣繘琛屽厜椤猴紝瀵逛慨澶嶄綋澶栧睍闅欍�佸褰㈤珮鐐广��<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />澶栧睍闅欒繘琛岀粏寰慨鏁达紝纭繚淇浣撲笌澶╃劧鐗�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />缂樹箣闂翠笉褰㈡垚鍙伴樁銆�</p>
+                    <p class="content">1锛庡淇浣撹繘琛屾渶鍚庣殑妫�鏌ワ紝鐢ㄨ湣鍒�鐨勬鼎婊戝伐鍏峰皢淇浣撹〃闈㈣繘琛屽厜椤猴紝瀵逛慨澶嶄綋澶栧睍闅欍�佸褰㈤珮鐐广�侌瑢楀灞曢殭杩涜缁嗗井淇暣锛岀‘淇濅慨澶嶄綋涓庡ぉ鐒剁墮瓞寳缂樹箣闂翠笉褰㈡垚鍙伴樁銆�
+                    </p>
                     <p class="content">2锛庝繚瀛樿璁$粨鏋滄暟鎹紝瀹屾垚CAD璁捐娴佺▼銆�</p>
                     <p class="content">3锛庤蒋浠朵細鍦ㄦ寚瀹氱殑鏂囦欢澶瑰唴鐢熸垚STL鏍煎紡鐨勪慨澶嶄綋鏁版嵁锛岄渶瑕佸皢淇浣撴暟鎹鍒跺苟浼犻�佺粰CAM閮ㄩ棬锛屼互渚胯繘琛屽悗缁箟榻跨殑鐢熶骇鍔犲伐銆�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">鏁板瓧</span><img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" /><span class="bold">鏋�</span></p>
-                    <p class="quotation">鏁板瓧<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋舵槸鍩轰簬铏氭嫙鐜板疄鎶�鏈爺鍙戠殑涓�绉嶈蒋浠跺伐鍏枫�傚叾浠ヤ豢鐪熺殑杞欢鐜鍙栦唬鐪熷疄鐨勬満姊拌缃紝鍒╃敤璁$畻鏈虹殑鏁版嵁涓庡浘鍍忓鐞嗚兘鍔涘湪鏁板瓧鍖栦笁缁寸┖闂翠腑妯℃嫙涓嬮杩愬姩锛岃褰曞苟鍒嗘瀽鍜悎鍏崇郴锛屽彲浠ヨВ鍐虫満姊板紡鍗婂彲璋�<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋舵ā鎷熶笅棰岃繍鍔ㄧ殑闄愬埗銆傚叾妯℃嫙鏈轰綋鐨勫挰鍚堝叧绯荤殑绋嬪害绫讳技浜庡叏鍙皟<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋剁殑绮惧害锛屼絾鏁板瓧<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋剁殑涓村簥浣跨敤姝ラ鏇村姞绠�娲侊紝鍙湁鏁堝噺灏戞鏃佹搷浣滄椂闂淬��</p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="quotation center">
+                            <span class="bold">鏁板瓧</span>瓞寳<span class="bold">鏋�</span>
+                        </p>
+                        <p class="quotation">
+                            鏁板瓧瓞寳鏋舵槸鍩轰簬铏氭嫙鐜板疄鎶�鏈爺鍙戠殑涓�绉嶈蒋浠跺伐鍏枫�傚叾浠ヤ豢鐪熺殑杞欢鐜鍙栦唬鐪熷疄鐨勬満姊拌缃紝鍒╃敤璁$畻鏈虹殑鏁版嵁涓庡浘鍍忓鐞嗚兘鍔涘湪鏁板瓧鍖栦笁缁寸┖闂翠腑妯℃嫙涓嬮杩愬姩锛岃褰曞苟鍒嗘瀽鍜悎鍏崇郴锛屽彲浠ヨВ鍐虫満姊板紡鍗婂彲璋凁瑢楁灦妯℃嫙涓嬮杩愬姩鐨勯檺鍒躲�傚叾妯℃嫙鏈轰綋鐨勫挰鍚堝叧绯荤殑绋嬪害绫讳技浜庡叏鍙皟瓞寳鏋剁殑绮惧害锛屼絾鏁板瓧瓞寳鏋剁殑涓村簥浣跨敤姝ラ鏇村姞绠�娲侊紝鍙湁鏁堝噺灏戞鏃佹搷浣滄椂闂淬��
+                        </p>
+
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鍏ㄥ啝璁捐浠诲姟璇勪环鏍囧噯瑙佽〃2-1-1銆�</p>
-                    <p class="imgtitle">琛�2-1-1銆�鍏ㄥ啝璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0045-09.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�2-1-1銆�鍏ㄥ啝璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0045-09.jpg"
+                            style="width:100%;margin-bottom: -10px;" alt="琛�2-1-1銆�鍏ㄥ啝璁捐浠诲姟璇勪环鏍囧噯" active="true" /></div>
 
                 </div>
                 <div class="page-bottom-right">029</div>
             </div>
         </div>
-
         <!-- Page 36 (鍋舵暟椤�) -->
         <div class="page-box" page="36">
             <div v-if="showPageList.indexOf(36) > -1">
@@ -315,14 +324,25 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟浜屻��宓屼綋璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵鐨勮璁¤鍗曪紝瑕佹眰瀵�16杩涜宓屼綋淇銆傛ā鍨嬫暟鎹凡涓婁紶锛岃繘琛�16宓屼綋璁捐銆�</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庡祵浣撹璁$殑鍏蜂綋姝ラ鏄�庢牱鐨勶紵</p>
-                    <p class="content">2锛庤绫讳慨澶嶄綋璁捐鐨勮鐐规湁鍝簺锛�</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵鐨勮璁¤鍗曪紝瑕佹眰瀵�16杩涜宓屼綋淇銆傛ā鍨嬫暟鎹凡涓婁紶锛岃繘琛�16宓屼綋璁捐銆�</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庡祵浣撹璁$殑鍏蜂綋姝ラ鏄�庢牱鐨勶紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.three" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庤绫讳慨澶嶄綋璁捐鐨勮鐐规湁鍝簺锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.fore" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         宓屼綋锛坕nlay锛夋槸鐢ㄤ慨澶嶆潗鏂欏祵鍏ョ墮浣撳唴閮紝鐢ㄤ互淇鐗欎綋缂烘崯鐨勯儴鍒嗐�傚畠鑳藉鎭㈠鐗欓娇鐨勫姛鑳藉拰褰㈡�併�傞珮宓屼綋锛坥nlay锛夋槸鐢卞祵浣撴紨鍖栬�屾潵锛岄�傚悎澶ч潰绉墮榻垮挰鍚堥潰缂烘崯鐨勬儏鍐点�傚祵浣撴槸涓烘偅鑰呯墮浣撶己鎹熼儴鍒嗛噺韬畾鍋氱殑淇浣擄紝閫氳繃绮樻帴鍓傚皢鍏剁矘鍦ㄧ己鎹熺殑鐗欓娇涓婏紝鍦ㄥ舰鎬併�佺‖搴︾瓑鏂归潰涓庡ぉ鐒剁墮鍚诲悎搴﹁緝楂樸�傝璁¤�呴渶瀵逛箟榻垮舰鎬佸叿鏈夊噯纭妸鎺ц兘鍔涳紝鎵嶈兘鍒朵綔鍑哄悎鏍肩殑宓屼綋銆�
                     </p>
@@ -339,7 +359,6 @@
                 <div class="page-bottom-left">030</div>
             </div>
         </div>
-
         <!-- Page 37 (濂囨暟椤�) -->
         <div class="page-box" page="37">
             <div v-if="showPageList.indexOf(37) > -1">
@@ -352,38 +371,35 @@
                     <p class="content">鍙傝�冩湰椤圭洰浠诲姟涓�鈥滀簲銆侀棿闅欏墏鍙傛暟璁剧疆鈥濄��</p>
                     <h3 class="thirdTitle">鍏�佷慨澶嶄綋褰㈡�佽璁�</h3>
                     <p class="content">鏍规嵁鎮h�呯殑鎯呭喌鍙婂彛鍐呬綑鐣欑墮鐨勬儏鍐碉紝閫夋嫨閫傚悎姝ょ梾渚嬬殑鐗欓娇褰㈡�侊紝涔熷彲澶嶅埗瀵逛晶鍚屽悕鐗欏舰鎬併��</p>
-                    <p class="content">1锛庝娇鐢ㄢ�滈洉鍒烩�濃�滅壍鎷夆�濈瓑鍒朵綔宸ュ叿锛屾牴鎹偦鐗欍�佸棰岀墮鍙婂墿浣欑墮浣撶墮灏栭珮搴︽儏鍐碉紝瀵瑰祵浣撶殑澶у皬銆佸褰€��<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏇茬嚎杩涜璋冩暣锛堝浘2-2-1锛夈��</p>
-                    <p class="content">2锛庡湪鏁板瓧<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋朵笂妫�鏌ヨ璁$殑宓屼綋鏈夋棤<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />骞叉壈銆傚鏈�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />骞叉壈鐨勫尯鍩熻繘琛屽垎鏋愬拰鍘婚櫎锛屼互杈惧埌杩愯椤虹晠鐨勭洰鐨勩��</p>
-                    <div class="bodyPic"><img src="../../assets/images/0047-05.jpg" style="width:30%" alt=""
-                            active="true" /></div>
+                    <p class="content">1锛庝娇鐢ㄢ�滈洉鍒烩�濃�滅壍鎷夆�濈瓑鍒朵綔宸ュ叿锛屾牴鎹偦鐗欍�佸棰岀墮鍙婂墿浣欑墮浣撶墮灏栭珮搴︽儏鍐碉紝瀵瑰祵浣撶殑澶у皬銆佸褰€�侌瑢楁洸绾胯繘琛岃皟鏁达紙鍥�2-2-1锛夈��</p>
+                    <p class="content">2锛庡湪鏁板瓧瓞寳鏋朵笂妫�鏌ヨ璁$殑宓屼綋鏈夋棤瓞寳骞叉壈銆傚鏈夝瑢楀共鎵扮殑鍖哄煙杩涜鍒嗘瀽鍜屽幓闄わ紝浠ヨ揪鍒拌繍琛岄『鐣呯殑鐩殑銆�</p>
                     <p class="content">3锛庢牴鎹�15閭绘帴鐨勪綅缃強澶у皬瀵硅璁$殑16宓屼綋杩戜腑閭绘帴杩涜璋冩暣锛岄�氬父鍋氭垚灏忛潰寮忔垨闈㈠紡鐨勬帴瑙﹀舰寮忋��</p>
                     <p class="content">淇濆瓨璁捐缁撴灉锛屽畬鎴怌AD璁捐娴佺▼銆傚璁捐濂界殑鏁版嵁杩涜杈撳嚭銆�</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0047-06.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-2-1銆�淇浣撳舰鎬佽皟鏁�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0047-06.jpg" style="width:70%" alt="鍥�2-2-1銆�淇浣撳舰鎬佽皟鏁�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-2-1銆�淇浣撳舰鎬佽皟鏁�</p>
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">楂樺祵浣撲慨澶嶆潗鏂欎笌绮樻帴鎶�鏈�</span></p>
-                    <p class="quotation">
-                        楂樺祵浣撲慨澶嶆潗鏂欎富瑕佹湁4绉嶏紝鍒嗗埆涓烘爲鑴傘�佸叏鐡枫�侀噾灞炲拰浜屾哀鍖栭攩銆傚叾涓紝閲戝睘鍏锋湁寰堝ソ鐨勫己搴︺�佹墦纾ㄦ柟渚跨瓑浼樺娍锛屽睘浜庨珮宓屼綋鏉愭枡鐨勯閫夈�備絾鏄噾灞炰篃鏈夌己闄凤紝姣斿绮樻帴鎬ц兘杈冨樊锛屾墍浠ュ鍏跺浐浣嶈姹傝緝楂橈紱涓轰簡澧炲己鍏跺浐瀹氭�ц兘锛屼細灏嗗仴搴风墮榻挎墦纾ㄥ緱鏇村銆傚綋鍓嶄汉浠笉鏂拷姹傜墮榻跨編瑙傜▼搴︼紝浣嗙敱浜庨噾灞為鑹蹭笌鐗欓娇瀛樺湪杈冨ぇ鐨勫尯鍒紝鎵�浠ラ噾灞炴潗鏂欑殑缇庡鎬ц兘杈冨樊銆傜閰搁攤闄剁摲鏄叏鐡蜂腑甯哥敤鍒扮殑纭呭熀闄剁摲銆傚叿鏈夊緢濂界殑绮樻帴鎬ц兘鍜岃緝濂界殑缇庤鎬ц兘锛岃繎骞存潵瓒婃潵瓒婂鍦板簲鐢ㄤ簬鍚庣墮鐗欎綋缂烘崯娌荤枟銆傜劧鑰岀閰搁攤闄剁摲灞炰簬涓�绉嶈剢鎬ф潗鏂欙紝鍏跺集鏇插己搴︽瘮閲戝睘浣庡緢澶氾紝鎵�浠ョ敤浣滅墮榻夸慨澶嶆潗鏂欎細瀛樺湪涓�瀹氱殑涓嶈冻锛屾湁蹇呰瀵瑰叾杩涜淇鏁堟灉鐮旂┒銆�
-                    </p>
-                    <p class="quotation">
-                        楂樺祵浣撶矘鎺ュ墠闇�杩涜琛ㄩ潰澶勭悊锛屽父瑙佺殑澶勭悊鏂瑰紡鍒�2绉嶁�斺�旀満姊版硶涓庡寲瀛︽硶銆備絾浠庡鐞嗘柟娉曠殑鎬讳綋鐪嬶紝鍒昏殌銆佸柗鐮傚拰浣跨敤纭呯兎鍋惰仈鍓傛槸姣旇緝甯哥敤鐨勬柟娉曘�備絾浠庝复搴婃晥鏋滅湅锛岄吀铓�涓庣鐑峰伓鑱斿墏鑱斿悎浣跨敤鍏锋湁鏇村姞鑹ソ鐨勮〃鐜般�傞吀铓�鎵�浣跨敤鐨勪富瑕佽瘯鍓傛湁姘熷寲姘㈤摰鍜屾阿姘熼吀婧舵恫锛屽叾鍙互閫夋嫨鎬у湴婧惰В楂樺祵浣撴潗鏂欎腑鐨勫熀璐紝鏆撮湶鍏跺熀鏈粨鏋勶紝鍥犳鍙互浣垮緱楂樺祵浣撴潗鏂欑殑琛ㄩ潰鏇村姞绮楃硻銆傜矖鍖栭珮宓屼綋鏉愭枡鍚庯紝浣跨敤纭呯兎鍋惰仈鍓傚彲浠ヤ娇寰椾慨澶嶄綋涓庨澶囦綋鐨勮繛鎺ュ褰㈡垚姘㈤敭涓庡叡浠烽敭锛屾彁楂樹簡鍖栧绮樻帴鍔涳紝鏁呭叾绮樻帴寮哄害涔熷緱鍒版彁楂樸��
-                    </p>
-                    <p class="quotation">
-                        鍚屾椂楂樺祵浣撴潗鏂欑殑琛ㄩ潰娓呮磥绋嬪害涔熶細褰卞搷绮樻帴寮哄害锛岄珮宓屼綋鏉愭枡缁忚繃澶勭悊鍚庯紝鍏惰〃闈㈢矘鎺ヨ兘鍔涙彁鍗囷紝浣嗕篃鏇存槗琚薄鏌撱�傚湪淇杩囩▼涓紝鎮h�呭斁娑蹭腑鐨勮泲鐧借川銆侀叾銆佺粏鑿屽強鍚勭鐢佃В璐ㄧ瓑浼氭敼鍙橀珮宓屼綋鏉愭枡鐨勮〃闈㈣嚜鐢辫兘锛屼笖鍙兘褰卞搷绮樻帴鍓傜殑鎬ц兘锛屽洜姝ゅ湪淇杩囩▼涓鍑虹幇姹℃煋锛屽垯搴斾娇鐢ㄦ纾烽吀婧舵恫娓呮礂鎴栧啀娆′娇鐢ㄦ阿姘熼吀杩涜閰歌殌銆傜粡杩囧鐞嗕箣鍚庯紝楂樺祵浣撴潗鏂欓渶瑕侀�氳繃绮樻帴鍓備笌棰勫浣撶粨鍚堬紝缁忓鐣屽娆$爺绌惰璁哄悗寰楀嚭鐨勭粨璁鸿〃鏄庯紝鏍戣剛绫荤矘鎺ュ墏琛ㄧ幇鏁堟灉杩滆繙浼樹簬鍏朵粬绫诲瀷鐨勭矘鎺ュ墏锛屼絾涓嶅悓鐨勯珮宓屼綋鏉愭枡閫傜敤涓嶅悓鐨勬爲鑴傜被绮樻帴鍓傘��
-                    </p>
-
+                    <bookVideo :videoInfo="getResourceInfo('D5')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">楂樺祵浣撲慨澶嶆潗鏂欎笌绮樻帴鎶�鏈�</span></p>
+                        <p class="quotation">
+                            楂樺祵浣撲慨澶嶆潗鏂欎富瑕佹湁4绉嶏紝鍒嗗埆涓烘爲鑴傘�佸叏鐡枫�侀噾灞炲拰浜屾哀鍖栭攩銆傚叾涓紝閲戝睘鍏锋湁寰堝ソ鐨勫己搴︺�佹墦纾ㄦ柟渚跨瓑浼樺娍锛屽睘浜庨珮宓屼綋鏉愭枡鐨勯閫夈�備絾鏄噾灞炰篃鏈夌己闄凤紝姣斿绮樻帴鎬ц兘杈冨樊锛屾墍浠ュ鍏跺浐浣嶈姹傝緝楂橈紱涓轰簡澧炲己鍏跺浐瀹氭�ц兘锛屼細灏嗗仴搴风墮榻挎墦纾ㄥ緱鏇村銆傚綋鍓嶄汉浠笉鏂拷姹傜墮榻跨編瑙傜▼搴︼紝浣嗙敱浜庨噾灞為鑹蹭笌鐗欓娇瀛樺湪杈冨ぇ鐨勫尯鍒紝鎵�浠ラ噾灞炴潗鏂欑殑缇庡鎬ц兘杈冨樊銆傜閰搁攤闄剁摲鏄叏鐡蜂腑甯哥敤鍒扮殑纭呭熀闄剁摲銆傚叿鏈夊緢濂界殑绮樻帴鎬ц兘鍜岃緝濂界殑缇庤鎬ц兘锛岃繎骞存潵瓒婃潵瓒婂鍦板簲鐢ㄤ簬鍚庣墮鐗欎綋缂烘崯娌荤枟銆傜劧鑰岀閰搁攤闄剁摲灞炰簬涓�绉嶈剢鎬ф潗鏂欙紝鍏跺集鏇插己搴︽瘮閲戝睘浣庡緢澶氾紝鎵�浠ョ敤浣滅墮榻夸慨澶嶆潗鏂欎細瀛樺湪涓�瀹氱殑涓嶈冻锛屾湁蹇呰瀵瑰叾杩涜淇鏁堟灉鐮旂┒銆�
+                        </p>
+                        <p class="quotation">
+                            楂樺祵浣撶矘鎺ュ墠闇�杩涜琛ㄩ潰澶勭悊锛屽父瑙佺殑澶勭悊鏂瑰紡鍒�2绉嶁�斺�旀満姊版硶涓庡寲瀛︽硶銆備絾浠庡鐞嗘柟娉曠殑鎬讳綋鐪嬶紝鍒昏殌銆佸柗鐮傚拰浣跨敤纭呯兎鍋惰仈鍓傛槸姣旇緝甯哥敤鐨勬柟娉曘�備絾浠庝复搴婃晥鏋滅湅锛岄吀铓�涓庣鐑峰伓鑱斿墏鑱斿悎浣跨敤鍏锋湁鏇村姞鑹ソ鐨勮〃鐜般�傞吀铓�鎵�浣跨敤鐨勪富瑕佽瘯鍓傛湁姘熷寲姘㈤摰鍜屾阿姘熼吀婧舵恫锛屽叾鍙互閫夋嫨鎬у湴婧惰В楂樺祵浣撴潗鏂欎腑鐨勫熀璐紝鏆撮湶鍏跺熀鏈粨鏋勶紝鍥犳鍙互浣垮緱楂樺祵浣撴潗鏂欑殑琛ㄩ潰鏇村姞绮楃硻銆傜矖鍖栭珮宓屼綋鏉愭枡鍚庯紝浣跨敤纭呯兎鍋惰仈鍓傚彲浠ヤ娇寰椾慨澶嶄綋涓庨澶囦綋鐨勮繛鎺ュ褰㈡垚姘㈤敭涓庡叡浠烽敭锛屾彁楂樹簡鍖栧绮樻帴鍔涳紝鏁呭叾绮樻帴寮哄害涔熷緱鍒版彁楂樸��
+                        </p>
+                        <p class="quotation">
+                            鍚屾椂楂樺祵浣撴潗鏂欑殑琛ㄩ潰娓呮磥绋嬪害涔熶細褰卞搷绮樻帴寮哄害锛岄珮宓屼綋鏉愭枡缁忚繃澶勭悊鍚庯紝鍏惰〃闈㈢矘鎺ヨ兘鍔涙彁鍗囷紝浣嗕篃鏇存槗琚薄鏌撱�傚湪淇杩囩▼涓紝鎮h�呭斁娑蹭腑鐨勮泲鐧借川銆侀叾銆佺粏鑿屽強鍚勭鐢佃В璐ㄧ瓑浼氭敼鍙橀珮宓屼綋鏉愭枡鐨勮〃闈㈣嚜鐢辫兘锛屼笖鍙兘褰卞搷绮樻帴鍓傜殑鎬ц兘锛屽洜姝ゅ湪淇杩囩▼涓鍑虹幇姹℃煋锛屽垯搴斾娇鐢ㄦ纾烽吀婧舵恫娓呮礂鎴栧啀娆′娇鐢ㄦ阿姘熼吀杩涜閰歌殌銆傜粡杩囧鐞嗕箣鍚庯紝楂樺祵浣撴潗鏂欓渶瑕侀�氳繃绮樻帴鍓備笌棰勫浣撶粨鍚堬紝缁忓鐣屽娆$爺绌惰璁哄悗寰楀嚭鐨勭粨璁鸿〃鏄庯紝鏍戣剛绫荤矘鎺ュ墏琛ㄧ幇鏁堟灉杩滆繙浼樹簬鍏朵粬绫诲瀷鐨勭矘鎺ュ墏锛屼絾涓嶅悓鐨勯珮宓屼綋鏉愭枡閫傜敤涓嶅悓鐨勬爲鑴傜被绮樻帴鍓傘��
+                        </p>
+                    </div>
                 </div>
+
+
                 <div class="page-bottom-right">031</div>
             </div>
         </div>
-
         <!-- Page 38 (鍋舵暟椤�) -->
         <div class="page-box" page="38">
             <div v-if="showPageList.indexOf(38) > -1">
@@ -393,18 +409,15 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">宓屼綋璁捐浠诲姟璇勪环鏍囧噯瑙佽〃2-2-1銆�</p>
-                    <p class="imgtitle">琛�2-2-1銆�宓屼綋璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0048-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-
-
+                    <p class="imgtitle imgdescript-b">琛�2-2-1銆�宓屼綋璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0048-01.jpg" style="width:100%"
+                            alt="琛�2-2-1銆�宓屼綋璁捐浠诲姟璇勪环鏍囧噯" active="true" /></div>
                 </div>
                 <div class="page-bottom-left">032</div>
             </div>
         </div>
-
         <!-- Page 39 (濂囨暟椤�) -->
         <div class="page-box" page="39">
             <div v-if="showPageList.indexOf(39) > -1">
@@ -414,40 +427,43 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟涓夈��鍥哄畾妗ヨ璁�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵涓や釜璁捐璁㈠崟銆�</p>
-                    <p class="content">璁㈠崟涓�锛�25缂哄け锛岃姹備互24銆�26涓哄熀鐗欙紝鍋氳В鍓栧紡鍥哄畾妗ャ��</p>
-                    <p class="content">璁㈠崟浜岋細11銆�21缂哄け锛屼互13銆�12銆�22銆�23涓哄熀鐗欏埗浣滅儰鐡峰熀搴曟ˉ銆�</p>
-                    <p class="content">妯″瀷鏁版嵁宸蹭笂浼犮��</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">瑙e墫寮忓浐瀹氭ˉ璁捐鍜屽熀搴曟ˉ璁捐鐨勫叿浣撴搷浣滃尯鍒槸浠�涔堬紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
-                    <div class="bodyPic"><img src="../../assets/images/0049-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵涓や釜璁捐璁㈠崟銆�</p>
+                            <p class="content">璁㈠崟涓�锛�25缂哄け锛岃姹備互24銆�26涓哄熀鐗欙紝鍋氳В鍓栧紡鍥哄畾妗ャ��</p>
+                            <p class="content">璁㈠崟浜岋細11銆�21缂哄け锛屼互13銆�12銆�22銆�23涓哄熀鐗欏埗浣滅儰鐡峰熀搴曟ˉ銆�</p>
+                            <p class="content">妯″瀷鏁版嵁宸蹭笂浼犮��</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">瑙e墫寮忓浐瀹氭ˉ璁捐鍜屽熀搴曟ˉ璁捐鐨勫叿浣撴搷浣滃尯鍒槸浠�涔堬紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.five" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <bookVideo :videoInfo="getResourceInfo('D3')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <bookVideo :videoInfo="getResourceInfo('D4')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">鍥哄畾妗ヨ璁℃牴鎹叾鍒朵綔鍘熺悊涓嶅悓涓昏鍒嗕负瑙e墫鍥哄畾妗ヨ璁″拰鍩哄簳妗ヨ璁°��</p>
                     <h3 class="thirdTitle">涓�銆佽В鍓栧浐瀹氭ˉ璁捐</h3>
-                    <div class="bodyPic"><img src="../../assets/images/0049-02.jpg" style="width:30%" alt=""
-                            active="true" /></div>
                     <p class="content">浠�3鍗曚綅鍥哄畾妗ヤ慨澶嶄负渚嬶紝浠嬬粛瑙e墫妗ヨ璁″伐鑹烘祦绋嬨��</p>
                     <p class="content">
                         姝ょ梾渚�25缂哄け锛屼互24銆�26涓哄熀鐗欙紝璁捐瑙e墫寮忓浐瀹氭ˉ銆傝鍗曡缃涓嬶細25鐗欎綅閫夋嫨鐗欏啝妗ヤ綋锛�24銆�26鐗欎綅閫夋嫨瑙e墫鐗欏啝锛屾牴鎹尰鐢熸彁渚涚殑璁捐鍗曢�夋嫨鏉愭枡锛屽苟鐢ㄨ繛鎺ユ潌灏�24銆�25銆�26鐗欎綅杩炰负涓�涓暣浣撱��
                     </p>
-                    <p class="poemtitle-l">锛堜竴锛夋壂鎻忔垨瀵煎叆鏁版嵁</p>
+                    <p class="poemtitle-l kTitle">锛堜竴锛夋壂鎻忔垨瀵煎叆鏁版嵁</p>
                     <p class="content">鏍规嵁鎶�宸ュ崟淇℃伅寤虹珛璁㈠崟锛岄�夋嫨鈥滃鍏ユ壂鎻忔暟鎹�濓紝鎸夌収杞欢鎻愮ず鐨勯『搴忓垎鍒�夋嫨宸ヤ綔妯″瀷鍜屽棰屾ā鍨嬫壂鎻忔暟鎹��</p>
-                    <p class="poemtitle-l">锛堜簩锛夌‘瀹氶缂樼嚎</p>
+                    <p class="poemtitle-l kTitle">锛堜簩锛夌‘瀹氶缂樼嚎</p>
                     <p class="content">鍒嗗埆淇敼澶氶鍩虹墮鐨勯缂樼嚎褰㈡�侊紝鏂规硶鍚屽崟鍐犱慨澶嶉儴鍒嗐��</p>
-                    <p class="poemtitle-l">锛堜笁锛夌‘瀹氬叡鍚屽氨浣嶉亾鏂瑰悜</p>
+                    <p class="poemtitle-l kTitle">锛堜笁锛夌‘瀹氬叡鍚屽氨浣嶉亾鏂瑰悜</p>
                     <p class="content">
                         鍦ㄨ璁¤蒋浠朵腑锛屾寜鍗曞啝璁捐鏂规硶渚濇瀹氫箟24鍩虹墮鍜�26鍩虹墮鐨勮竟缂樿寖鍥达紝杞欢鍙嚜鍔ㄧ敓鎴�24鈥�26鐨勫叡鍚屽氨浣嶉亾鏂瑰悜锛屽綋鐢熸垚鐨勫氨浣嶉亾涓嶇悊鎯虫椂鍙互鏍℃銆備篃鍙洿鎺ラ�夋嫨鎵嬬粯銆傛渶鍚庝粠鍜悎闈刊瑙嗚瀵燂紝浠ョ湅鍒版墍鏈夊熀鐗欒竟缂樼嚎涓婄殑缁跨偣涓轰匠锛堝浘2-3-1锛夈��
                     </p>
-
                 </div>
                 <div class="page-bottom-right">033</div>
             </div>
         </div>
-
         <!-- Page 40 (鍋舵暟椤�) -->
         <div class="page-box" page="40">
             <div v-if="showPageList.indexOf(40) > -1">
@@ -457,26 +473,27 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0050-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-3-1銆�妫�鏌ュ叡鍚屽氨浣嶉亾鏂瑰悜</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0050-01.jpg" style="width:60%" alt="鍥�2-3-1銆�妫�鏌ュ叡鍚屽氨浣嶉亾鏂瑰悜"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-3-1銆�妫�鏌ュ叡鍚屽氨浣嶉亾鏂瑰悜</p>
                     </div>
-                    <p class="poemtitle-l">锛堝洓锛夐棿闅欏墏鍙傛暟璁剧疆</p>
+                    <p class="poemtitle-l kTitle">锛堝洓锛夐棿闅欏墏鍙傛暟璁剧疆</p>
                     <p class="content">鐢变簬鍥哄畾妗ョ殑灏变綅杈冨崟鍐犲洶闅撅紝鎵�浠ラ棿闅欏墏鍘氬害鍙瘮鍗曞啝鐨勭◢鍘氾紝鍏朵綑鍙傛暟璁剧疆鍙傝�冨叏鍐犺璁¢儴鍒嗭紝闇�鍒嗗埆璁剧疆鍚勫熀鐗欏弬鏁板苟杩涜杈圭紭鍜屽�掑嚬鐨勬鏌ャ��</p>
-                    <p class="poemtitle-l">锛堜簲锛変慨澶嶄綋褰㈡�佽璁�</p>
+                    <p class="poemtitle-l kTitle">锛堜簲锛変慨澶嶄綋褰㈡�佽璁�</p>
                     <p class="content"><span
-                            class="bold">1锛庣墮鍐犳暣浣撴帓鍒楄璁�</span>銆�闂撮殭鍓傝缃畬鎴愬悗锛屾牴鎹偅鑰呬俊鎭強閭荤墮鐘跺喌锛屼粠鐗欓娇褰㈡�佸簱涓�夋嫨瑙e墫鐗欏啝璋冨叆鐗欏垪鐩稿簲閮ㄤ綅銆傜劧鍚庤繘琛岀墮榻夸綅缃帓鍒楋紝閫氳繃绉诲姩銆佹棆杞�佺缉鏀惧皢鍥哄畾妗ョ殑澶氫釜鐗欏啝璋冩暣锛屼娇鍏朵笌閭荤墮銆佸棰岀墮鐨勫ぇ灏忓拰浣嶇疆鍗忚皟锛堝浘2-3-2锛夈�傜偣鍑烩�滀笅涓�姝モ�濆嵆鍙敓鎴愮墮鍐狅紝灏嗕慨澶嶄綋杈圭紭涓庝唬鍨嬮缂樼嚎瀵嗚创杩炴帴锛岃繘鍏ヨ嚜鐢遍�犲瀷闃舵銆�
+                            class="bold fontGreen">1锛庣墮鍐犳暣浣撴帓鍒楄璁�</span>銆�闂撮殭鍓傝缃畬鎴愬悗锛屾牴鎹偅鑰呬俊鎭強閭荤墮鐘跺喌锛屼粠鐗欓娇褰㈡�佸簱涓�夋嫨瑙e墫鐗欏啝璋冨叆鐗欏垪鐩稿簲閮ㄤ綅銆傜劧鍚庤繘琛岀墮榻夸綅缃帓鍒楋紝閫氳繃绉诲姩銆佹棆杞�佺缉鏀惧皢鍥哄畾妗ョ殑澶氫釜鐗欏啝璋冩暣锛屼娇鍏朵笌閭荤墮銆佸棰岀墮鐨勫ぇ灏忓拰浣嶇疆鍗忚皟锛堝浘2-3-2锛夈�傜偣鍑烩�滀笅涓�姝モ�濆嵆鍙敓鎴愮墮鍐狅紝灏嗕慨澶嶄綋杈圭紭涓庝唬鍨嬮缂樼嚎瀵嗚创杩炴帴锛岃繘鍏ヨ嚜鐢遍�犲瀷闃舵銆�
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庣墮浣撳舰鎬佽璁�</span>銆�浣跨敤鍗曞啝璁捐閮ㄥ垎浠嬬粛鐨勨�滆嚜鐢遍�犲瀷鈥濓紝瀵圭墮鍐犲舰鎬佽繘琛岃皟鏁淬�備娇鐢ㄢ�滆В鍓栧舰鎬佲�濊皟鏁翠慨澶嶄綋鐨勫ぇ灏忋�侀暱鐭�佺獊搴︼紝浣垮叾涓庨偦鐗欍�佸棰岀墮鍗忚皟锛屽缓绔嬫甯哥殑瑕�<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />銆佽鐩栧叧绯伙紝鍙皟鏁撮潤鎬佸挰鍚堝垏闄ゅ挰鍚堥珮鐐癸紝杩樺彲鍊熷姪鈥滆櫄鎷熻湣鍒�鈥濆厜婊戝挰鍚堥潰骞惰幏寰楁弧鎰忕殑澶栧舰锛堝浘2-3-3锛夈��</p>
-                    <p class="content"><span
-                            class="bold">3锛庢ˉ浣撳舰鎬佽璁�</span>銆�璁捐妗ヤ綋鏃跺彲鍏堟妸鐗欏啝搴曢儴鎷夊埌鐗欓緢锛屽垏闄ゅ簳閮ㄦ暟鍊间负0锛屼娇妗ヤ綋涓庣墮妲藉荡璐村悎锛屽啀浣跨敤铏氭嫙铚″垁鎴栫壍鎷夊伐鍏疯繘琛屽舰鎬佷慨鏁达紝鏈�鍚庝娇妗ヤ綋缁勭粐闈笌鐗欐Ы宓磋交寰帴瑙︼紙鍥�2-3-4锛夈��
+                            class="bold fontGreen">2锛庣墮浣撳舰鎬佽璁�</span>銆�浣跨敤鍗曞啝璁捐閮ㄥ垎浠嬬粛鐨勨�滆嚜鐢遍�犲瀷鈥濓紝瀵圭墮鍐犲舰鎬佽繘琛岃皟鏁淬�備娇鐢ㄢ�滆В鍓栧舰鎬佲�濊皟鏁翠慨澶嶄綋鐨勫ぇ灏忋�侀暱鐭�佺獊搴︼紝浣垮叾涓庨偦鐗欍�佸棰岀墮鍗忚皟锛屽缓绔嬫甯哥殑瑕嗮瑢椼�佽鐩栧叧绯伙紝鍙皟鏁撮潤鎬佸挰鍚堝垏闄ゅ挰鍚堥珮鐐癸紝杩樺彲鍊熷姪鈥滆櫄鎷熻湣鍒�鈥濆厜婊戝挰鍚堥潰骞惰幏寰楁弧鎰忕殑澶栧舰锛堝浘2-3-3锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0050-03.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-3-2銆�鎺掑垪鐗欓娇浣嶇疆</p>
+                    <p class="content"><span
+                            class="bold fontGreen">3锛庢ˉ浣撳舰鎬佽璁�</span>銆�璁捐妗ヤ綋鏃跺彲鍏堟妸鐗欏啝搴曢儴鎷夊埌鐗欓緢锛屽垏闄ゅ簳閮ㄦ暟鍊间负0锛屼娇妗ヤ綋涓庣墮妲藉荡璐村悎锛屽啀浣跨敤铏氭嫙铚″垁鎴栫壍鎷夊伐鍏疯繘琛屽舰鎬佷慨鏁达紝鏈�鍚庝娇妗ヤ綋缁勭粐闈笌鐗欐Ы宓磋交寰帴瑙︼紙鍥�2-3-4锛夈��
+                    </p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0050-03.jpg" style="width:60%" alt="鍥�2-3-2銆�鎺掑垪鐗欓娇浣嶇疆"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-3-2銆�鎺掑垪鐗欓娇浣嶇疆</p>
                     </div>
 
                 </div>
@@ -492,27 +509,27 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0051-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-3-3銆�鍒囬櫎鍜悎楂樼偣</p>
+                    <div class="qrbodyPic openImgBox" style="margin-bottom: 25px;">
+                        <img src="../../assets/images/0051-01.jpg" style="width:60%" alt="鍥�2-3-3銆�鍒囬櫎鍜悎楂樼偣"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-3-3銆�鍒囬櫎鍜悎楂樼偣</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0051-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-3-4銆�妗ヤ綋缁勭粐闈笌鐗欐Ы宓磋交寰帴瑙�</p>
+                    <div class="qrbodyPic openImgBox" style="margin-bottom: 25px;">
+                        <img src="../../assets/images/0051-02.jpg" style="width:60%" alt="鍥�2-3-4銆�妗ヤ綋缁勭粐闈笌鐗欐Ы宓磋交寰帴瑙�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-3-4銆�妗ヤ綋缁勭粐闈笌鐗欐Ы宓磋交寰帴瑙�</p>
                     </div>
                     <p class="content">
                         璁捐妗ヤ綋鏃堕渶瑕佹敞鎰忓噺寰勶紝涓�涓ˉ浣撴椂鍑忎负鍒朵綔淇浣撳ぇ灏忕殑90%锛屼袱涓ˉ浣撴椂鍑忎负鍒朵綔淇浣撳ぇ灏忕殑75%锛屼笁涓ˉ浣撴椂鍑忎负鍒朵綔淇浣撳ぇ灏忕殑50%銆傚湪瀹為檯宸ヤ綔涓紝妗ヤ綋鍏蜂綋鍑忓緞閲忎篃瑕佹敞鎰忛伒鐓у尰鐢熷拰鎮h�呯殑瑕佹眰銆�
                     </p>
-                    <p class="content"><span class="bold">4锛庣粏鑺備慨鏁村拰澶栧舰鍏夐『</span>銆�浣跨敤铚″垁宸ュ叿瀵逛慨澶嶄綋鐨勫褰㈤珮鐐广�佺獫娌熴�佺墮灏栫瓑缁嗚妭缁撴瀯杩涜绮剧粏淇暣锛屽苟杩涜鏁翠綋鍏夐『銆�
+                    <p class="content"><span
+                            class="bold fontGreen">4锛庣粏鑺備慨鏁村拰澶栧舰鍏夐『</span>銆�浣跨敤铚″垁宸ュ叿瀵逛慨澶嶄綋鐨勫褰㈤珮鐐广�佺獫娌熴�佺墮灏栫瓑缁嗚妭缁撴瀯杩涜绮剧粏淇暣锛屽苟杩涜鏁翠綋鍏夐『銆�
                     </p>
-                    <p class="poemtitle-l">锛堝叚锛変慨澶嶄綋鍜悎鎺ヨЕ璁捐</p>
+                    <p class="poemtitle-l kTitle">锛堝叚锛変慨澶嶄綋鍜悎鎺ヨЕ璁捐</p>
                     <p class="content">涓夊崟浣嶅浐瀹氭ˉ鍜悎鎺ヨЕ璁捐姝ラ濡備笅銆�</p>
                     <p class="content">1锛庢牴鎹乏渚т笂棰岀涓�鍓嶇(鐗欍�佺浜屽墠纾ㄧ墮銆佺涓�纾ㄧ墮瀵归鐨勪富鍔ㄤ腑浣嶈瀹氬挰鍚堟帴瑙︾偣锛岀洿鑷崇墮灏栦氦閿欎綅鏃朵笌瀵归鐗欏彂鐢熸帴瑙﹁揪鍒癆銆丅銆丆涓夌偣鎺ヨЕ銆�</p>
-                    <p class="content">2锛庡湪鏁板瓧<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋朵腑妫�鏌ヨ繍鍔ㄧ姸鎬佷笅鐨�<img class="s-pic" src="../../assets/images/0026_02.png" alt="" />鍏崇郴銆�</p>
-                    <p class="content">3锛庢鏌ユ渶缁堢殑鍜悎鎯呭喌锛岃揪鍒扮墮灏栦氦閿�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏃舵棤鏃╂帴瑙︼紝鍓嶄几<img class="s-pic" src="../../assets/images/0026_02.png" alt="" />銆佷晶鏂�<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鏃舵棤骞叉壈锛屽叿浣撴楠ゅ涓嬨��</p>
+                    <p class="content">2锛庡湪鏁板瓧瓞寳鏋朵腑妫�鏌ヨ繍鍔ㄧ姸鎬佷笅鐨勷瑢楀叧绯汇��</p>
+                    <p class="content">3锛庢鏌ユ渶缁堢殑鍜悎鎯呭喌锛岃揪鍒扮墮灏栦氦閿欚瑢楁椂鏃犳棭鎺ヨЕ锛屽墠浼葛瑢椼�佷晶鏂桂瑢楁椂鏃犲共鎵帮紝鍏蜂綋姝ラ濡備笅銆�</p>
                     <p class="content">锛�1锛夎瀵熶笂銆佷笅棰屾ā鍨嬬殑瀵逛綅鍏崇郴鍜屽挰鍚堢被鍨嬨��</p>
 
                 </div>
@@ -529,32 +546,26 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="content">锛�2锛夊埄鐢ㄨ蒋浠朵腑鐨勪慨鏀瑰伐鍏凤紝璋冩暣鐗欏啝鐨勮<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />銆佽鐩栧叧绯汇��</p>
-                    <p class="content">锛�3锛夊皢鏁板瓧妯″瀷鏀剧疆鐭㈢姸闈㈣瀵燂紝鏍规嵁鍓嶅悗鐗欏強瀵归妯″瀷锛屽皢鐢熸垚鐗欏啝鐨勭旱<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏇茬嚎璋冩敼鑷虫甯搞��</p>
-                    <p class="content">锛�4锛夊皢鏁板瓧妯″瀷鏀剧疆鍐犵姸闈㈣瀵燂紝瑙傚療妯�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏇茬嚎鐨勪綅缃槸鍚︽纭紝骞惰繘琛屼慨鏀广��</p>
-                    <p class="content">锛�5锛変粠<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈣瀵熸暟瀛楁ā鍨嬶紝瑙傚療淇浣撲笌閭荤墮鏄惁鍗忚皟銆佷笌瀵逛晶鍚屽悕鐗欏ぇ灏忋�佸舰鎬佹槸鍚︿竴鑷达紝瑙傚療妯�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏇茬嚎涓庣旱<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏇茬嚎锛屽苟杩涜淇敼銆�</p>
+                    <p class="content">锛�2锛夊埄鐢ㄨ蒋浠朵腑鐨勪慨鏀瑰伐鍏凤紝璋冩暣鐗欏啝鐨勮瓞寳銆佽鐩栧叧绯汇��</p>
+                    <p class="content">锛�3锛夊皢鏁板瓧妯″瀷鏀剧疆鐭㈢姸闈㈣瀵燂紝鏍规嵁鍓嶅悗鐗欏強瀵归妯″瀷锛屽皢鐢熸垚鐗欏啝鐨勭旱瓞寳鏇茬嚎璋冩敼鑷虫甯搞��</p>
+                    <p class="content">锛�4锛夊皢鏁板瓧妯″瀷鏀剧疆鍐犵姸闈㈣瀵燂紝瑙傚療妯瑢楁洸绾跨殑浣嶇疆鏄惁姝g‘锛屽苟杩涜淇敼銆�</p>
+                    <p class="content">锛�5锛変粠瓞寳闈㈣瀵熸暟瀛楁ā鍨嬶紝瑙傚療淇浣撲笌閭荤墮鏄惁鍗忚皟銆佷笌瀵逛晶鍚屽悕鐗欏ぇ灏忋�佸舰鎬佹槸鍚︿竴鑷达紝瑙傚療妯瑢楁洸绾夸笌绾叼瑢楁洸绾匡紝骞惰繘琛屼慨鏀广��</p>
                     <p class="content">4锛庡挰鍚堢偣浣嶇疆鍙婃暟閲忕殑璁捐锛屽弬鑰冨崟鍐犺璁¢儴鍒嗐��</p>
-                    <p class="poemtitle-l">锛堜竷锛夐偦鎺ュ尯浣嶇疆璁捐</p>
-                    <p class="content">鍙傝�冨崟鍐犺璁¢儴鍒嗐��24鐨勯偦鎺ュ尯璁捐鍦�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />1/3鍋忛渚э紝26鐨勯偦鎺ュ尯璁捐鍦�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />1/3鐨勪腑1/3澶勶紙鍥�2-3-5锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0052-09.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-3-5銆�閭绘帴鍖轰綅缃璁�</p>
+                    <p class="poemtitle-l kTitle">锛堜竷锛夐偦鎺ュ尯浣嶇疆璁捐</p>
+                    <p class="content">鍙傝�冨崟鍐犺璁¢儴鍒嗐��24鐨勯偦鎺ュ尯璁捐鍦瑢�1/3鍋忛渚э紝26鐨勯偦鎺ュ尯璁捐鍦瑢�1/3鐨勪腑1/3澶勶紙鍥�2-3-5锛夈��</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0052-09.jpg" style="width:50%" alt="鍥�2-3-5銆�閭绘帴鍖轰綅缃璁�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-3-5銆�閭绘帴鍖轰綅缃璁�</p>
                     </div>
-                    <p class="poemtitle-l">锛堝叓锛夎繛鎺ヤ綋璁捐</p>
+                    <p class="poemtitle-l kTitle">锛堝叓锛夎繛鎺ヤ綋璁捐</p>
                     <p class="content">
                         鐐瑰嚮鈥滀笅涓�姝モ�濓紝寮�濮嬭璁¤繛鎺ヤ綋銆傞�夋嫨杩炴帴浣撻潰绉ぇ灏忋�傞�氳繃璋冩暣鐗欏啝閭婚潰涓婄殑杈呭姪鍜屼腑蹇冪偣锛屽彲璋冩暣杩炴帴浣撶殑浣嶇疆銆佸舰鎬佸強闈㈢Н澶у皬锛堝浘2-3-6锛夈�傚簲鏍规嵁瀹為檯鎯呭喌閫傚綋澧炲姞榛樿杩炴帴浣撶殑鎴潰绉紝浠ヤ繚璇佸浐瀹氭ˉ鐨勭粨鏋勫己搴︺��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0052-10.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-3-6銆�杩炴帴浣撳舰鎬佽皟鏁�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0052-10.jpg" style="width:50%" alt="鍥�2-3-6銆�杩炴帴浣撳舰鎬佽皟鏁�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-3-6銆�杩炴帴浣撳舰鎬佽皟鏁�</p>
                     </div>
 
                 </div>
@@ -570,28 +581,27 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="poemtitle-l">锛堜節锛夌粍浠惰瀺鍚�</p>
+                    <p class="poemtitle-l kTitle">锛堜節锛夌粍浠惰瀺鍚�</p>
                     <p class="content">杩炴帴浣撹璁″畬鎴愬悗锛岀偣鍑烩�滀笅涓�姝モ�濆皢鍓嶅簭姝ラ璁捐鐨勬墍鏈夌粍浠惰瀺涓轰竴浣擄紝瀹屾垚瑙e墫妗ョ殑璁捐銆�</p>
                     <h3 class="thirdTitle">浜屻�佸熀搴曟ˉ璁捐</h3>
                     <p class="content">鍥炲垏娉曞熀搴曟ˉ璁捐鍗冲厛鏍规嵁閭荤墮鍙婂棰岀墮淇℃伅鎭㈠棰勬湡淇浣擄紝鍦ㄦ鍩虹涓婅瀹氭暟鍊硷紝鍥炲垏鍑哄潎鍖�鐨勭摲灞傜┖闂达紝浠庤�屾彁楂樼儰鐡风墮鐨勫姬搴︺�備笅闈粙缁岴xocad杞欢鍥炲垏娉曞熀搴曟ˉ璁捐銆�
                     </p>
                     <p class="content">鐥呬緥璁惧畾涓�15缂哄け锛�14銆�16涓烘ˉ鍩虹墮锛岄噾鐡锋ˉ淇銆傞�夋嫨鐗欎綅14銆�16锛岄�夋嫨鈥滃洖鍒囧叏鍐犫�濓紝15閫夋嫨鈥滃洖鍒囩己澶辩墮鈥濓紝鏉愭枡閫夋嫨闈炶吹閲戝睘锛岀‘瀹氬悗鐐瑰嚮鈥滆璁♀�濊繘鍏ヤ富鐣岄潰銆�
                     </p>
-                    <p class="poemtitle-l">锛堜竴锛夋壂鎻忔垨瀵煎叆鏁版嵁</p>
+                    <p class="poemtitle-l kTitle">锛堜竴锛夋壂鎻忔垨瀵煎叆鏁版嵁</p>
                     <p class="content">鎵弿鏂规硶鍙傝�冪墮棰屾ā鍨嬫壂鎻忓伐鑹洪儴鍒嗭紝娉ㄦ剰浜嬮」鍚岃В鍓栨ˉ閮ㄥ垎锛屾壂鎻忓畬鎴愬叿鏈夊挰鍚堝叧绯荤殑涓娿�佷笅棰屾暟瀛楁ā鍨嬨��</p>
-                    <p class="poemtitle-l">锛堜簩锛夌‘瀹氶缂樼嚎</p>
+                    <p class="poemtitle-l kTitle">锛堜簩锛夌‘瀹氶缂樼嚎</p>
                     <p class="content">鏂规硶鍚岃В鍓栨ˉ閮ㄥ垎銆備娇鐢ㄨ竟缂樼嚎妫�娴嬪櫒缁樺埗鍩虹墮杈圭紭鑼冨洿锛屽苟淇敼鍚勫熀鐗欒竟缂樼嚎褰㈡�侊紝鏂规硶鍚屽崟鍐犱慨澶嶃��</p>
-                    <p class="poemtitle-l">锛堜笁锛夌‘瀹氬叡鍚屽氨浣嶉亾鏂瑰悜</p>
+                    <p class="poemtitle-l kTitle">锛堜笁锛夌‘瀹氬叡鍚屽氨浣嶉亾鏂瑰悜</p>
                     <p class="content">
                         鍙傝�冭В鍓栨ˉ璁捐閮ㄥ垎鐨勬柟娉曪紝纭畾鎵�鏈夊熀鐗欑殑鍏卞悓灏变綅閬撴柟鍚戙�傚綋妗ョ殑璺ㄥ害杈冮暱涓斿悓鏃惰鐩栧墠鐗欏拰鍚庣墮鏃讹紝闇�鐓ч【鍓嶇墮鐨勭編瑙傛�э紝灏嗗�掑嚬鍚戝悗鐗欒皟鏁淬�傝蒋浠惰嚜鍔ㄨ绠楃殑灏变綅閬撴柟鍚戦�氬父鏄暣浣擄紙鎵�鏈夊熀鐗欙級鍊掑嚬鏈�浼樼殑瑙掑害锛屼笂杩颁釜鎬у寲鐨勮皟鏁村彲閲囩敤浠庤鍥捐瀵熻搴﹁瀹氬氨浣嶉亾鐨勬柟娉曘��
                     </p>
-                    <p class="poemtitle-l">锛堝洓锛夐棿闅欏墏鍙傛暟璁剧疆</p>
+                    <p class="poemtitle-l kTitle">锛堝洓锛夐棿闅欏墏鍙傛暟璁剧疆</p>
                     <p class="content">
                         Exocad杞欢鍦ㄢ�滃簳閮ㄥ弬鏁扳�濊缃棿闅欏墏鍘氬害銆佸啝杈圭紭銆佸�掑嚬澶勭悊涓庡垁鍏疯ˉ鍋跨殑鍙傛暟銆傞噾灞炲熀搴曠矘鎺ラ棿闅欏彲璁惧畾涓�0.02mm锛岄噾灞炲熀搴曞啝杈圭紭鍘氬害鍙缃负0.1锝�0.3mm銆�</p>
-                    <p class="poemtitle-l">锛堜簲锛夐鏈熶慨澶嶄綋褰㈡�佽璁�</p>
+                    <p class="poemtitle-l kTitle">锛堜簲锛夐鏈熶慨澶嶄綋褰㈡�佽璁�</p>
                     <p class="content">1锛庢牴鎹綑鐣欑墮鍜屾偅鑰呰劯鍨嬬瓑淇℃伅锛屼粠鐗欓娇鏁版嵁搴撶殑涓婇鍓嶇墮缁勫悎搴撲腑閫夋嫨閫傚悎鐨勭墮鍐犲舰鎬侊紝鐢ㄤ簬璁捐棰勬湡鐨勭墮鍐犱慨澶嶄綋銆�</p>
-                    <p class="content">2锛庢帓鍒楃墮榻夸綅缃紝閫氳繃绉诲姩銆佹棆杞�佺缉鏀捐皟鏁村浐瀹氭ˉ鐨勫涓墮鍐狅紝璋冩暣鐗欓娇浣嶇疆銆佸ぇ灏忓拰鍊炬枩搴︼紝寤虹珛姝g‘鐨勮<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />銆佽鐩栧叧绯汇��</p>
+                    <p class="content">2锛庢帓鍒楃墮榻夸綅缃紝閫氳繃绉诲姩銆佹棆杞�佺缉鏀捐皟鏁村浐瀹氭ˉ鐨勫涓墮鍐狅紝璋冩暣鐗欓娇浣嶇疆銆佸ぇ灏忓拰鍊炬枩搴︼紝寤虹珛姝g‘鐨勮瓞寳銆佽鐩栧叧绯汇��</p>
                     <p class="content">
                         3锛庤繘琛屾ˉ浣撳舰鎬佽璁°�傝璁℃ˉ浣撴椂鍏堝彲鎶婄墮鍐犲簳閮ㄦ媺鍒扮墮榫堬紝鍒囬櫎搴曢儴鏁板�间负0锛屼娇妗ヤ綋涓庣墮妲藉荡璐村悎锛屽啀浣跨敤铏氭嫙铚″垁鎴栫壍鎷夊伐鍏疯繘琛屽舰鎬佷慨鏁达紝鏈�鍚庝娇妗ヤ綋缁勭粐闈笌鐗欐Ы宓磋交寰帴瑙︺��</p>
                     <p class="content">4锛庨�氳繃鈥滄櫤鑳芥墽琛屽弬鏁扳�濊皟鏁撮鏈熶慨澶嶄綋鐨勫帤搴︺�佸挰鍚堝拰閭绘帴锛屾柟娉曞悓鍏ㄥ啝璁捐閮ㄥ垎銆�</p>
@@ -611,24 +621,21 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="poemtitle-l">锛堝叚锛夐鏈熶慨澶嶄綋<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鎺ヨЕ璁捐</p>
-                    <p class="content">鏍规嵁涓村簥鍖荤敓鎻愪緵鐨勯潰寮撶浉鍏冲弬鏁帮紝鍙娇鐢ㄦ暟瀛�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋跺姛鑳芥ā鎷熶笅棰岃繍鍔紝绮剧粏璋冩暣棰勬湡淇浣�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈠舰鎬侊紝鏂规硶鍙傝�冨叏鍐犮�佽В鍓栨ˉ閮ㄥ垎锛屼笉鍚屼箣澶勫湪浜庡墠鐗欒鎭㈠鎮h�呯殑鍓嶇墮瀵煎悜鍔熻兘銆傞�氳繃璁惧畾鏁板瓧<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏋朵笂鐨勫垏瀵兼枩搴︼紝妯℃嫙鍓嶄几鍜屼晶鏂硅繍鍔紝鍏堝幓鎺�<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />骞叉壈閮ㄥ垎锛岀劧鍚庡湪12銆�11銆�21銆�22鐨勮繎杩滀腑杈圭紭宓翠笂寤虹珛鍓嶄几瀵煎悜锛屽湪13銆�23涓婂缓绔嬩晶鏂瑰鍚戙��</p>
-                    <p class="poemtitle-l">锛堜竷锛夐鏈熶慨澶嶄綋鍥炲垏</p>
-                    <p class="content"><span class="bold">1锛庤缃洖鍒囧弬鏁�</span>銆�鐗欏啝鐨勫洖鍒囧姛鑳藉寘鎷互涓嬪弬鏁伴�夐」銆�</p>
+                    <p class="poemtitle-l kTitle">锛堝叚锛夐鏈熶慨澶嶄綋瓞寳鎺ヨЕ璁捐</p>
+                    <p class="content">
+                        鏍规嵁涓村簥鍖荤敓鎻愪緵鐨勯潰寮撶浉鍏冲弬鏁帮紝鍙娇鐢ㄦ暟瀛楌瑢楁灦鍔熻兘妯℃嫙涓嬮杩愬姩锛岀簿缁嗚皟鏁撮鏈熶慨澶嶄綋瓞寳闈㈠舰鎬侊紝鏂规硶鍙傝�冨叏鍐犮�佽В鍓栨ˉ閮ㄥ垎锛屼笉鍚屼箣澶勫湪浜庡墠鐗欒鎭㈠鎮h�呯殑鍓嶇墮瀵煎悜鍔熻兘銆傞�氳繃璁惧畾鏁板瓧瓞寳鏋朵笂鐨勫垏瀵兼枩搴︼紝妯℃嫙鍓嶄几鍜屼晶鏂硅繍鍔紝鍏堝幓鎺夝瑢楀共鎵伴儴鍒嗭紝鐒跺悗鍦�12銆�11銆�21銆�22鐨勮繎杩滀腑杈圭紭宓翠笂寤虹珛鍓嶄几瀵煎悜锛屽湪13銆�23涓婂缓绔嬩晶鏂瑰鍚戙��
+                    </p>
+                    <p class="poemtitle-l kTitle">锛堜竷锛夐鏈熶慨澶嶄綋鍥炲垏</p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庤缃洖鍒囧弬鏁�</span>銆�鐗欏啝鐨勫洖鍒囧姛鑳藉寘鎷互涓嬪弬鏁伴�夐」銆�</p>
                     <p class="content">锛�1锛夊洖鍒囧ぇ灏忥細鎸囬鏈熶慨澶嶄綋褰㈡�佽鍥炲垏鎺夌殑鐡峰眰绌洪棿銆�</p>
                     <p class="content">锛�2锛夋渶灏忓帤搴︼細淇濊瘉鍩哄簳鍐犵粨鏋勫己搴︾殑鏈�钖勫帤搴︼紝鍗充娇鍥炲垏閲忎笉澶燂紝鍘氬害涔熶笉鍏佽浣庝簬姝ゅ�笺�傛渶灏忓帤搴︿竴鑸缃负0.4mm銆�</p>
                     <p class="content"><span
-                            class="bold">2锛庤缃洖鍒囪寖鍥�</span>銆�閲戝睘杈广�侀噾灞炲挰鍚堥潰銆侀噾灞炶垖鑳岀瓑璁捐闇�瑕佸闇查噾灞炪�傚彲鎵嬪姩瀹氫箟鍥炲垏鑼冨洿锛氬嬀鐢荤己澶辩墮鑸屼晶閲戝睘甯︼紝瀹藉害涓庡姬搴﹀敖閲忎繚鎸佷竴鑷淬�備慨鏁村畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝杞欢瀵逛慨澶嶄綋澶栧舰杩涜鍧囧寑鍥炲垏銆�
+                            class="bold fontGreen titleLeftmove">2锛庤缃洖鍒囪寖鍥�</span>銆�閲戝睘杈广�侀噾灞炲挰鍚堥潰銆侀噾灞炶垖鑳岀瓑璁捐闇�瑕佸闇查噾灞炪�傚彲鎵嬪姩瀹氫箟鍥炲垏鑼冨洿锛氬嬀鐢荤己澶辩墮鑸屼晶閲戝睘甯︼紝瀹藉害涓庡姬搴﹀敖閲忎繚鎸佷竴鑷淬�備慨鏁村畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝杞欢瀵逛慨澶嶄綋澶栧舰杩涜鍧囧寑鍥炲垏銆�
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庢ā鍨嬩慨鏁�</span>銆�鍐犺〃闈慨鏁淬�佸洖鍒囧畬鎴愬悗锛屽熀搴曞啝琛ㄩ潰鍙兘浼氭湁鍑瑰嚫涓嶅钩涔嬪锛岀敤鈥滆嚜鐢遍�犲瀷鈥濅腑鐨勬暟瀛楄湣鍒�鍏夐『鍥炲垏鍐犺〃闈紝鍘婚櫎杩囬攼鐨勫湴鏂广��</p>
-                    <p class="poemtitle-l">锛堝叓锛夎繛鎺ヤ綋璁捐</p>
+                            class="bold fontGreen titleLeftmove">3锛庢ā鍨嬩慨鏁�</span>銆�鍐犺〃闈慨鏁淬�佸洖鍒囧畬鎴愬悗锛屽熀搴曞啝琛ㄩ潰鍙兘浼氭湁鍑瑰嚫涓嶅钩涔嬪锛岀敤鈥滆嚜鐢遍�犲瀷鈥濅腑鐨勬暟瀛楄湣鍒�鍏夐『鍥炲垏鍐犺〃闈紝鍘婚櫎杩囬攼鐨勫湴鏂广��
+                    </p>
+                    <p class="poemtitle-l kTitle">锛堝叓锛夎繛鎺ヤ綋璁捐</p>
                     <p class="content">
                         1锛庢牴鎹浐瀹氫慨澶嶈繛鎺ヤ綋鐨勮璁″師鍒欙紝璋冩暣杩炴帴浣撶殑浣嶇疆銆佸舰鎬佸拰妯埅闈㈢Н銆傝繛鎺ヤ綋杩囧ぇ鎴栦綅缃笉褰擄紝浼氬鑷寸儰鐡风墮澶栧睍闅欐墦涓嶅紑锛岀墮榻跨己涔忕珛浣撴劅锛屽奖鍝嶇編瑙傦紱鍙嶄箣锛岃繛鎺ヤ綋杩囧皬锛屽垯浼氬奖鍝嶆暣浣撹繛妗ュ己搴︺�傛甯告儏鍐典笅锛岃繛鎺ヤ綋搴斾綅浜庣墮榻跨殑閭婚潰鎺ヨЕ鍖猴紝浣嗚�冭檻鍒板墠鐗欑殑缇庤锛屽線寰�鍙兘鐗虹壊鑸屽灞曢殭锛屼互淇濊瘉鍏跺己搴︺��
                     </p>
@@ -637,17 +644,18 @@
                     <p class="content">锛�2锛夐噾灞炵儰鐡峰悗鐗欏啝妗ワ細6锝�9mm虏銆�</p>
                     <p class="content">锛�3锛夋哀鍖栭攩鍓嶇墮鍐犳ˉ锛�8锝�10mm虏銆�</p>
                     <p class="content">锛�4锛夋哀鍖栭攩鍚庣墮鍐犳ˉ锛�12锝�14mm虏銆�</p>
-                    <p class="poemtitle-l">锛堜節锛夌粍浠惰瀺鍚�</p>
+                    <p class="poemtitle-l kTitle">锛堜節锛夌粍浠惰瀺鍚�</p>
                     <p class="content">杩炴帴浣撹缃畬鎴愬悗锛岃蒋浠舵渶鍚庝竴姝ユ槸灏嗗墠搴忔楠よ璁$殑鎵�鏈夌粍浠惰瀺涓轰竴浣擄紝鐢ㄨ櫄鎷熻湣鍒�鍏夐『铻嶅悎鐥曡抗锛屽畬鎴愯璁°��</p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">閿ュ舰鏉烠T</span></p>
-                    <p class="quotation">閿ュ舰鏉烠T锛坈one beam
-                        CT锛孋BCT锛夋槸鎶曠収璁$畻鏈洪噸缁勬柇灞傚奖鍍忚澶囷紝鍏跺伐浣滃師鐞嗘槸鍒╃敤閿ュ舰X绾挎潫鍜岄潰绉帰娴嬪櫒瀵瑰彈妫�鑰呭仛360掳鏃嬭浆鐨勬暟瀛楀紡鎶曠収锛岄�氳繃娴嬮噺琚壂鎻忕粍缁囩粨鏋勭殑瀹圭Н锛岃幏鍙栨墍闇�鏁版嵁锛屽嵆鍙噸寤哄嚭涓変釜缁村害涓婄殑鏂眰褰卞儚銆傞敟褰㈡潫CT鍙樉绀哄钩琛岀墮寮撱�佸瀭鐩寸墮寮撳拰鍨傜洿韬綋闀胯酱涓変釜鏂瑰悜涓婄殑鏂眰褰卞儚锛岃繕鍙互鏍规嵁涓村簥闇�瑕佹樉绀烘洕鍏夎寖鍥村唴浠绘剰閮ㄤ綅鍜屾柟鍚戠殑鏂眰褰卞儚銆�
-                    </p>
-                    <p class="quotation">
-                        閿ュ舰鏉烠T鍏锋湁涓嬪垪浼樼偣锛氣憼浣撶礌灏忥紝绌洪棿鍒嗚鲸鐜囬珮锛屽浘鍍忚川閲忓ソ锛涒憽鏄捐憲鎻愰珮X绾跨殑鍒╃敤鐜囷紝杈愬皠鍓傞噺鐩稿杈冨皬锛涒憿鏈夊緢楂樼殑鍚勫悜鍚屾�х┖闂村垎杈ㄥ姏銆傞敟褰㈡潫CT骞挎硾鐢ㄤ簬妫�鏌ュ彛鑵旈闈㈤儴纭粍缁囷紝濡傜墮绉嶆鏈�侀涓嬮鍏宠妭鐤剧梾銆佹牴灏栧懆鐥呭彉銆佺墮鍛ㄧ柧鐥呫�佸煁浼忕墮绛夛紝鏇濆厜鑼冨洿杈冨ぇ鐨勬満鍨嬪彲鐢ㄤ簬棰岄鑲跨槫銆佸垱浼ゃ�佺暩褰㈢瓑鐤剧梾鐨勮瘖鏂��
-                    </p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">閿ュ舰鏉烠T</span></p>
+                        <p class="quotation">閿ュ舰鏉烠T锛坈one beam
+                            CT锛孋BCT锛夋槸鎶曠収璁$畻鏈洪噸缁勬柇灞傚奖鍍忚澶囷紝鍏跺伐浣滃師鐞嗘槸鍒╃敤閿ュ舰X绾挎潫鍜岄潰绉帰娴嬪櫒瀵瑰彈妫�鑰呭仛360掳鏃嬭浆鐨勬暟瀛楀紡鎶曠収锛岄�氳繃娴嬮噺琚壂鎻忕粍缁囩粨鏋勭殑瀹圭Н锛岃幏鍙栨墍闇�鏁版嵁锛屽嵆鍙噸寤哄嚭涓変釜缁村害涓婄殑鏂眰褰卞儚銆傞敟褰㈡潫CT鍙樉绀哄钩琛岀墮寮撱�佸瀭鐩寸墮寮撳拰鍨傜洿韬綋闀胯酱涓変釜鏂瑰悜涓婄殑鏂眰褰卞儚锛岃繕鍙互鏍规嵁涓村簥闇�瑕佹樉绀烘洕鍏夎寖鍥村唴浠绘剰閮ㄤ綅鍜屾柟鍚戠殑鏂眰褰卞儚銆�
+                        </p>
+                        <p class="quotation">
+                            閿ュ舰鏉烠T鍏锋湁涓嬪垪浼樼偣锛氣憼浣撶礌灏忥紝绌洪棿鍒嗚鲸鐜囬珮锛屽浘鍍忚川閲忓ソ锛涒憽鏄捐憲鎻愰珮X绾跨殑鍒╃敤鐜囷紝杈愬皠鍓傞噺鐩稿杈冨皬锛涒憿鏈夊緢楂樼殑鍚勫悜鍚屾�х┖闂村垎杈ㄥ姏銆傞敟褰㈡潫CT骞挎硾鐢ㄤ簬妫�鏌ュ彛鑵旈闈㈤儴纭粍缁囷紝濡傜墮绉嶆鏈�侀涓嬮鍏宠妭鐤剧梾銆佹牴灏栧懆鐥呭彉銆佺墮鍛ㄧ柧鐥呫�佸煁浼忕墮绛夛紝鏇濆厜鑼冨洿杈冨ぇ鐨勬満鍨嬪彲鐢ㄤ簬棰岄鑲跨槫銆佸垱浼ゃ�佺暩褰㈢瓑鐤剧梾鐨勮瘖鏂��
+                        </p>
+                    </div>
 
                 </div>
                 <div class="page-bottom-left">038</div>
@@ -662,22 +670,40 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鍥哄畾妗ヨ璁′换鍔¤瘎浠锋爣鍑嗚琛�2-3-1銆�</p>
-                    <p class="imgtitle">琛�2-3-1銆�鍥哄畾妗ヨ璁′换鍔¤瘎浠锋爣鍑�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0055-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold fontGreen">琛�2-3-1銆�鍥哄畾妗ヨ璁′换鍔¤瘎浠锋爣鍑�</p>
+                    <div class="bodyPic"><img src="../../assets/images/0055-01.jpg"
+                            style="width:100%;margin-top: -12px;" alt="琛�2-3-1銆�鍥哄畾妗ヨ璁′换鍔¤瘎浠锋爣鍑�" active="true" /></div>
                     <h2 class="secondTitle">浠诲姟鍥涖��鍩哄簳鍐犺璁�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵鐨勮璁¤鍗曪紝瑕佹眰鍋�26鐑ょ摲鍐犱慨澶嶏紝妯″瀷鏁版嵁宸蹭笂浼犮�傚厛璁捐26鐨勫熀搴曞啝锛屽畬鎴愬悗杩涘叆涓嬩竴鐜妭銆�</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庡熀搴曞啝璁捐鐨勫叿浣撴楠ゆ槸鎬庢牱鐨勶紵</p>
-                    <p class="content">2锛庡悇绫婚噾灞炲熀搴曞啝鐨勫帤搴﹁姹傛槸澶氬皯锛�</p>
-                    <p class="content">3锛庡洖鍒囨硶鍜屽潎鍖�澧炲帤娉曞摢涓搷浣滄洿绠�鍗曪紵</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵鐨勮璁¤鍗曪紝瑕佹眰鍋�26鐑ょ摲鍐犱慨澶嶏紝妯″瀷鏁版嵁宸蹭笂浼犮�傚厛璁捐26鐨勫熀搴曞啝锛屽畬鎴愬悗杩涘叆涓嬩竴鐜妭銆�</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庡熀搴曞啝璁捐鐨勫叿浣撴楠ゆ槸鎬庢牱鐨勶紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.six" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庡悇绫婚噾灞炲熀搴曞啝鐨勫帤搴﹁姹傛槸澶氬皯锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.seven" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">3锛庡洖鍒囨硶鍜屽潎鍖�澧炲帤娉曞摢涓搷浣滄洿绠�鍗曪紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.eight" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
 
                 </div>
+
+
+
                 <div class="page-bottom-right">039</div>
             </div>
         </div>
@@ -691,7 +717,7 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鍩哄簳鍐犵殑鏈夋晥寮哄害鍜岄鐣欑摲灞傛湁鏁堝帤搴︽槸淇濊瘉鐑ょ摲鍐犱慨澶嶅己搴︾殑鍓嶆彁銆備负浜嗕繚璇佷慨澶嶆晥鏋滐紝鍩哄簳鍐犺璁℃椂闇�瑕侀鐣欏嚭钖勫帤鍧囧寑鐨勭摲灞傜┖闂村苟鎭㈠鍩烘湰鏀拺褰㈡�併�傚熀搴曞啝鐨勮璁″彲鍒嗕负鍧囧寑澧炲帤娉曞拰鍥炲垏娉曚袱绉嶏紝涓嬮潰鍒嗗埆浠嬬粛銆�
                     </p>
@@ -700,22 +726,23 @@
                     <p class="content">
                         棣栧厛杩涜鎵弿鎴栧鍏ユ暟鎹�佹ā鍨嬪鐞嗐�佺‘瀹氬氨浣嶉亾鏂瑰悜銆佺‘瀹氳竟缂樼嚎銆佺‘瀹氶棿闅欏墏鍘氬害锛屽悓鍏ㄥ啝璁捐銆備笅闈㈣缁嗕粙缁嶅熀搴曞啝璁捐鐨勫悇鍙傛暟璁剧疆銆傗憼澹佸帤锛氬熀搴曞啝鍚勯潰鐨勫帤搴︼紝涓�鑸牴鎹慨澶嶄綋鏉愭枡鍜屽姞宸ヨ澶囩殑瑕佹眰锛岃缃负鍙帴鍙楃殑鏈�钖勫帤搴︺�傗憽澹侀珮搴︼細鐢卞熀搴曞啝杈圭紭鍘氬害骞虫粦杩囨浮鍒拌酱澹佸帤搴︼紙鍗冲鍘氾級鐨勮窛绂汇�傗憿杈圭紭绾胯ˉ鍋垮熀搴曞啝杈圭紭鍘氬害銆傗懀琛ュ伩瑙掑害锛氬欢浼歌ˉ鍋挎枩闈笌姘村钩闈㈢殑澶硅锛屼富瑕佺敤浜庤皟鏁撮噾灞炶竟鍚戝鏁炲紑鐨勮搴︺�傗懁寤朵几琛ュ伩锛氬熀搴曞啝杈圭紭澶栦几鐨勫搴︺��
                     </p>
-                    <p class="content"><span class="bold">1锛庡啝鍘氾紙澹佸帤锛�</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庡啝鍘氾紙澹佸帤锛�</span></p>
                     <p class="content">锛�1锛夐噾灞炵儰鐡峰熀搴曞啝鍘氬害涓嶄綆浜�0.4mm銆�</p>
                     <p class="content">锛�2锛夋哀鍖栭攩鐑ょ摲鍩哄簳鍐犲帤搴︿笉浣庝簬0.5mm銆�</p>
-                    <p class="content"><span class="bold">2锛庤竟缂樺帤搴︼紙寤朵几琛ュ伩锛�</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庤竟缂樺帤搴︼紙寤朵几琛ュ伩锛�</span></p>
                     <p class="content">锛�1锛夐噾灞炶В鍓栧叏鍐犲拰閲戝睘鐑ょ摲鍩哄簳鍐犺竟缂樺帤搴﹀缓璁负0.1锝�0.3mm銆�</p>
                     <p class="content">锛�2锛夋哀鍖栭攩鐑ょ摲鍩哄簳鍐犺竟缂樺帤搴﹀缓璁负0.2锝�0.3mm銆�</p>
                     <p class="content"><span
-                            class="bold">3锛庨噾灞炶竟</span>銆�璁捐閲戝睘鐑ょ摲鍩哄簳鍐犳椂锛屼竴鑸鍦ㄨ垖渚у埗浣滈噾灞炶竟鏉ュ鍔犲己搴︺�傚嬀閫夆�滆垖甯︹�濋�夐」妗嗗唴鐨勨�滃簲鐢ㄢ�濋�夐」锛屽彲璁惧畾閲戝睘杈圭粨鏋勫弬鏁般��</p>
+                            class="bold fontGreen titleLeftmove">3锛庨噾灞炶竟</span>銆�璁捐閲戝睘鐑ょ摲鍩哄簳鍐犳椂锛屼竴鑸鍦ㄨ垖渚у埗浣滈噾灞炶竟鏉ュ鍔犲己搴︺�傚嬀閫夆�滆垖甯︹�濋�夐」妗嗗唴鐨勨�滃簲鐢ㄢ�濋�夐」锛屽彲璁惧畾閲戝睘杈圭粨鏋勫弬鏁般��
+                    </p>
                     <p class="content">
                         锛�1锛夎捣濮嬭搴﹀拰缁堢偣瑙掑害锛氭帶鍒堕噾灞炶竟鐨勮捣姝㈢偣浣嶇疆锛屽嵆棰勫浣撻缂樼嚎涓婂嚭鐜扮殑钃濊壊鍜岀孩鑹叉帶鍒剁偣锛屾粴鍔ㄩ紶鏍囨粴杞彲璋冩暣鎺у埗鐐逛綅缃�傝垖渚ч噾灞炶竟鍙欢浼歌嚦閭婚潰锛岃揪杩戣繙涓竟缂樺荡鍜悎鎺ヨЕ鐐圭殑姝d笅鏂癸紝浠ラ闃茶竟缂樺荡鍔涜繃澶у鑷磋竟缂樺穿鐡凤紙鍥�2-4-1锛夈��
                     </p>
                     <p class="content">锛�2锛夎ˉ鍋胯搴︼細姝ゅ弬鏁板彲璋冩敼閲戝睘杈规暈寮�鐨勮搴︼紝闇�瑕佸弬鑰冮偦鐗欓鑸屼晶澶栧舰楂樼偣鏇茬嚎锛屼笉瑕佸舰鎴愭偓绐侊紝姝ゆ暟鍊间竴鑸缃负65掳锝�80掳锛堝浘2-4-2锛夈��</p>
                     <p class="content">锛�3锛夎ˉ鍋匡細姝ゅ弬鏁颁负閲戝睘杈圭殑楂樺害銆備竴鑸垖渚ч噾灞炶竟楂樺害涓�0.5锝�1.0mm锛屽仛360掳閲戝睘杈规椂锛屽攪棰婁晶楂樺害搴旈�傚綋缂╃獎浠ュ厤褰卞搷缇庤銆�</p>
                     <p class="content">
-                        锛�4锛夊湪鏈変繚鎶ょ殑琛ㄩ潰杩涜闆曞埢锛氶澶囦綋鑲╁彴楂樹綆璧蜂紡銆佸绐勪笉鍧囷紝閲戝睘杈瑰彲鑳藉嚭鐜版墘杈癸紝杩欐椂鍙湪闆曞埢鐣岄潰鍕鹃�夋椤癸紝骞剁敤铚″垁鍏疯繘琛屾墜鍔ㄨ皟鏁淬�傚悗鐗欒繎杩滀腑閭婚潰闂磋窛瓒呰繃1.5mm鏃讹紝閲戝睘鐑ょ摲鍩哄簳鍐犻偦闈㈤噾灞炶竟搴旀湁鎵挎墭<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鍔涚殑缁撴瀯銆�</p>
+                        锛�4锛夊湪鏈変繚鎶ょ殑琛ㄩ潰杩涜闆曞埢锛氶澶囦綋鑲╁彴楂樹綆璧蜂紡銆佸绐勪笉鍧囷紝閲戝睘杈瑰彲鑳藉嚭鐜版墘杈癸紝杩欐椂鍙湪闆曞埢鐣岄潰鍕鹃�夋椤癸紝骞剁敤铚″垁鍏疯繘琛屾墜鍔ㄨ皟鏁淬�傚悗鐗欒繎杩滀腑閭婚潰闂磋窛瓒呰繃1.5mm鏃讹紝閲戝睘鐑ょ摲鍩哄簳鍐犻偦闈㈤噾灞炶竟搴旀湁鎵挎墭瓞寳鍔涚殑缁撴瀯銆�
+                    </p>
 
                 </div>
                 <div class="page-bottom-left">040</div>
@@ -730,19 +757,21 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0057-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-4-1銆�璋冩暣閲戝睘杈硅捣姝㈢偣</p>
+                    <div class="qrbodyPic openImgBox" style="margin-bottom: 30px;">
+                        <img src="../../assets/images/0057-02.jpg" style="width:70%" alt="鍥�2-4-1銆�璋冩暣閲戝睘杈硅捣姝㈢偣"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-4-1銆�璋冩暣閲戝睘杈硅捣姝㈢偣</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0057-03.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-4-2銆�鍧囧寑澧炲帤鍩哄簳鍐犲墫鍒囬潰瑙傚療鑸屼晶杈圭紭</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0057-03.jpg" style="width:70%" alt="鍥�2-4-2銆�鍧囧寑澧炲帤鍩哄簳鍐犲墫鍒囬潰瑙傚療鑸屼晶杈圭紭"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-4-2銆�鍧囧寑澧炲帤鍩哄簳鍐犲墫鍒囬潰瑙傚療鑸屼晶杈圭紭</p>
                     </div>
                     <p class="content"><span
-                            class="bold">4锛庨鐣欎慨澶嶄綋鐡峰眰绌洪棿</span>銆�鍚勭淇绫诲瀷鎺ㄨ崘鐨勯鐣欑摲灞傜┖闂村涓嬨�傗憼绾挍鐑ょ摲锛�0.8锝�1.2mm銆傗憽閽撮摤鐑ょ摲锛�1.5锝�2.0mm銆傗憿姘у寲閿嗙儰鐡凤細1.0锝�2.0mm銆�
+                            class="bold fontGreen titleLeftmove">4锛庨鐣欎慨澶嶄綋鐡峰眰绌洪棿</span>銆�鍚勭淇绫诲瀷鎺ㄨ崘鐨勯鐣欑摲灞傜┖闂村涓嬨�傗憼绾挍鐑ょ摲锛�0.8锝�1.2mm銆傗憽閽撮摤鐑ょ摲锛�1.5锝�2.0mm銆傗憿姘у寲閿嗙儰鐡凤細1.0锝�2.0mm銆�
                     </p>
-                    <p class="content">瑙傚療绾�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏇茬嚎鍙婂棰岀墮纾ㄨ�楃棔杩圭瓑淇℃伅锛屽垎鏋愭渶缁堜慨澶嶄綋褰㈡�侊紝鍒ゆ柇棰勫浣撳悇閮ㄤ綅鐨勫鐗欓噺鏄惁鑳芥弧瓒充慨澶嶇┖闂寸殑闇�瑕侊紙鍥�2-4-3锛夈�傝嫢淇绌洪棿杈冨ぇ锛屽彲浣跨敤鈥滈洉鍒诲伐鍏峰寘鈥濅腑鐨勭壍鎷夊拰鍔犲噺鍏凤紝璋冩暣鍩哄簳鍐犲舰鎬侊紝鐣欏嚭鍧囧寑鐡峰眰绌洪棿銆傝嫢淇绌洪棿涓嶈冻锛屽彲涓庡尰鐢熸矡閫氳繘涓�姝ョ殑璁捐鏂规锛屽鍒朵綔閲戝睘鍜悎棰勫绛夈�備娇鐢ㄦ鏂规硶锛岃姹傝璁¤�呮湁杈冧赴瀵岀殑宸ヤ綔缁忛獙鍜屽涔夐娇褰㈡�佺殑鍑嗙‘鎶婃帶鑳藉姏锛屾墠鑳藉埗浣滃嚭鍚堟牸鐨勫熀搴曞啝銆�
+                    <p class="content">
+                        瑙傚療绾叼瑢楁洸绾垮強瀵归鐗欑(鑰楃棔杩圭瓑淇℃伅锛屽垎鏋愭渶缁堜慨澶嶄綋褰㈡�侊紝鍒ゆ柇棰勫浣撳悇閮ㄤ綅鐨勫鐗欓噺鏄惁鑳芥弧瓒充慨澶嶇┖闂寸殑闇�瑕侊紙鍥�2-4-3锛夈�傝嫢淇绌洪棿杈冨ぇ锛屽彲浣跨敤鈥滈洉鍒诲伐鍏峰寘鈥濅腑鐨勭壍鎷夊拰鍔犲噺鍏凤紝璋冩暣鍩哄簳鍐犲舰鎬侊紝鐣欏嚭鍧囧寑鐡峰眰绌洪棿銆傝嫢淇绌洪棿涓嶈冻锛屽彲涓庡尰鐢熸矡閫氳繘涓�姝ョ殑璁捐鏂规锛屽鍒朵綔閲戝睘鍜悎棰勫绛夈�備娇鐢ㄦ鏂规硶锛岃姹傝璁¤�呮湁杈冧赴瀵岀殑宸ヤ綔缁忛獙鍜屽涔夐娇褰㈡�佺殑鍑嗙‘鎶婃帶鑳藉姏锛屾墠鑳藉埗浣滃嚭鍚堟牸鐨勫熀搴曞啝銆�
                     </p>
                     <p class="content">
                         璁捐瀹屾垚鍚庣偣鍑烩�滀笅涓�姝モ�濓紝鍦ㄥ脊鍑虹殑瀵硅瘽妗嗗唴锛屽閫夋嫨鈥滄槸鈥濓紝鍒欎綆浜庤瀹氭渶钖勫帤搴︾殑閮ㄤ綅浼氳嚜鍔ㄥ~琛ュ埌鎸囧畾鍘氬害锛涘閫夋嫨鈥滃惁鈥濓紝鍒欎細淇濈暀鐜版湁璁捐锛屼笉鍋氫换浣曞眬閮ㄥ鍘氬鐞嗐�備繚瀛樺拰杈撳嚭鏁版嵁鍚屽叏鍐犺璁°��</p>
@@ -761,17 +790,18 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0058-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-4-3銆�璁捐淇绌洪棿</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0058-01.jpg" style="width:70%" alt="鍥�2-4-3銆�璁捐淇绌洪棿"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-4-3銆�璁捐淇绌洪棿</p>
                     </div>
                     <h3 class="thirdTitle">浜屻�佸洖鍒囨硶鍩哄簳鍐犺璁�</h3>
                     <p class="content">
                         鍥炲垏娉曞熀搴曞啝璁捐鍗虫牴鎹偦鐗欏強瀵归鐗欎俊鎭仮澶嶉鏈熶慨澶嶄綋锛屽湪姝ゅ熀纭�涓婅瀹氭暟鍊煎洖鍒囧嚭鍧囧寑鐨勭摲灞傜┖闂达紝浠庤�屾彁楂樼儰鐡风墮鐨勫姬搴︺�備紶缁熷伐鑹鸿湣鍨嬪埗浣滄椂锛岀敤姝ょ鏂规硶鏁堢巼澶綆锛屼笖涓嶆槗鎺屾彙鍥炲垏閲忥紝浣嗘槸鍦ㄨ蒋浠朵腑鑳戒簨鍗婂姛鍊嶃�備笅闈粙缁岴xocad杞欢鍥炲垏娉曞熀搴曞啝璁捐锛堝浘2-4-4锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0058-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-4-4銆�鍩哄簳鍐燛xocad杞欢璁捐鐣岄潰</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0058-02.jpg" style="width:70%" alt="" active="true" />
+                        <p class="imgdescript-b">鍥�2-4-4銆�鍩哄簳鍐燛xocad杞欢璁捐鐣岄潰</p>
                     </div>
                     <p class="content">
                         鐗欎綅閫夋嫨锛欵xocad杞欢鐨勮鍗曞缓绔嬮噰鐢ㄧ墮浣嶅浘鐢靛瓙鎶�宸ュ崟褰㈠紡锛岀浉鍏宠缃柟娉曞鍓嶃�傛壂鎻忔垨瀵煎叆鏁版嵁鍚庯紝鐐瑰嚮璁㈠崟椤甸潰鍙充晶鐨勨�滆璁♀�濇寜閽紝杩涘叆淇浣撹璁$晫闈€�傛ā鍨嬩慨鏁寸‘瀹氳竟缂樼嚎銆佺‘瀹氬氨浣嶉亾鏂瑰悜绛夋楠ょ殑鎿嶄綔涓庡潎鍖�澧炲帤娉曞熀鏈浉鍚屻��
@@ -791,16 +821,16 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">1锛庨棿闅欏墏鍙傛暟璁剧疆</span>銆�Exocad杞欢璁剧疆闂撮殭鍓傚帤搴﹀啝杈圭紭鍙傛暟銆佸�掑嚬澶勭悊涓庡垁鍏疯ˉ鍋跨殑鍙傛暟瀵硅瘽妗嗚鍥�2-4-5锛屽悇鍙傛暟鎰忎箟涓�3Shape杞欢绫讳技锛屼絾闇�娉ㄦ剰锛屽啝杈圭紭鍘氬害瑕佸湪姝ゅ璁惧畾锛堝弬鏁拌缃弬鑰冨叏鍐犺璁★級銆備笉鍚屽彛鑵旂鏉愭枡鎺ㄨ崘鐨勫弬鏁板悓鍧囧寑澧炲帤娉曘�傚鍏ユ暟鎹�佺粯鍒惰竟缂樼嚎銆佹帓鍒楃墮榻夸綅缃鍥�2-4-6锝炲浘2-4-8鎵�绀恒��
+                            class="bold fontGreen">1锛庨棿闅欏墏鍙傛暟璁剧疆</span>銆�Exocad杞欢璁剧疆闂撮殭鍓傚帤搴﹀啝杈圭紭鍙傛暟銆佸�掑嚬澶勭悊涓庡垁鍏疯ˉ鍋跨殑鍙傛暟瀵硅瘽妗嗚鍥�2-4-5锛屽悇鍙傛暟鎰忎箟涓�3Shape杞欢绫讳技锛屼絾闇�娉ㄦ剰锛屽啝杈圭紭鍘氬害瑕佸湪姝ゅ璁惧畾锛堝弬鏁拌缃弬鑰冨叏鍐犺璁★級銆備笉鍚屽彛鑵旂鏉愭枡鎺ㄨ崘鐨勫弬鏁板悓鍧囧寑澧炲帤娉曘�傚鍏ユ暟鎹�佺粯鍒惰竟缂樼嚎銆佹帓鍒楃墮榻夸綅缃鍥�2-4-6锝炲浘2-4-8鎵�绀恒��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0059-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0059-01.jpg" style="width:80%" alt="鍥�2-4-5銆�鍙傛暟瀵硅瘽妗�" active="true" />
                         <p class="imgdescript-b">鍥�2-4-5銆�鍙傛暟瀵硅瘽妗�</p>
                         <p class="imgdescript-l">A锛庨棿闅欏墏鍘氬害鍐犺竟缂樺弬鏁帮紱B锛庡�掑嚬澶勭悊鍙傛暟锛汣锛庡垁鍏疯ˉ鍋垮弬鏁般��</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0059-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-4-6銆�瀵煎叆鏁版嵁</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0059-02.jpg" style="width:80%" alt="鍥�2-4-6銆�瀵煎叆鏁版嵁" active="true" />
+                        <p class="imgdescript-b">鍥�2-4-6銆�瀵煎叆鏁版嵁</p>
                     </div>
 
                 </div>
@@ -819,13 +849,13 @@
                 <div class="bodystyle">
                     <div class="qrbodyPic">
                         <img src="../../assets/images/0060-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-4-7銆�缁樺埗杈圭紭绾�</p>
+                        <p class="imgdescript-b">鍥�2-4-7銆�缁樺埗杈圭紭绾�</p>
                     </div>
                     <div class="qrbodyPic">
                         <img src="../../assets/images/0060-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-4-8銆�鎺掑垪鐗欓娇浣嶇疆</p>
+                        <p class="imgdescript-b">鍥�2-4-8銆�鎺掑垪鐗欓娇浣嶇疆</p>
                     </div>
-                    <p class="content"><span class="bold">2锛庨鏈熶慨澶嶄綋璁捐</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庨鏈熶慨澶嶄綋璁捐</span></p>
                     <p class="content">
                         锛�1锛夋仮澶嶇墮榻垮褰㈠悗锛屽鐗欓娇杩涜鑷敱閫犲瀷锛岃皟鏁村挰鍚堝叧绯伙紙鍥�2-4-9锛夈�備慨鏁磋垖渚у褰紝鏍规嵁璁㈠崟瑕佹眰閫夋嫨鍥炲垏鍙傛暟锛岄�夋嫨鑸屼晶鍔犲己甯︼紝杩欐牱鏈夊熀鐗欑殑澶栧舰浼氳嚜鍔ㄧ敓鎴愰噾灞炶竟缂橈紝鎵嬪姩鍕剧敾缂哄け浣嶉噾灞炲甫锛屾敞鎰忛噾灞炲甫鐨勫姬搴︺�佸搴﹀敖閲忎繚鎸佷竴鑷达紙鍥�2-4-10锛夈�傜敾濂戒箣鍚庯紝鐐瑰嚮鈥滃簲鐢ㄢ�濄�傚洖鍒囧悗杩涜閲戝睘鍐呭啝褰㈡�佺殑璋冩暣锛屾妸閲戝睘甯﹁皟鏁村埌涓�鏉$嚎涓婏紝鏂逛究鍚庣画娣诲姞杩炴帴浣撱�傝皟鏁寸墮榫堝帇杩�佺墮榻垮姬搴︼紝杩涜涓嬩竴姝ワ紝娣诲姞杩炴帴浣撱�傚悎骞剁墮妗ュ悗瀵硅繛鎺ユ潌杩涜淇暣锛屼娇鐢ㄢ�滃姞鈥濈殑宸ュ叿鎶婇噾灞炲甫杩炴帴鍒颁竴璧枫��
                     </p>
@@ -845,13 +875,14 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0061-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-4-9銆�鍒朵綔鐗欏啝</p>
+                    <div class="qrbodyPic openImgBox" style="margin-bottom: 30px;">
+                        <img src="../../assets/images/0061-01.jpg" style="width:70%" alt="鍥�2-4-9銆�鍒朵綔鐗欏啝" active="true" />
+                        <p class="imgdescript-b">鍥�2-4-9銆�鍒朵綔鐗欏啝</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0061-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-4-10銆�鑸屼晶閲戝睘甯﹀唴鍐犳ˉ鍒朵綔瀹屾垚</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0061-02.jpg" style="width:70%" alt="鍥�2-4-10銆�鑸屼晶閲戝睘甯﹀唴鍐犳ˉ鍒朵綔瀹屾垚"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-4-10銆�鑸屼晶閲戝睘甯﹀唴鍐犳ˉ鍒朵綔瀹屾垚</p>
                     </div>
                     <p class="content">
                         锛�2锛夎缃洖鍒囪寖鍥达細鍦ㄨ璁″叿鏈夐攩鑳屻�侀攩闈㈢粨鏋勭殑姘у寲閿嗗熀搴曞啝鏃讹紝鎶戞垨鍦ㄨ璁″叿鏈夎垖渚ч噾灞炶竟銆侀噾灞炲挰鍚堥潰鐨勯噾灞炲熀搴曞啝鏃讹紝鍙互鍦ㄩ鏈熶慨澶嶄綋涓婃秱鐢讳笉闇�瑕佺儰鐡风殑閮ㄥ垎锛屾柟娉曚负鐐瑰嚮骞舵嫋鍔ㄩ紶鏍囷紝鐢ㄨ摑鑹插厜鍦堢洿鎺ユ秱鎶硅寖鍥达紝鎸塖hift閿�+榧犳爣婊氳疆鍙皟鏁村厜鍦堝ぇ灏忥紝鎸塖hift閿苟鎷栧姩榧犳爣鍙摝闄ゆ秱鎶广�傞�変腑鈥滀繚鐣欏凡閫夐儴鍒嗏�濋�夐」锛岀偣鍑烩�滃簲鐢ㄢ�濆悗锛岃蒋浠跺皢鍙拡瀵归潪閫夋嫨鍖哄煙杩涜褰㈡�佸洖鍒囥��
@@ -859,7 +890,6 @@
                     <p class="content">
                         锛�3锛夊洖鍒囧苟淇暣鍩哄簳鍐狅細瀵逛簬鏈繘琛屽尯鍩熼�夋嫨鐨勬儏鍐碉紝杞欢灏嗗熀浜庤璁″ソ鐨勯鏈熶慨澶嶄綋澶栧舰杩涜鏁翠綋鐨勫潎鍖�鍥炲垏锛堝湪淇濊瘉鏈�灏忓帤搴︾殑鍓嶆彁涓嬶級锛屼粠鑰岃幏寰楀叿鏈変竴瀹氳В鍓栧舰鎬佺殑鍩哄簳鍐犮�備箣鍚庡彲瀵瑰熀搴曞啝琛ㄩ潰杩涜鍏夋粦淇暣锛屽畬鎴愬洖鍒囨硶鍩哄簳鍐犵殑璁捐銆�
                     </p>
-
                 </div>
                 <div class="page-bottom-right">045</div>
             </div>
@@ -874,17 +904,18 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">鍏ㄥ彛涔夐娇鏁板瓧鍖栨妧鏈�</span></p>
-                    <p class="quotation">
-                        绗洓娆″叏鍥藉彛鑵斿仴搴锋祦琛岀梾瀛﹁皟鏌ユ樉绀猴紝闅忕潃鎴戝浗绀句細杩涘叆鑰侀緞鍖栭樁娈碉紝鏃犵墮棰屾偅鑰呭ぇ浜�1000涓囦汉銆傝�冭檻鍒版偅鑰呭叏韬韩浣撴潯浠躲�侀楠ㄦ潯浠跺強缁忔祹鎯呭喌绛夛紝甯歌榛忚啘鏀寔鍙憳寮忓叏鍙d箟榻匡紙鍖呮嫭鍗曢鎬讳箟榻匡級浠嶇劧鏄竴绉嶅箍娉涚殑涓村簥閫夋嫨锛屽叾鏃犲垱鍙�嗙殑淇鐗圭偣灏ゅ叾閫傚悎鑰佸勾鎮h�呫�傛�讳箟榻胯璁″拰鍒朵綔娑夊強鍗版ā銆侀浣嶅叧绯汇�佸挰鍚堝叧绯诲強缇庡绛夊涓幆鑺傦紝骞堕渶瑕佸厖鍒嗚�冭檻涔夐娇鐨勫姛鑳姐�佺ǔ瀹氬拰鍥轰綅绛夛紝閫氬父闇�瑕佹偅鑰呭娆″氨璇婏紝鏄彛鑵斾慨澶嶄腑鏈�涓哄鏉傜殑涓�绉嶄慨澶嶆妧鏈�傚叏鍙d箟榻挎暟瀛楀寲鎶�鏈紙濡傚揩閫熻璁″拰鎵撳嵃涓�у寲鈥滆瘖鏂箟榻库�濃�斺�斾竴绉嶉棴鍙e紡涓埆鎵樼洏锛夊彲鍦ㄤ竴瀹氱▼搴︿笂闄嶄綆涓村簥鍜屾妧甯堟搷浣滈毦搴︼紝绠�鍖栨祦绋嬪拰鍒朵綔宸ヨ壓锛屼粠鑰屽彲鐩稿瀹规槗鍦拌幏寰楃鍚堣鑼冪殑缁堝嵃妯″拰棰屼綅鍏崇郴璁板綍锛屼负鏈�缁堢殑鍏ㄥ彛涔夐娇璐ㄩ噺濂犲畾鑹ソ鐨勫熀纭�锛屼篃鍑忓皯浜嗘偅鑰呯殑灏辫瘖娆℃暟銆備富娴佸彛鑵斾慨澶嶈璁¤蒋浠讹紙濡�3Shape銆丒xocad绛夛級閫氬父鍖呮嫭鍏ㄥ彛涔夐娇璁捐妯℃澘锛屽叾鐗欏垪鏀寔涓�涓�璋冩暣鐨勬ā寮忥紝绗﹀悎鍙h厰鎶�甯堢殑浼犵粺鎿嶄綔涔犳儻锛屼复搴婁篃鏈夎緝澶х殑鑷敱搴︺�傛妧甯堥渶瑕佺粡杩囦竴瀹氭椂闂寸殑瀛︿範鍜岄�傚簲锛屾墠鑳界啛缁冨湴浣跨敤杞欢杩涜涓�涓�鎺掔墮銆傛垜鍥借嚜涓荤爺鍙戠殑鏁板瓧鍖栧叏鍙d箟榻跨郴缁燂紝閲囩敤涔夐娇鏁版嵁搴撴ā鏉垮鍙傛暟鍖归厤鐨勭瓥鐣ワ紝鍦ㄤ釜鎬у寲缁堝嵃妯″拰棰屼綅鍏崇郴鐨勬暟鎹熀纭�涓婏紝鍙揩閫熷疄鐜扮鍚堝挰鍚堝叧绯荤殑涓婁笅棰岀墮鍒楋紝鍐嶈緟浠ヤ釜鎬у寲鐨勫熀鎵樺舰鎬侊紝澶уぇ绠�鍖栦簡涓村簥鍖荤敓鍜屾妧甯堢殑鎿嶄綔闅惧害鍜屾祦绋嬨��
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">鍏ㄥ彛涔夐娇鏁板瓧鍖栨妧鏈�</span></p>
+                        <p class="quotation">
+                            绗洓娆″叏鍥藉彛鑵斿仴搴锋祦琛岀梾瀛﹁皟鏌ユ樉绀猴紝闅忕潃鎴戝浗绀句細杩涘叆鑰侀緞鍖栭樁娈碉紝鏃犵墮棰屾偅鑰呭ぇ浜�1000涓囦汉銆傝�冭檻鍒版偅鑰呭叏韬韩浣撴潯浠躲�侀楠ㄦ潯浠跺強缁忔祹鎯呭喌绛夛紝甯歌榛忚啘鏀寔鍙憳寮忓叏鍙d箟榻匡紙鍖呮嫭鍗曢鎬讳箟榻匡級浠嶇劧鏄竴绉嶅箍娉涚殑涓村簥閫夋嫨锛屽叾鏃犲垱鍙�嗙殑淇鐗圭偣灏ゅ叾閫傚悎鑰佸勾鎮h�呫�傛�讳箟榻胯璁″拰鍒朵綔娑夊強鍗版ā銆侀浣嶅叧绯汇�佸挰鍚堝叧绯诲強缇庡绛夊涓幆鑺傦紝骞堕渶瑕佸厖鍒嗚�冭檻涔夐娇鐨勫姛鑳姐�佺ǔ瀹氬拰鍥轰綅绛夛紝閫氬父闇�瑕佹偅鑰呭娆″氨璇婏紝鏄彛鑵斾慨澶嶄腑鏈�涓哄鏉傜殑涓�绉嶄慨澶嶆妧鏈�傚叏鍙d箟榻挎暟瀛楀寲鎶�鏈紙濡傚揩閫熻璁″拰鎵撳嵃涓�у寲鈥滆瘖鏂箟榻库�濃�斺�斾竴绉嶉棴鍙e紡涓埆鎵樼洏锛夊彲鍦ㄤ竴瀹氱▼搴︿笂闄嶄綆涓村簥鍜屾妧甯堟搷浣滈毦搴︼紝绠�鍖栨祦绋嬪拰鍒朵綔宸ヨ壓锛屼粠鑰屽彲鐩稿瀹规槗鍦拌幏寰楃鍚堣鑼冪殑缁堝嵃妯″拰棰屼綅鍏崇郴璁板綍锛屼负鏈�缁堢殑鍏ㄥ彛涔夐娇璐ㄩ噺濂犲畾鑹ソ鐨勫熀纭�锛屼篃鍑忓皯浜嗘偅鑰呯殑灏辫瘖娆℃暟銆備富娴佸彛鑵斾慨澶嶈璁¤蒋浠讹紙濡�3Shape銆丒xocad绛夛級閫氬父鍖呮嫭鍏ㄥ彛涔夐娇璁捐妯℃澘锛屽叾鐗欏垪鏀寔涓�涓�璋冩暣鐨勬ā寮忥紝绗﹀悎鍙h厰鎶�甯堢殑浼犵粺鎿嶄綔涔犳儻锛屼复搴婁篃鏈夎緝澶х殑鑷敱搴︺�傛妧甯堥渶瑕佺粡杩囦竴瀹氭椂闂寸殑瀛︿範鍜岄�傚簲锛屾墠鑳界啛缁冨湴浣跨敤杞欢杩涜涓�涓�鎺掔墮銆傛垜鍥借嚜涓荤爺鍙戠殑鏁板瓧鍖栧叏鍙d箟榻跨郴缁燂紝閲囩敤涔夐娇鏁版嵁搴撴ā鏉垮鍙傛暟鍖归厤鐨勭瓥鐣ワ紝鍦ㄤ釜鎬у寲缁堝嵃妯″拰棰屼綅鍏崇郴鐨勬暟鎹熀纭�涓婏紝鍙揩閫熷疄鐜扮鍚堝挰鍚堝叧绯荤殑涓婁笅棰岀墮鍒楋紝鍐嶈緟浠ヤ釜鎬у寲鐨勫熀鎵樺舰鎬侊紝澶уぇ绠�鍖栦簡涓村簥鍖荤敓鍜屾妧甯堢殑鎿嶄綔闅惧害鍜屾祦绋嬨��
+                        </p>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鍩哄簳鍐犺璁′换鍔¤瘎浠锋爣鍑嗚琛�2-4-1銆�</p>
-                    <p class="imgtitle">琛�2-4-1銆�鍩哄簳鍐犺璁′换鍔¤瘎浠锋爣鍑�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0062-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold" style="margin-top: -10px;">琛�2-4-1銆�鍩哄簳鍐犺璁′换鍔¤瘎浠锋爣鍑�</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0062-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="琛�2-4-1銆�鍩哄簳鍐犺璁′换鍔¤瘎浠锋爣鍑�" active="true" /></div>
 
                 </div>
                 <div class="page-bottom-left">046</div>
@@ -899,15 +930,30 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟浜斻��璐撮潰璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵鐨勮璁¤鍗曪紝瑕佹眰鍋�11鐡疯创闈慨澶嶃�傛ā鍨嬫暟鎹凡涓婁紶锛岃璁�11鐨勭摲璐撮潰銆�</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庤创闈㈣璁$殑鍏蜂綋姝ラ鏄�庢牱鐨勶紵</p>
-                    <p class="content">2锛庤创闈笉鍚岄儴浣嶇殑鍘氬害瑕佹眰鏄灏戯紵</p>
-                    <p class="content">3锛庡井绗戣璁″湪璐撮潰璁捐鐨勮繃绋嬩腑璧峰埌浠�涔堜綔鐢紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鎺ュ埌鏌愰棬璇婇�佹潵鐨勮璁¤鍗曪紝瑕佹眰鍋�11鐡疯创闈慨澶嶃�傛ā鍨嬫暟鎹凡涓婁紶锛岃璁�11鐨勭摲璐撮潰銆�</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庤创闈㈣璁$殑鍏蜂綋姝ラ鏄�庢牱鐨勶紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.nine" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庤创闈笉鍚岄儴浣嶇殑鍘氬害瑕佹眰鏄灏戯紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.ten" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">3锛庡井绗戣璁″湪璐撮潰璁捐鐨勮繃绋嬩腑璧峰埌浠�涔堜綔鐢紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.eleven" placeholder="璇疯緭鍏ュ唴瀹�"
+                                    rows="5" @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         璐撮潰锛坴eneer锛夋槸鐩墠涓村簥鍙h厰缇庡淇鐨勪竴绉嶄慨澶嶄綋銆傚湪鐗欎綋琛ㄩ潰鑹层�佸舰銆佽川涓嶇悊鎯崇殑鎯呭喌涓嬶紝璐撮潰淇琚О涓虹墮榻胯创闈慨澶嶃�傚畠鏄竴绉嶅湪灏介噺淇濆瓨娲婚珦銆佸皯纾ㄧ墮鎴栦笉纾ㄧ墮鐨勫墠鎻愪笅锛屼娇鐢ㄥ叏鐡风瓑浼樿川淇鏉愭枡锛岄�氳繃鍏堣繘鐨勭矘鎺ユ妧鏈紝鏉ユ仮澶嶇墮榻挎甯稿舰鎬佸拰鑹叉辰鐨勪慨澶嶆柟寮忋�傞殢鐫�绮樻帴鎶�鏈殑涓嶆柇鍙戝睍鍜屽悇绉嶈创闈慨澶嶆潗鏂欑殑骞挎硾搴旂敤锛岀墮榻胯创闈慨澶嶅凡鎴愪负涓�绉嶈秺鏉ヨ秺鍙楁杩庣殑淇鏂规硶銆傚湪鐗欎綋棰勫杩囩▼涓紝璐撮潰淇鑳藉鏈�澶ч檺搴﹀湴淇濆瓨澶╃劧鐗欎綋缁勭粐锛屽鐗欓娇鐨勪激瀹宠緝灏忥紝鍚屾椂鑳藉杈惧埌鐞嗘兂鐨勪慨澶嶆晥鏋溿�傝繖椤规妧鏈�愭笎鑾峰緱鏅亶璁ゅ彲锛屽凡缁忔垚涓轰复搴婂疄璺典腑甯哥敤鐨勪慨澶嶆柟娉曘�傝创闈㈢殑鍒囩褰㈡�佹湁鍑犵锛屾牴鎹垏绔笌鐗欎綋鐨勬帴瑙︽柟寮忎笉鍚屽ぇ鑷村彲浠ュ垎涓轰笁绉嶇被鍨嬶細寮�绐楀瀷銆佸鎺ュ瀷銆佸寘缁曞瀷銆備紶缁熸柟娉曞彲閲囩敤鐑帇閾搁�犻櫠鐡锋硶鍜岀矇娴嗘秱濉戠儰鐡锋硶锛岀幇鍦ㄥ箍娉涗娇鐢–AD/CAM鏂规硶鍔犲伐鍒朵綔銆�
                     </p>
@@ -915,7 +961,7 @@
                     <p class="content">浠ュ彸涓婇涓垏鐗欒创闈慨澶嶄负渚嬶紝浠嬬粛Exocad杞欢鐨勭摲璐撮潰璁捐宸ヨ壓娴佺▼銆�</p>
                     <p class="content">姝ょ梾渚嬪11鐗欎綅鍒朵綔鐡疯创闈紝璁㈠崟璁剧疆濡備笅锛�11鐗欎綅閫夋嫨璐撮潰锛屾牴鎹尰鐢熸彁渚涚殑璁捐鍗曢�夋嫨璐撮潰鏉愭枡銆備笅闈粙缁岴xocad杞欢璐撮潰璁捐銆�</p>
                     <p class="content"><span
-                            class="bold">1锛庢壂鎻忔垨瀵煎叆鏁版嵁</span>銆�鐗欎綅閫夋嫨锛欵xocad杞欢鐨勮鍗曞缓绔嬮噰鐢ㄧ墮浣嶅浘鐢靛瓙鎶�宸ュ崟褰㈠紡锛岀浉鍏宠缃柟娉曞鍓嶃�傜偣鍑昏鍗曢〉闈㈠彸渚х殑鈥滆璁♀�濇寜閽紝杩涘叆璐撮潰淇浣撹璁$晫闈紝鎵弿鎴栧鍏ユ偅鑰呭伐浣滄ā鍨嬪強瀵归妯″瀷鏁版嵁锛堝浘2-5-1锛夈��
+                            class="bold fontGreen">1锛庢壂鎻忔垨瀵煎叆鏁版嵁</span>銆�鐗欎綅閫夋嫨锛欵xocad杞欢鐨勮鍗曞缓绔嬮噰鐢ㄧ墮浣嶅浘鐢靛瓙鎶�宸ュ崟褰㈠紡锛岀浉鍏宠缃柟娉曞鍓嶃�傜偣鍑昏鍗曢〉闈㈠彸渚х殑鈥滆璁♀�濇寜閽紝杩涘叆璐撮潰淇浣撹璁$晫闈紝鎵弿鎴栧鍏ユ偅鑰呭伐浣滄ā鍨嬪強瀵归妯″瀷鏁版嵁锛堝浘2-5-1锛夈��
                     </p>
 
                 </div>
@@ -932,20 +978,21 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0064-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-1銆�瀵煎叆鏁版嵁</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0064-01.jpg" style="width:70%" alt="鍥�2-5-1銆�瀵煎叆鏁版嵁" active="true" />
+                        <p class="imgdescript-b">鍥�2-5-1銆�瀵煎叆鏁版嵁</p>
                     </div>
                     <p class="content"><span
-                            class="bold">2锛庣‘瀹氳竟缂樼嚎</span>銆�杈圭紭绾跨殑璋冩暣鏂规硶涓庡叏鍐犻缂樼嚎鐨勮皟鏁存柟娉曚竴鑷达紙鍥�2-5-2锛夛紝杈圭紭绾跨殑绮剧‘鎻愬彇瀵逛簬鍚庢湡璐撮潰鐨勮竟缂樺瘑鍚堝害鍙婄編瑙傛�у叿鏈夌洿鎺ュ奖鍝嶏紝鍥犳蹇呴』杩涜缁嗚嚧鐨勮皟鏁达紙鍥�2-5-3锛夈��
+                            class="bold fontGreen">2锛庣‘瀹氳竟缂樼嚎</span>銆�杈圭紭绾跨殑璋冩暣鏂规硶涓庡叏鍐犻缂樼嚎鐨勮皟鏁存柟娉曚竴鑷达紙鍥�2-5-2锛夛紝杈圭紭绾跨殑绮剧‘鎻愬彇瀵逛簬鍚庢湡璐撮潰鐨勮竟缂樺瘑鍚堝害鍙婄編瑙傛�у叿鏈夌洿鎺ュ奖鍝嶏紝鍥犳蹇呴』杩涜缁嗚嚧鐨勮皟鏁达紙鍥�2-5-3锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0064-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-2銆�缁樺埗杈圭紭绾�</p>
+                    <div class="qrbodyPic openImgBox" style="margin-bottom: 30px;">
+                        <img src="../../assets/images/0064-02.jpg" style="width:70%" alt="鍥�2-5-2銆�缁樺埗杈圭紭绾�" active="true" />
+                        <p class="imgdescript-b">鍥�2-5-2銆�缁樺埗杈圭紭绾�</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0064-03.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-3銆�绮剧粏璋冭妭杈圭紭绾�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0064-03.jpg" style="width:70%" alt="鍥�2-5-3銆�绮剧粏璋冭妭杈圭紭绾�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-3銆�绮剧粏璋冭妭杈圭紭绾�</p>
                     </div>
 
                 </div>
@@ -962,21 +1009,23 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">3锛庣‘瀹氬氨浣嶉亾鏂瑰悜</span>銆�璐撮潰鐨勫畾浣嶆柟鍚戜笌鍐犳ˉ淇瀛樺湪宸紓锛岄�氬父鎯呭喌涓嬶紝搴斾粠鍞囦晶鍚戣垖渚ц繘琛屽畾浣嶅苟绮樻帴銆傞拡瀵瑰垏绔寘缁曠殑鎯呭舰锛屽繀椤讳緷鎹笉鍚岃创闈㈢殑瀹為檯瀹氫綅鏂瑰悜杩涜鐩稿簲鐨勮皟鏁达紙鍥�2-5-4锛夈��
+                            class="bold fontGreen">3锛庣‘瀹氬氨浣嶉亾鏂瑰悜</span>銆�璐撮潰鐨勫畾浣嶆柟鍚戜笌鍐犳ˉ淇瀛樺湪宸紓锛岄�氬父鎯呭喌涓嬶紝搴斾粠鍞囦晶鍚戣垖渚ц繘琛屽畾浣嶅苟绮樻帴銆傞拡瀵瑰垏绔寘缁曠殑鎯呭舰锛屽繀椤讳緷鎹笉鍚岃创闈㈢殑瀹為檯瀹氫綅鏂瑰悜杩涜鐩稿簲鐨勮皟鏁达紙鍥�2-5-4锛夈��
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庣‘瀹氶棿闅欏墏鍘氬害</span>銆�渚濇嵁涓嶅悓鐨勮创闈㈡潯浠讹紝璁惧畾鐩稿簲鐨勯棿闅欏墏鍘氬害銆傛湰渚嬩腑锛屽彸涓婇涓垏鐗欑殑闂撮殭鍓傚帤搴﹁瀹氫负0.025mm锛堝浘2-5-5锛夛紝鏃ㄥ湪渚夸簬鍚庢湡璐撮潰鐨勭揣瀵嗙矘鎺ャ��
+                            class="bold fontGreen">4锛庣‘瀹氶棿闅欏墏鍘氬害</span>銆�渚濇嵁涓嶅悓鐨勮创闈㈡潯浠讹紝璁惧畾鐩稿簲鐨勯棿闅欏墏鍘氬害銆傛湰渚嬩腑锛屽彸涓婇涓垏鐗欑殑闂撮殭鍓傚帤搴﹁瀹氫负0.025mm锛堝浘2-5-5锛夛紝鏃ㄥ湪渚夸簬鍚庢湡璐撮潰鐨勭揣瀵嗙矘鎺ャ��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0065-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-4銆�纭畾灏变綅閬撴柟鍚�</p>
+                    <div class="qrbodyPic openImgBox" style="margin-bottom: 30px;">
+                        <img src="../../assets/images/0065-01.jpg" style="width:70%" alt="鍥�2-5-4銆�纭畾灏变綅閬撴柟鍚�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-4銆�纭畾灏变綅閬撴柟鍚�</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0065-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-5銆�纭畾闂撮殭鍓傚帤搴�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0065-02.jpg" style="width:70%" alt="鍥�2-5-5銆�纭畾闂撮殭鍓傚帤搴�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-5銆�纭畾闂撮殭鍓傚帤搴�</p>
                     </div>
                     <p class="content"><span
-                            class="bold">5锛庤璁$墮鍐犺В鍓栧褰�</span>銆�渚濇嵁瀵逛晶鍚屽悕鐗欓娇鐨勮В鍓栧舰鎬侊紝浠庣墮鍐犳暟鎹簱涓�夊彇閫傚悎鐨勬爣鍑嗙墮鍐狅紝鎴栧埄鐢ㄩ暅鍍忔妧鏈鍒跺渚у悓鍚嶇墮榻跨殑瑙e墫褰㈡�侊紙鍥�2-5-6锛夈�傚瑙e墫鐗欏啝鐨勫舰鎬佽繘琛岀粏鑷磋皟鏁达紝浠庡涓搴﹀瑙嗗叾鍗忚皟鎬т笌缇庤搴︼紙鍥�2-5-7锛夈�傝繍鐢ㄨ竟缂樼嚎杩炴帴宸ュ叿瀹炵幇鐗欏啝杈圭紭涓庨澶囦綋棰堢紭绾跨殑鏃犵紳瀵规帴銆�
+                            class="bold fontGreen">5锛庤璁$墮鍐犺В鍓栧褰�</span>銆�渚濇嵁瀵逛晶鍚屽悕鐗欓娇鐨勮В鍓栧舰鎬侊紝浠庣墮鍐犳暟鎹簱涓�夊彇閫傚悎鐨勬爣鍑嗙墮鍐狅紝鎴栧埄鐢ㄩ暅鍍忔妧鏈鍒跺渚у悓鍚嶇墮榻跨殑瑙e墫褰㈡�侊紙鍥�2-5-6锛夈�傚瑙e墫鐗欏啝鐨勫舰鎬佽繘琛岀粏鑷磋皟鏁达紝浠庡涓搴﹀瑙嗗叾鍗忚皟鎬т笌缇庤搴︼紙鍥�2-5-7锛夈�傝繍鐢ㄨ竟缂樼嚎杩炴帴宸ュ叿瀹炵幇鐗欏啝杈圭紭涓庨澶囦綋棰堢紭绾跨殑鏃犵紳瀵规帴銆�
                     </p>
 
 
@@ -994,15 +1043,18 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0066-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-5-6銆�闀滃儚鎶�鏈鍒跺渚у悓鍚嶇墮榻跨殑瑙e墫褰㈡��</p>
+                    <div class="qrbodyPic openImgBox" style="margin-bottom: 30px;">
+                        <img src="../../assets/images/0066-01.jpg" style="width:70%" alt="鍥�2-5-6銆�闀滃儚鎶�鏈鍒跺渚у悓鍚嶇墮榻跨殑瑙e墫褰㈡��"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-6銆�闀滃儚鎶�鏈鍒跺渚у悓鍚嶇墮榻跨殑瑙e墫褰㈡��</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0066-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-5-7銆�鐗欏啝杈圭紭涓庨澶囦綋棰堢紭绾跨殑杩炴帴铻嶅悎</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0066-02.jpg" style="width:70%" alt="鍥�2-5-7銆�鐗欏啝杈圭紭涓庨澶囦綋棰堢紭绾跨殑杩炴帴铻嶅悎"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-7銆�鐗欏啝杈圭紭涓庨澶囦綋棰堢紭绾跨殑杩炴帴铻嶅悎</p>
                     </div>
-                    <p class="content"><span class="bold">6锛庤皟鏁村挰鍚堝叧绯诲強閭绘帴鍏崇郴锛堝浘2-5-8锛�</span>銆�瑕佹敞鎰忎互涓嬪嚑鐐广��</p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">6锛庤皟鏁村挰鍚堝叧绯诲強閭绘帴鍏崇郴锛堝浘2-5-8锛�</span>銆�瑕佹敞鎰忎互涓嬪嚑鐐广��
+                    </p>
                     <p class="content">锛�1锛夊湪杩涜鍓嶄几杩愬姩鍜屼晶鏂硅繍鍔ㄦ鏌ユ椂锛屽簲纭繚淇浣撴棤闃荤锛屽苟娑堥櫎鎵�鏈夋棭鎺ヨЕ鐐广��</p>
                     <p class="content">
                         锛�2锛夋鏌ラ偦鐗欑殑閭绘帴鍖轰綅缃紝纭繚鍏堕珮搴﹂�備腑锛屾棦涓嶈繃楂樹篃涓嶈繃浣庛�傚墠鐗欏尯鍩熺殑閭绘帴鐐瑰簲鍋忓悜鍞囦晶锛岃�岄殢鐫�浣嶇疆鍚戣繙涓Щ鍔紝閭绘帴鐐瑰簲閫愭笎绉昏嚦涓�1/3鍖哄煙銆傚悓鏃讹紝妫�鏌ラ偦鎺ュ尯鍩熺殑闈㈢Н锛岀‘淇濆叾鏃笉杩囧ぇ涔熶笉杩囧皬锛屼互閬垮厤椋熺墿宓屽銆�
@@ -1022,16 +1074,17 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0067-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-5-8銆�璋冩暣鍜悎鍏崇郴鍙婇偦鎺ュ叧绯�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0067-01.jpg" style="width:75%" alt="鍥�2-5-8銆�璋冩暣鍜悎鍏崇郴鍙婇偦鎺ュ叧绯�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-8銆�璋冩暣鍜悎鍏崇郴鍙婇偦鎺ュ叧绯�</p>
                     </div>
                     <p class="content"><span
-                            class="bold">7锛庣敓鎴愯创闈�</span>銆�杞欢鑳藉渚濇嵁鐗欎綋棰勫鐨勮竟缂樼嚎杞粨锛屽璋冩暣瀹屾瘯鐨勭墮鍐犲褰㈣繘琛岃繘涓�姝ョ殑浼樺寲锛堝浘2-5-9锛夈�傚敖绠$畻娉曡嚧鍔涗簬瀹炵幇鑷劧鐨勮鎺ユ晥鏋滐紝浣嗕粛鐒堕渶瑕侀�氳繃鎵嬪伐鏂瑰紡瀵硅竟缂樿鎺ョ殑杩囨浮閮ㄥ垎杩涜缁嗚嚧鐨勫井璋冦�傚湪杩涜褰㈡�佽皟鏁存椂锛岀壒鍒渶瑕佹敞鎰忕‘淇濊创闈㈢殑鏁翠綋鍘氬害鍙婅竟缂樺帤搴︼紝浠ラ槻鍥犲帤搴︿笉瓒宠�屽湪鍚庣画鍔犲伐杩囩▼涓嚭鐜板穿鐡风幇璞°�傛渶缁堬紝瀹屾垚璁捐宸ヤ綔鍚庯紝搴斾繚瀛樺苟杈撳嚭鏁版嵁锛堝浘2-5-10锛夈��
+                            class="bold fontGreen">7锛庣敓鎴愯创闈�</span>銆�杞欢鑳藉渚濇嵁鐗欎綋棰勫鐨勮竟缂樼嚎杞粨锛屽璋冩暣瀹屾瘯鐨勭墮鍐犲褰㈣繘琛岃繘涓�姝ョ殑浼樺寲锛堝浘2-5-9锛夈�傚敖绠$畻娉曡嚧鍔涗簬瀹炵幇鑷劧鐨勮鎺ユ晥鏋滐紝浣嗕粛鐒堕渶瑕侀�氳繃鎵嬪伐鏂瑰紡瀵硅竟缂樿鎺ョ殑杩囨浮閮ㄥ垎杩涜缁嗚嚧鐨勫井璋冦�傚湪杩涜褰㈡�佽皟鏁存椂锛岀壒鍒渶瑕佹敞鎰忕‘淇濊创闈㈢殑鏁翠綋鍘氬害鍙婅竟缂樺帤搴︼紝浠ラ槻鍥犲帤搴︿笉瓒宠�屽湪鍚庣画鍔犲伐杩囩▼涓嚭鐜板穿鐡风幇璞°�傛渶缁堬紝瀹屾垚璁捐宸ヤ綔鍚庯紝搴斾繚瀛樺苟杈撳嚭鏁版嵁锛堝浘2-5-10锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0067-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-9銆�鐢熸垚璐撮潰</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0067-02.jpg" style="width:75%" alt="鍥�2-5-9銆�鐢熸垚璐撮潰" active="true" />
+                        <p class="imgdescript-b">鍥�2-5-9銆�鐢熸垚璐撮潰</p>
                     </div>
 
                 </div>
@@ -1048,22 +1101,24 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0068-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-10銆�瀹屾垚璁捐</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0068-01.jpg" style="width:70%" alt="鍥�2-5-10銆�瀹屾垚璁捐" active="true" />
+                        <p class="imgdescript-b">鍥�2-5-10銆�瀹屾垚璁捐</p>
                     </div>
                     <h3 class="thirdTitle">浜屻�佽创闈㈢殑DSD璁捐</h3>
                     <p class="content">闅忕潃鍖荤枟浜哄憳涓庢偅鑰呴渶姹傜殑鏃ョ泭澧為暱锛岄娴嬫不鐤楀墠鐨勪慨澶嶆晥鏋滃凡鎴愪负鍙兘锛岃繖寰楃泭浜庢暟瀛楀井绗戣璁★紙digital smile
                         design锛孌SD锛夋妧鏈殑搴旂敤銆侱SD鎶�鏈皢浜岀淮缇庡璁捐杞寲涓轰笁缁磋创闈㈡垨淇浣撹璁★紝浣垮緱鎮h�呫�佸尰鐢熷強鎶�甯堣兘澶熸洿鍏ㄩ潰涓旂洿瑙傚湴瑙傚療鍒颁慨澶嶄綋鍦ㄦ偅鑰呭彛鑵斿唴鐨勫舰鎬併�佷綅缃強棰滆壊銆傝繖涓�鎶�鏈湪鍖荤枟浜哄憳銆佹偅鑰呬笌鎶�甯堜箣闂寸殑娌熼�氫腑鎵紨浜嗚嚦鍏抽噸瑕佺殑瑙掕壊銆�
                     </p>
                     <p class="content">涓虹‘淇濇偅鑰呴殣绉侊紝閲囩敤浠跨湡澶存ā鍨嬭繘琛屾紨绀恒�備笅闈互鍙充笂棰屼腑鍒囩墮璐撮潰淇涓轰緥锛屼粙缁岴xocad杞欢鍦ㄧ摲璐撮潰DSD璁捐宸ヨ壓娴佺▼涓殑搴旂敤銆�</p>
-                    <p class="content"><span class="bold">1锛庡缓绔嬭鍗�</span>銆�姝ょ梾渚嬪彸涓婇涓垏鐗欒杩涜璐撮潰璁捐锛屽湪鐗欏紦瑙嗗浘涓婄偣鍑烩��11鈥濓紝閫夋嫨鈥淪mile
+                    <p class="content"><span class="bold fontGreen">1锛庡缓绔嬭鍗�</span>銆�姝ょ梾渚嬪彸涓婇涓垏鐗欒杩涜璐撮潰璁捐锛屽湪鐗欏紦瑙嗗浘涓婄偣鍑烩��11鈥濓紝閫夋嫨鈥淪mile
                         design鈥濆缓绔嬭鍗曘��</p>
                     <p class="content"><span
-                            class="bold">2锛嶥SD璁捐鐓х墖鐨勫鐞嗗強瀵煎叆</span>銆�瀵煎叆鎮h�呯殑寰瑧鐓х墖鍜岀壍寮曞櫒涓嬫墿鍙g収锛堝浘2-5-11锛夛紝鏍规嵁杞欢鎻愮ず瀹屾垚鐗靛紩鍣ㄧ殑鐓х墖鍙婂井绗戠収鐗囦綅缃殑鎽嗘斁銆�</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0068-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-5-11銆�瀵煎叆鐗靛紩鍣ㄤ笅鎵╁彛鐓�</p>
+                            class="bold fontGreen">2锛嶥SD璁捐鐓х墖鐨勫鐞嗗強瀵煎叆</span>銆�瀵煎叆鎮h�呯殑寰瑧鐓х墖鍜岀壍寮曞櫒涓嬫墿鍙g収锛堝浘2-5-11锛夛紝鏍规嵁杞欢鎻愮ず瀹屾垚鐗靛紩鍣ㄧ殑鐓х墖鍙婂井绗戠収鐗囦綅缃殑鎽嗘斁銆�
+                    </p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0068-02.jpg" style="width:75%" alt="鍥�2-5-11銆�瀵煎叆鐗靛紩鍣ㄤ笅鎵╁彛鐓�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-11銆�瀵煎叆鐗靛紩鍣ㄤ笅鎵╁彛鐓�</p>
                     </div>
 
                 </div>
@@ -1080,17 +1135,19 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content">3锛庣偣鍑荤灣瀛斻�侀蓟缈煎拰鍙h鍏釜瀹氫綅鐐圭‘瀹氶潰閮ㄤ腑绾匡紝缁樺埗鍞囩嚎杞粨锛堝浘2-5-12锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0069-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-12銆�缁樺埗鍞囩嚎杞粨</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0069-01.jpg" style="width:75%" alt="鍥�2-5-12銆�缁樺埗鍞囩嚎杞粨"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-12銆�缁樺埗鍞囩嚎杞粨</p>
                     </div>
                     <p class="content">4锛庨�夋嫨鎵╁彛鐓т笅鐨勫悓鐗欎綅鍚屽悕瑙e墫鏍囪鐐癸紝杩涜鍚屽悕鐗欏鍒讹紙鍥�2-5-13锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0069-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�2-5-13銆�鎵╁彛鐓т笅鐨勫悓鐗欎綅鍚屽悕瑙e墫鏍囪鐐�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0069-02.jpg" style="width:75%" alt="鍥�2-5-13銆�鎵╁彛鐓т笅鐨勫悓鐗欎綅鍚屽悕瑙e墫鏍囪鐐�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-13銆�鎵╁彛鐓т笅鐨勫悓鐗欎綅鍚屽悕瑙e墫鏍囪鐐�</p>
                     </div>
                     <p class="content"><span
-                            class="bold">5锛庨�夋嫨鐗欓娇褰㈡�佺被鍨嬭繘琛孌SD璁捐</span>銆�閫夋嫨鎮h�呭悓鍚嶇墮榻垮舰鎬佺殑鏁版嵁绫诲瀷锛岀偣鍑诲绉拌璁″強杩炴帴鐨勮璁★紝瀵圭墮榻跨殑闀垮姣旇繘琛岃皟鏁达紝姝よ皟鏁村彲浠ュ畬鎴愬绉板悓鍚嶇墮闀垮姣斻�佸ぇ灏忓拰鐗欓娇杞村悜鐨勮璁°�傞�夋嫨鑷敱褰㈡�佸彲浠ョ紪杈戠墮榻跨殑鍗婂緞鑼冨洿鍙婄粯鍒跺钩婊戠殑鑼冨洿銆傞�夋嫨闀滃儚鐗欓娇鍔熻兘鍙互瀵瑰凡缁忚皟鏁村ソ鐨勮璁¤繘琛屽渚у悓鍚嶇墮鐨勫鍒讹紝鍑忓皬璁捐寮哄害銆�
+                            class="bold fontGreen">5锛庨�夋嫨鐗欓娇褰㈡�佺被鍨嬭繘琛孌SD璁捐</span>銆�閫夋嫨鎮h�呭悓鍚嶇墮榻垮舰鎬佺殑鏁版嵁绫诲瀷锛岀偣鍑诲绉拌璁″強杩炴帴鐨勮璁★紝瀵圭墮榻跨殑闀垮姣旇繘琛岃皟鏁达紝姝よ皟鏁村彲浠ュ畬鎴愬绉板悓鍚嶇墮闀垮姣斻�佸ぇ灏忓拰鐗欓娇杞村悜鐨勮璁°�傞�夋嫨鑷敱褰㈡�佸彲浠ョ紪杈戠墮榻跨殑鍗婂緞鑼冨洿鍙婄粯鍒跺钩婊戠殑鑼冨洿銆傞�夋嫨闀滃儚鐗欓娇鍔熻兘鍙互瀵瑰凡缁忚皟鏁村ソ鐨勮璁¤繘琛屽渚у悓鍚嶇墮鐨勫鍒讹紝鍑忓皬璁捐寮哄害銆�
                     </p>
                     <p class="content">DSD璁捐鐨勪慨澶嶇粨鏋滃彲璁╂偅鑰呭拰鍖荤敓杩涜鍙傝�冿紝浠ュ喅瀹氭渶鍚庣殑璁捐鏂规锛堝浘2-5-14锛夈��</p>
 
@@ -1109,36 +1166,36 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0070-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�2-5-14銆�DSD璁捐缁撴灉</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0070-01.jpg" style="width:75%" alt="鍥�2-5-14銆�DSD璁捐缁撴灉"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�2-5-14銆�DSD璁捐缁撴灉</p>
                     </div>
                     <p class="content">
                         灏嗚璁″ソ鐨凞SD璁捐鏁版嵁瀵煎嚭锛屽彲灏嗗叾瀵煎叆Exocad淇璁捐杞欢涓繘琛岃创闈㈢殑3D璁捐銆傛鏃舵棤椤婚噸鏂板缓绔嬭鍗曪紝鍒╃敤宸叉湁鐨勭數瀛愯鍗曪紝瀵煎叆鎮h�呭彛鍐呮壂鎻忔垨妯″瀷鎵弿鐨勭墮鍒楁暟鎹紝浠ュ強棰滈潰涓夌淮鎵弿鏁版嵁銆傚湪璐撮潰璁捐杩囩▼涓紝鍙鍏ヤ簩缁碊SD璁捐鐓х墖锛屾瘮瀵瑰弬鑰冧笅瀹屾垚璐撮潰璁捐鎴栫編瀛﹁湣鍨嬭璁°��
                     </p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">浼犵粺璐撮潰淇</span></p>
-                    <p class="quotation">杩戠櫨骞存潵锛岀儰鐡疯创闈㈡妧鏈竴鐩村瓨鍦紝鏈�鍒濈殑鐡疯创闈慨澶嶉兘鏄�氳繃姝ゆ妧鏈疄鐜扮殑銆�</p>
-                    <p class="quotation">
-                        鐑ょ摲鏉愭枡鏈韩寮哄害涓嶉珮锛屽姞涓婃棭鏈熺矘鎺ユ潗鏂欑殑灞�闄愭�э紝瀵艰嚧鏃╂湡鐑ょ摲璐撮潰鐨勬垚鍔熺巼涓嶉珮锛岃澶氬尰鐢熷洜姝ゆ斁寮冧簡杩欑淇鏂规硶銆傜劧鑰岋紝闅忕潃绮樻帴鏉愭枡鎶�鏈殑椋為�熻繘姝ワ紝绮樻帴寮哄害鍜岀矘鎺ユ爲鑴傜殑鑷韩寮哄害鏄捐憲鎻愬崌锛屼娇寰楀師鏈己搴︿笉瓒崇殑鐑ょ摲璐撮潰鍦ㄥ緱鍒拌壇濂界殑绮樻帴鍩虹鍚庯紝灞曠幇鍑烘瀬浣崇殑寮哄害锛屽叾闀挎湡浣跨敤鐨勬湁鏁堟�у緱鍒拌鍙紝鍥犳瓒婃潵瓒婂鐨勫尰鐢熷紑濮嬮噸鏂伴噰鐢ㄧ儰鐡疯创闈㈡妧鏈繘琛屼慨澶嶃�傜儰鐡锋妧鏈寘鎷矇娴嗘秱濉戠儰鐡锋妧鏈拰鐑帇閾搁�犻櫠鐡锋妧鏈��
-                    </p>
-                    <p class="quotation">1锛庣矇娴嗘秱濉戠儰鐡锋妧鏈��鏄洰鍓嶄负鎶�甯堟洿澶氶�夋嫨涓斿簲鐢ㄧ殑鐑ょ摲璐撮潰鍒朵綔鎶�鏈�傝繖绉嶆妧鏈殑鍩烘湰姝ラ濡備笅銆�</p>
-                    <p class="quotation">锛�1锛夌炕鍒朵唬鍨嬪伐浣滄ā鍨嬨��</p>
-                    <p class="quotation">锛�2锛夊鍒惰�愮伀鏉愭枡浠e瀷锛堝彲鎶芥彃寮忥級銆�</p>
-                    <p class="quotation">锛�3锛夊湪鍙娊鎻掕�愮伀鏉愭枡浠e瀷涓婂爢濉戠摲绮夛紝褰㈡垚鐡疯创闈€��</p>
-                    <p class="quotation">锛�4锛夊皢鑰愮伀浠e瀷鍜岀摲璐撮潰鍏卞悓杩涚倝杩涜鐑ゅ埗銆�</p>
-                    <p class="quotation">锛�5锛夎皟鏁淬�佷慨楗般�佷笂閲夈��</p>
-                    <p class="quotation">锛�6锛夊埄鐢ㄥ柗鐮傜殑鏂瑰紡鍘婚櫎鑰愮伀浠e瀷銆�</p>
-                    <p class="quotation">
-                        2锛庣儹鍘嬮摳閫犻櫠鐡锋妧鏈��鐢变簬鐑ょ摲璐撮潰鐨勫己搴﹁緝浣庯紝鍏跺姞宸ヤ笌鎿嶄綔鍧囪緝涓哄鏉傦紝鍙h厰鍖诲鎶�鏈笓瀹朵笌鏉愭枡瀛︾爺绌惰�呮寔缁嚧鍔涗簬寮�鍙戞柊鐨勬潗鏂欎笌鎶�鏈紝浠ラ�傚簲鐡疯创闈㈢殑鍔犲伐闇�姹傘�傞殢鐫�鐑帇閾搁�犻櫠鐡锋妧鏈殑鎴愮啛锛屽畠宸茶鏈夋晥鍦板簲鐢ㄤ簬璐撮潰淇浣撶殑鍒朵綔锛屽嚑涔庢垚涓鸿创闈㈡妧鏈殑浠e悕璇嶃��
-                    </p>
-
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">浼犵粺璐撮潰淇</span></p>
+                        <p class="quotation">杩戠櫨骞存潵锛岀儰鐡疯创闈㈡妧鏈竴鐩村瓨鍦紝鏈�鍒濈殑鐡疯创闈慨澶嶉兘鏄�氳繃姝ゆ妧鏈疄鐜扮殑銆�</p>
+                        <p class="quotation">
+                            鐑ょ摲鏉愭枡鏈韩寮哄害涓嶉珮锛屽姞涓婃棭鏈熺矘鎺ユ潗鏂欑殑灞�闄愭�э紝瀵艰嚧鏃╂湡鐑ょ摲璐撮潰鐨勬垚鍔熺巼涓嶉珮锛岃澶氬尰鐢熷洜姝ゆ斁寮冧簡杩欑淇鏂规硶銆傜劧鑰岋紝闅忕潃绮樻帴鏉愭枡鎶�鏈殑椋為�熻繘姝ワ紝绮樻帴寮哄害鍜岀矘鎺ユ爲鑴傜殑鑷韩寮哄害鏄捐憲鎻愬崌锛屼娇寰楀師鏈己搴︿笉瓒崇殑鐑ょ摲璐撮潰鍦ㄥ緱鍒拌壇濂界殑绮樻帴鍩虹鍚庯紝灞曠幇鍑烘瀬浣崇殑寮哄害锛屽叾闀挎湡浣跨敤鐨勬湁鏁堟�у緱鍒拌鍙紝鍥犳瓒婃潵瓒婂鐨勫尰鐢熷紑濮嬮噸鏂伴噰鐢ㄧ儰鐡疯创闈㈡妧鏈繘琛屼慨澶嶃�傜儰鐡锋妧鏈寘鎷矇娴嗘秱濉戠儰鐡锋妧鏈拰鐑帇閾搁�犻櫠鐡锋妧鏈��
+                        </p>
+                        <p class="quotation">1锛庣矇娴嗘秱濉戠儰鐡锋妧鏈��鏄洰鍓嶄负鎶�甯堟洿澶氶�夋嫨涓斿簲鐢ㄧ殑鐑ょ摲璐撮潰鍒朵綔鎶�鏈�傝繖绉嶆妧鏈殑鍩烘湰姝ラ濡備笅銆�</p>
+                        <p class="quotation">锛�1锛夌炕鍒朵唬鍨嬪伐浣滄ā鍨嬨��</p>
+                        <p class="quotation">锛�2锛夊鍒惰�愮伀鏉愭枡浠e瀷锛堝彲鎶芥彃寮忥級銆�</p>
+                        <p class="quotation">锛�3锛夊湪鍙娊鎻掕�愮伀鏉愭枡浠e瀷涓婂爢濉戠摲绮夛紝褰㈡垚鐡疯创闈€��</p>
+                        <p class="quotation">锛�4锛夊皢鑰愮伀浠e瀷鍜岀摲璐撮潰鍏卞悓杩涚倝杩涜鐑ゅ埗銆�</p>
+                        <p class="quotation">锛�5锛夎皟鏁淬�佷慨楗般�佷笂閲夈��</p>
+                        <p class="quotation">锛�6锛夊埄鐢ㄥ柗鐮傜殑鏂瑰紡鍘婚櫎鑰愮伀浠e瀷銆�</p>
+                        <p class="quotation">
+                            2锛庣儹鍘嬮摳閫犻櫠鐡锋妧鏈��鐢变簬鐑ょ摲璐撮潰鐨勫己搴﹁緝浣庯紝鍏跺姞宸ヤ笌鎿嶄綔鍧囪緝涓哄鏉傦紝鍙h厰鍖诲鎶�鏈笓瀹朵笌鏉愭枡瀛︾爺绌惰�呮寔缁嚧鍔涗簬寮�鍙戞柊鐨勬潗鏂欎笌鎶�鏈紝浠ラ�傚簲鐡疯创闈㈢殑鍔犲伐闇�姹傘�傞殢鐫�鐑帇閾搁�犻櫠鐡锋妧鏈殑鎴愮啛锛屽畠宸茶鏈夋晥鍦板簲鐢ㄤ簬璐撮潰淇浣撶殑鍒朵綔锛屽嚑涔庢垚涓鸿创闈㈡妧鏈殑浠e悕璇嶃��
+                        </p>
+                    </div>
                 </div>
                 <div class="page-bottom-left">054</div>
             </div>
         </div>
-
         <!-- Page 61 (濂囨暟椤�) -->
         <div class="page-box" page="61">
             <div v-if="showPageList.indexOf(61) > -1">
@@ -1154,30 +1211,168 @@
                     <p class="quotation">锛�4锛夎繘琛屾墦纾ㄣ�佸褰€�佷慨楗般�佺潃鑹插拰涓婇噳绛夊伐搴忋��</p>
                     <p class="quotation">
                         鑷粠鐑帇閾搁�犻櫠鐡锋妧鏈帹鍑轰互鏉ワ紝宸茬粡缁忓巻浜嗘暟浠d骇鍝佺殑鏇存柊鎹唬銆傚敖绠″畠浠殑鍩烘湰鎴愬垎瀛樺湪宸紓锛屼絾鎿嶄綔姝ラ鍜屼富瑕佹�ц兘鍗村ぇ鑷寸浉鍚屻�傚畠浠箣闂存渶鏄捐憲鐨勫樊寮傚湪浜庡己搴︾殑鎸佺画鎻愬崌銆�</p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">璐撮潰璁捐浠诲姟璇勪环鏍囧噯瑙佽〃2-5-1銆�</p>
-                    <p class="imgtitle">琛�2-5-1銆�璐撮潰璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0071-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0071-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�2-5-1銆�璐撮潰璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox">
+                        <img src="../../assets/images/0071-01.jpg" style="width:100%;margin-top: -10px;"
+                            alt="琛�2-5-1銆�璐撮潰璁捐浠诲姟璇勪环鏍囧噯" active="true" />
+                    </div>
+                    <div class="unitSummary mb-20">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B4'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鍩哄簳鍐犺璁�">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鍩哄簳鍐犺璁�</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B5'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鍩哄簳妗ヨ璁�">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鍩哄簳妗ヨ璁�</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B6'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 宓屼綋璁捐">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 宓屼綋璁捐</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B7'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鍏ㄥ啝璁捐">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鍏ㄥ啝璁捐</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B8'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 璐撮潰璁捐">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 璐撮潰璁捐</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="unitSummary">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C5'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 鍥哄畾妗ヨ璁� 灏忕粨">椤圭洰浜� 鍥哄畾妗ヨ璁� 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C6'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 鍩哄簳鍐犺璁� 灏忕粨">椤圭洰浜� 鍩哄簳鍐犺璁� 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C7'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 宓屼綋璁捐 灏忕粨">椤圭洰浜� 宓屼綋璁捐 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C8'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 鍏ㄥ啝璁捐 灏忕粨">椤圭洰浜� 鍏ㄥ啝璁捐 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C9'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 璐撮潰璁捐 灏忕粨">椤圭洰浜� 璐撮潰璁捐 灏忕粨</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>棰樺簱</span>
+                        </div>
+                        <div class="knowledgeExpansion-box">
+                            <img src="../../assets/images/tuoZhan.svg" alt="" />
+                            <span @click="openQuestion(getResourceInfo('AA3'))">鎷撳睍缁冧範</span>
+                        </div>
+                    </div>
                     <p class="right-info">锛堟浌鐜茬幉銆�鐜嬫ⅵ鍦嗐��寰愪匠闊炽��榛勭ⅶ鍧わ級</p>
-
                 </div>
                 <div class="page-bottom-right">055</div>
             </div>
         </div>
+        <preView :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef"></preView>
+        <dialogExaminations :cardList="interfaceQuestion" :questionIDList="questionIDList" :page="questionNum"
+            :questionTitle="questionTitleMain" ref="dialogRef">
+        </dialogExaminations>
     </div>
 </template>
 
 
 <script>
+import preView from "@/components/pdfview/index.vue";
+import bookVideo from "@/components/bookVideo/index.vue";
+import dialogExaminations from "@/components/dialogExaminations/index.vue";
 export default {
     name: "chapterThree",
     props: {
         showPageList: {
             type: Array,
         },
+        getResourceInfo: {
+            type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
+            required: true,
+        },
+        interfaceQuestion: {
+            type: Array,
+            required: true,
+            default: () => [],
+        },
+    },
+    components: {
+        preView,
+        bookVideo,
+        dialogExaminations,
+    },
+    data() {
+        return {
+            p_md5: "",
+            somePdfTitleValue: "",
+            // 棰樼洰鐩稿叧
+            questionNum: 0,
+            questionTitleMain: "",
+            questionIDList: [],
+            questionData: {
+                one: "",
+                two: "",
+                three: "",
+                fore: "",
+                five: "",
+                six: "",
+                seven: "",
+                eight: "",
+                nine: "",
+                ten: "",
+                eleven: ""
+            }
+        };
+    },
+    mounted() {
+        this.getQuestionData()
+    },
+    methods: {
+
+        toUrl(val) {
+            if (val != null) {
+                this.p_md5 = val.md5;
+                this.somePdfTitleValue = val.resourceName;
+                this.$refs.pdfDialogRef.openDialog();
+            }
+        },
+
+        openQuestion(val) {
+            if (val != undefined) {
+                this.questionNum = val.pagination;
+                this.questionTitleMain = val.resourceName;
+                this.questionIDList = val.ids;
+                this.$nextTick(() => {
+                    this.$refs.dialogRef.openDialogQuestion();
+                });
+            }
+        },
+
+        setQuestionData() {
+            localStorage.setItem(
+                "digitalDentalRestorationTechnology-book-chapter03-questionData",
+                JSON.stringify(this.questionData)
+            );
+        },
+        getQuestionData() {
+            let questionData = localStorage.getItem("digitalDentalRestorationTechnology-book-chapter03-questionData");
+            if (questionData) {
+                this.questionData = JSON.parse(questionData);
+            }
+        },
     },
 }
 </script>
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/chapter004.vue b/src/books/digitalDentalRestorationTechnology/view/components/chapter004.vue
index 719785e..30464d3 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/chapter004.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/chapter004.vue
@@ -9,32 +9,52 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <h1 class="firstTitle-l mb-70 pt-70">椤圭洰涓夈��娲诲姩涔夐娇淇璁捐宸ヨ壓</h1>
-                    <div class="bodyPic"><img src="../../assets/images/0072-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0017-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绱犺川鐩爣</span></p>
-                    <p class="content">锛�1锛夊叿澶囨帰绱㈡湭鐭ラ鍩熺殑绉戝绮剧锛屼繚鎸佸娲诲姩涔夐娇璁捐鏂版潗鏂欍�佹柊鎶�鏈殑鎸佺画鍏虫敞锛屽紑鍙戞柊鐨勮璁℃�濊矾锛岃В鍐冲彛鑵旂墮鍒楃己鎹熺殑涓村簥闂銆�</p>
-                    <p class="content">锛�2锛夋彁鍗囩瀛﹀垎鏋愯兘鍔涳紝鐢ㄥ彂灞曠殑鐪煎厜鐪嬪緟娲诲姩涔夐娇淇鍓嶆櫙銆�</p>
-                    <p class="center">........................</p>
-                    <p class="center"><span class="bold">鐭ヨ瘑鐩爣</span></p>
-                    <p class="content">锛�1锛夋帉鎻★細鑲皬鍒嗙被鐗欏垪缂烘崯淇鐨勪箟榻跨壒鐐癸紝浠ュ強鍏跺搴旂殑鏀灦璁捐瑕佺偣涓庤璁℃柟娉曘��</p>
-                    <p class="content">
-                        锛�2锛夌啛鎮夛細鍙h厰淇瀛︺�佽В鍓栫敓鐞嗗鐭ヨ瘑鍦≧PD鏁板瓧鏀灦鍒朵綔涓殑搴旂敤锛屽鍙h厰杞‖缁勭粐鐨勭粨鏋勭壒鐐广�佸拃鍤艰繍鍔ㄨ寰嬪涔夐娇璁捐鐨勫奖鍝嶏紱甯哥敤鏁板瓧鍖栬璁¤蒋浠剁殑鍔熻兘妯″潡鍜屾搷浣滄妧宸э紝濡傛ā鍨嬪垎鏋愩�佹敮鏋惰璁$瓑鍐呭銆�
-                    </p>
-                    <p class="content">锛�3锛変簡瑙o細娓哥绔墮榻跨己澶辨儏鍐典笅鍔熻兘鎬у嵃妯″埗鍙栫殑蹇呰鎬э紱甯哥敤鏁板瓧鏀灦鍒朵綔鏉愭枡鐨勬�ц兘鐗圭偣锛涙椿鍔ㄦ敮鏋舵暟瀛楀寲璁捐涓庡埗浣滅殑鍩烘湰娴佺▼銆�</p>
-                    <p class="center">........................</p>
-                    <p class="content"><span class="bold">鑳藉姏鐩爣</span></p>
-                    <p class="content">锛�1锛夎兘澶熸牴鎹偅鑰呭彛鑵旂殑鍏蜂綋鎯呭喌杩涜鏈夋晥鐨勪复搴婂垎鏋愪笌鍒ゆ柇锛岃璁″弻渚ф父绂荤己澶辩殑涔夐娇鏀灦銆�</p>
-                    <p class="content">锛�2锛夎兘鐢ㄦ�濈淮瀵煎浘鐨勬柟寮忔�荤粨銆佹⒊鐞嗗彲鎽樺眬閮ㄤ箟榻挎敮鏋惰璁℃祦绋嬨��</p>
+                    <h1 class="firstTitle-l mb-70 pt-70 oneTitle">椤圭洰涓夈��娲诲姩涔夐娇淇璁捐宸ヨ壓</h1>
+                    <div class="learnGoal">
+                        <img class="learnImg img-h" src="../../assets/images/learnGoal.png" alt="" />
+                        <p class="center learngoalRange"><span class="bold">绱犺川鐩爣</span></p>
+                        <p class="content">锛�1锛夊叿澶囨帰绱㈡湭鐭ラ鍩熺殑绉戝绮剧锛屼繚鎸佸娲诲姩涔夐娇璁捐鏂版潗鏂欍�佹柊鎶�鏈殑鎸佺画鍏虫敞锛屽紑鍙戞柊鐨勮璁℃�濊矾锛岃В鍐冲彛鑵旂墮鍒楃己鎹熺殑涓村簥闂銆�</p>
+                        <p class="content">锛�2锛夋彁鍗囩瀛﹀垎鏋愯兘鍔涳紝鐢ㄥ彂灞曠殑鐪煎厜鐪嬪緟娲诲姩涔夐娇淇鍓嶆櫙銆�</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鐭ヨ瘑鐩爣</span></p>
+                        <p class="content">锛�1锛夋帉鎻★細鑲皬鍒嗙被鐗欏垪缂烘崯淇鐨勪箟榻跨壒鐐癸紝浠ュ強鍏跺搴旂殑鏀灦璁捐瑕佺偣涓庤璁℃柟娉曘��</p>
+                        <p class="content">
+                            锛�2锛夌啛鎮夛細鍙h厰淇瀛︺�佽В鍓栫敓鐞嗗鐭ヨ瘑鍦≧PD鏁板瓧鏀灦鍒朵綔涓殑搴旂敤锛屽鍙h厰杞‖缁勭粐鐨勭粨鏋勭壒鐐广�佸拃鍤艰繍鍔ㄨ寰嬪涔夐娇璁捐鐨勫奖鍝嶏紱甯哥敤鏁板瓧鍖栬璁¤蒋浠剁殑鍔熻兘妯″潡鍜屾搷浣滄妧宸э紝濡傛ā鍨嬪垎鏋愩�佹敮鏋惰璁$瓑鍐呭銆�
+                        </p>
+                        <p class="content">锛�3锛変簡瑙o細娓哥绔墮榻跨己澶辨儏鍐典笅鍔熻兘鎬у嵃妯″埗鍙栫殑蹇呰鎬э紱甯哥敤鏁板瓧鏀灦鍒朵綔鏉愭枡鐨勬�ц兘鐗圭偣锛涙椿鍔ㄦ敮鏋舵暟瀛楀寲璁捐涓庡埗浣滅殑鍩烘湰娴佺▼銆�</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鑳藉姏鐩爣</span></p>
+                        <p class="content">锛�1锛夎兘澶熸牴鎹偅鑰呭彛鑵旂殑鍏蜂綋鎯呭喌杩涜鏈夋晥鐨勪复搴婂垎鏋愪笌鍒ゆ柇锛岃璁″弻渚ф父绂荤己澶辩殑涔夐娇鏀灦銆�</p>
+                        <p class="content">锛�2锛夎兘鐢ㄦ�濈淮瀵煎浘鐨勬柟寮忔�荤粨銆佹⒊鐞嗗彲鎽樺眬閮ㄤ箟榻挎敮鏋惰璁℃祦绋嬨��</p>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>鏁欏璇句欢</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A10'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span title="椤圭洰涓� 鏁欏璇句欢 鑲皬浜岀被鏀灦璁捐">椤圭洰涓� 鏁欏璇句欢 鑲皬浜岀被鏀灦璁捐</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A11'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span title="椤圭洰涓� 鏁欏璇句欢 鑲皬涓夌被鏀灦璁捐">椤圭洰涓� 鏁欏璇句欢 鑲皬涓夌被鏀灦璁捐</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A12'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span title="椤圭洰涓� 鏁欏璇句欢 鑲皬鍥涚被鏀灦璁捐">椤圭洰涓� 鏁欏璇句欢 鑲皬鍥涚被鏀灦璁捐</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A13'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span title="椤圭洰涓� 鏁欏璇句欢 鑲皬涓�绫绘敮鏋惰璁�">椤圭洰涓� 鏁欏璇句欢 鑲皬涓�绫绘敮鏋惰璁�</span>
+                        </div>
+                    </div>
                     <p class="content">
                         鐩墠锛屽�熷姪CAD/CAM鎶�鏈紝鍙憳灞�閮ㄤ箟榻跨殑鍩哄簳閮ㄦ敮鏋惰璁℃妧鏈凡缁忕浉瀵规垚鐔熴�傞�氳繃杩欑鎶�鏈敓浜х殑涔夐娇鏀灦绮惧害楂橈紝鍙傛暟鍖栬璁$殑鍚堢悊搴旂敤浣垮緱鏀灦缁撴瀯鐨勫己搴︽帶鍒舵洿瓒嬬簿鍑嗭紝杩涜�屽疄鐜颁簡鐩歌緝浜庝紶缁熸柟娉曟洿鍔犵悊鎯崇殑淇鏁堟灉銆傚湪娲诲姩鏀灦鏁板瓧鍖栬璁℃祦绋嬩腑锛岄�氬父浼氬皢涔夐娇鏀灦鍚勯儴浠惰繘琛岀嫭绔嬭璁★紝鏈�缁堥�氳繃杩炴帴浣撳皢杩欎簺閮ㄤ欢杩炴帴涓轰竴涓暣浣擄紝瀹屾垚鏁翠釜鏀灦缁撴瀯鐨勮璁°��
                     </p>
                     <p class="content">
                         鍙憳灞�閮ㄤ箟榻夸慨澶嶄富瑕侀拡瀵规偅鑰呭彛鑵斿唴鐗欏垪缂烘崯鐨勬儏鍐点�傜墮鍒楃己鎹熸槸鎸囨偅鑰呬笂棰屾垨涓嬮鐨勭墮鍒楀唴鏈夋暟鐩笉绛夈�佷綅缃笉鍚岀殑鏁撮鐗欓娇缂哄け锛屽悓鏃舵湁浣欑暀鐗欏瓨鍦ㄧ殑鎯呭喌銆傝繖绉嶆儏鍐靛崄鍒嗗鏉傘�傝偗姘忓垎绫绘硶浣滀负涓�绉嶅缂虹墮鎯呭喌鐨勫垎绫荤郴缁燂紝鏈夊姪浜庡皢杩欑澶嶆潅鎬ц浆鍖栦负鍏锋湁瑙勫緥鎬х殑鍒嗙被锛屼粠鑰屾寚瀵肩墮绉戜笓涓氫汉鍛樻洿绯荤粺鍦拌璁′釜鎬у寲鐨勪慨澶嶆柟妗堛��
                     </p>
-
                 </div>
                 <div class="page-bottom-left">056</div>
             </div>
@@ -52,35 +72,34 @@
                     <p class="content">鍙憳灞�閮ㄤ箟榻匡紙removable partial
                         denture锛孯PD锛夋敮鏋朵富瑕佺敱閲戝睘鏉愭枡鍒朵綔鑰屾垚锛岀‘淇濅簡鑰愮敤鎬т笌绋冲畾鎬э紝鍏惰璁℃槸鐗欑淇棰嗗煙鍐呯殑涓�椤归噸瑕佹妧鑳姐�備互涓嬫槸RPD鏀灦璁捐鐨勪竴浜涘熀鏈師鍒欏拰瑕佹眰銆�</p>
                     <p class="content"><span
-                            class="bold">1锛庣敓鐗╃浉瀹规�у拰绋冲畾鎬�</span>銆�鏀灦鏉愭枡蹇呴』鍏锋湁鐢熺墿鐩稿鎬э紝纭繚闀挎湡浣╂埓鏃朵笉浼氬紩璧风粍缁囧弽搴旀垨杩囨晱銆傝璁″簲纭繚RPD鍦ㄥ彛鑵斿唴鐨勭ǔ瀹氭�э紝闃叉鍦ㄥ拃鍤兼垨璇磋瘽鏃剁Щ鍔ㄦ垨鑴辫惤銆�
+                            class="bold fontGreen">1锛庣敓鐗╃浉瀹规�у拰绋冲畾鎬�</span>銆�鏀灦鏉愭枡蹇呴』鍏锋湁鐢熺墿鐩稿鎬э紝纭繚闀挎湡浣╂埓鏃朵笉浼氬紩璧风粍缁囧弽搴旀垨杩囨晱銆傝璁″簲纭繚RPD鍦ㄥ彛鑵斿唴鐨勭ǔ瀹氭�э紝闃叉鍦ㄥ拃鍤兼垨璇磋瘽鏃剁Щ鍔ㄦ垨鑴辫惤銆�
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庡姛鑳芥�ц姹�</span>銆�搴旀仮澶嶆偅鑰呭拃鍤笺�佸彂闊冲拰缇庤鐨勫姛鑳斤紝璁捐鏃惰�冭檻鐗欏垪鐨勫挰鍚堝叧绯伙紝浠ョ‘淇濅箟榻夸笌瀵归鐗欑殑姝g‘鎺ヨЕ鍜屽姛鑳借繍鍔ㄣ��</p>
+                            class="bold fontGreen">2锛庡姛鑳芥�ц姹�</span>銆�搴旀仮澶嶆偅鑰呭拃鍤笺�佸彂闊冲拰缇庤鐨勫姛鑳斤紝璁捐鏃惰�冭檻鐗欏垪鐨勫挰鍚堝叧绯伙紝浠ョ‘淇濅箟榻夸笌瀵归鐗欑殑姝g‘鎺ヨЕ鍜屽姛鑳借繍鍔ㄣ��</p>
                     <p class="content"><span
-                            class="bold">3锛庝繚鎶ゅ墿浣欑墮鍜岀墮鍛ㄧ粍缁�</span>銆�鏀灦璁捐搴斿噺灏戝鍓╀綑鐗欓娇鐨勬崯浼ゅ拰搴斿姏闆嗕腑锛岄闃茶繘涓�姝ョ殑鐗欓娇绉诲姩鍜岀墮鍛ㄧ粍缁囨崯浼わ紝璁捐瑕佽�冭檻鍒扮墮妲介鐨勪繚鎶わ紝閬垮厤鐢变簬涔夐娇璐熻浇閫犳垚鐨勮繃閲嶅帇鍔涖��
+                            class="bold fontGreen">3锛庝繚鎶ゅ墿浣欑墮鍜岀墮鍛ㄧ粍缁�</span>銆�鏀灦璁捐搴斿噺灏戝鍓╀綑鐗欓娇鐨勬崯浼ゅ拰搴斿姏闆嗕腑锛岄闃茶繘涓�姝ョ殑鐗欓娇绉诲姩鍜岀墮鍛ㄧ粍缁囨崯浼わ紝璁捐瑕佽�冭檻鍒扮墮妲介鐨勪繚鎶わ紝閬垮厤鐢变簬涔夐娇璐熻浇閫犳垚鐨勮繃閲嶅帇鍔涖��
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庣編瑙傛�с�佽垝閫傛�с�佽�愮敤鎬�</span>銆�鏀灦搴斿敖鍙兘妯′豢鑷劧鐗欓娇鐨勫瑙傦紝鍖呮嫭棰滆壊鍜屽舰鐘讹紝浠ユ弧瓒崇編瀛﹂渶姹傦紱璁捐搴旂‘淇濇偅鑰呬僵鎴磋垝閫傘�佹棤寮傜墿鎰燂紝涓嶄細鍦ㄥ彛鑵斿唴閫犳垚涓嶉�傛垨鐤肩棝锛涙敮鏋跺簲渚夸簬鎮h�呮竻娲佸拰缁存姢锛屽寘鎷槗浜庢憳鎴村拰鍐叉礂锛屼粠鑰屽欢闀夸娇鐢ㄥ鍛姐��
+                            class="bold fontGreen">4锛庣編瑙傛�с�佽垝閫傛�с�佽�愮敤鎬�</span>銆�鏀灦搴斿敖鍙兘妯′豢鑷劧鐗欓娇鐨勫瑙傦紝鍖呮嫭棰滆壊鍜屽舰鐘讹紝浠ユ弧瓒崇編瀛﹂渶姹傦紱璁捐搴旂‘淇濇偅鑰呬僵鎴磋垝閫傘�佹棤寮傜墿鎰燂紝涓嶄細鍦ㄥ彛鑵斿唴閫犳垚涓嶉�傛垨鐤肩棝锛涙敮鏋跺簲渚夸簬鎮h�呮竻娲佸拰缁存姢锛屽寘鎷槗浜庢憳鎴村拰鍐叉礂锛屼粠鑰屽欢闀夸娇鐢ㄥ鍛姐��
                     </p>
                     <p class="content"><span
-                            class="bold">5锛庨伒寰敓鐗╁畨鍏ㄦ�у拰鐢熺墿鍔涘鍘熺悊</span>銆�鏍规嵁涓村簥闇�姹傞�夋嫨鍚堥�傜殑鏀灦鏉愭枡锛屽鍚堥噾锛堥挻閾悎閲戙�侀挍鍙婇挍鍚堥噾锛夋垨涔夐娇鍩烘墭鏍戣剛锛堝鑱氱敳鍩轰笝鐑吀鐢查叝锛夛紝纭繚鏉愭枡鐨勫己搴︺�佽�愯厫铓�鎬у拰鑰愪箙鎬э紝婊¤冻闀挎湡浣跨敤瑕佹眰銆傚悓鏃舵敮鏋惰璁″簲鏍规嵁鐢熺墿鍔涘鍘熺悊杩涜锛岀‘淇濆姏閲忓湪鐗欓娇鍜岀墮妲介涓婄殑閫傚綋鍒嗗竷锛屼互鍑忓皯瀵圭粍缁囩殑鍘嬪姏鍜屾綔鍦ㄦ崯浼ゃ��
+                            class="bold fontGreen">5锛庨伒寰敓鐗╁畨鍏ㄦ�у拰鐢熺墿鍔涘鍘熺悊</span>銆�鏍规嵁涓村簥闇�姹傞�夋嫨鍚堥�傜殑鏀灦鏉愭枡锛屽鍚堥噾锛堥挻閾悎閲戙�侀挍鍙婇挍鍚堥噾锛夋垨涔夐娇鍩烘墭鏍戣剛锛堝鑱氱敳鍩轰笝鐑吀鐢查叝锛夛紝纭繚鏉愭枡鐨勫己搴︺�佽�愯厫铓�鎬у拰鑰愪箙鎬э紝婊¤冻闀挎湡浣跨敤瑕佹眰銆傚悓鏃舵敮鏋惰璁″簲鏍规嵁鐢熺墿鍔涘鍘熺悊杩涜锛岀‘淇濆姏閲忓湪鐗欓娇鍜岀墮妲介涓婄殑閫傚綋鍒嗗竷锛屼互鍑忓皯瀵圭粍缁囩殑鍘嬪姏鍜屾綔鍦ㄦ崯浼ゃ��
                     </p>
                     <p class="content"><span
-                            class="bold">6锛庨伒瀹堣涓氭硶瑙勫拰鏍囧噯</span>銆�鏍规嵁姣忎釜鎮h�呯殑鍏蜂綋鎯呭喌锛堝鐗欐Ы楠ㄦ儏鍐点�佸墿浣欑墮榻跨殑浣嶇疆鍜屾暟閲忋�佸挰鍚堝叧绯荤瓑锛夎繘琛屼釜鎬у寲璁捐锛岃�冭檻鎮h�呯殑涓汉闇�姹傚拰鍋忓ソ锛岀‘淇濊璁$鍚堝叾鐗瑰畾鐨勭敓娲绘柟寮忋�傚湪璁捐鍜屽埗浣滆繃绋嬩腑锛岄伒瀹堝浗瀹跺拰鍥介檯鐨勭浉鍏虫硶寰嬫硶瑙勶紝浠ュ強鐗欑琛屼笟鏍囧噯銆�
+                            class="bold fontGreen">6锛庨伒瀹堣涓氭硶瑙勫拰鏍囧噯</span>銆�鏍规嵁姣忎釜鎮h�呯殑鍏蜂綋鎯呭喌锛堝鐗欐Ы楠ㄦ儏鍐点�佸墿浣欑墮榻跨殑浣嶇疆鍜屾暟閲忋�佸挰鍚堝叧绯荤瓑锛夎繘琛屼釜鎬у寲璁捐锛岃�冭檻鎮h�呯殑涓汉闇�姹傚拰鍋忓ソ锛岀‘淇濊璁$鍚堝叾鐗瑰畾鐨勭敓娲绘柟寮忋�傚湪璁捐鍜屽埗浣滆繃绋嬩腑锛岄伒瀹堝浗瀹跺拰鍥介檯鐨勭浉鍏虫硶寰嬫硶瑙勶紝浠ュ強鐗欑琛屼笟鏍囧噯銆�
                     </p>
                     <p class="content">缁煎悎浠ヤ笂鍘熷垯鍜岃姹傦紝RPD鏀灦璁捐闇�瑕佺墮绉戝尰鐢熴�佷慨澶嶆妧甯堝拰鎮h�呬箣闂磋繘琛岃壇濂界殑娌熼�氬拰鍗忚皟锛屼互纭繚鏈�缁堢殑淇缁撴灉杈惧埌鍔熻兘鎬у拰缇庡鐨勫畬缇庡钩琛°��</p>
                     <h3 class="thirdTitle">浜屻�丷PD鏀灦鐨勪富瑕佹瀯鎴�</h3>
                     <p class="content"><span
-                            class="bold">1锛庡浐浣嶄綋锛坮etainer锛�</span>銆�涓昏鐢ㄦ潵鎶垫姉鑴变綅鍔涗綔鐢紝鏄负涔夐娇鎻愪緵鍥轰綅銆佺ǔ瀹氬拰鏀寔鐨勯噸瑕侀儴浠讹紝鍒嗕负鐩存帴鍥轰綅浣撳拰闂存帴鍥轰綅浣撱��</p>
+                            class="bold fontGreen">1锛庡浐浣嶄綋锛坮etainer锛�</span>銆�涓昏鐢ㄦ潵鎶垫姉鑴变綅鍔涗綔鐢紝鏄负涔夐娇鎻愪緵鍥轰綅銆佺ǔ瀹氬拰鏀寔鐨勯噸瑕侀儴浠讹紝鍒嗕负鐩存帴鍥轰綅浣撳拰闂存帴鍥轰綅浣撱��
+                    </p>
                     <p class="content">锛�1锛夌洿鎺ュ浐浣嶄綋锛坉irect
                         retainer锛夛細涓昏瀹夋斁鍦ㄩ偦杩戠己闅欏熀鐗欐垨姣楅偦闂撮殭鍩虹墮涓婄殑閲戝睘閮ㄤ欢锛屽崱鐜瀷鍥轰綅浣撴槸鏈�甯哥敤鐨勭洿鎺ュ浐浣嶄綋銆傚父鐢ㄥ崱鐜绫诲涓嬶紝璁捐鏃跺彲鏍规嵁鎮h�呭彛鑵旂粍缁囨儏鍐甸�夋嫨搴旂敤銆�</p>
                     <p class="content">1锛変笁鑷傚崱鐜細涓昏鐢ㄤ簬鑲皬鈪㈢被銆佲叄绫昏璁°�傚畨鏀惧湪鍓嶇(鐗欏拰纾ㄧ墮涓婏紝鍥轰綅銆佺ǔ瀹氥�佹敮鎸佹晥鏋滈兘濂斤紙鍥�3-0-1锛夈��</p>
-                    <p class="content">2锛夊湀褰㈠崱鐜細涓昏瀹夋斁鍦ㄨ繙涓绔嬬殑纾ㄧ墮涓婏紝鍩虹墮鍚戣繎涓鍊撅紙澶氫负涓婇锛夋垨杩戜腑鑸屽�撅紙澶氫负涓嬮锛夛紝鍚屾椂杩戣繙涓�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭涓哄绉拌璁★紙鍥�3-0-2锛夈��</p>
+                    <p class="content">2锛夊湀褰㈠崱鐜細涓昏瀹夋斁鍦ㄨ繙涓绔嬬殑纾ㄧ墮涓婏紝鍩虹墮鍚戣繎涓鍊撅紙澶氫负涓婇锛夋垨杩戜腑鑸屽�撅紙澶氫负涓嬮锛夛紝鍚屾椂杩戣繙涓瑢楁敮鎵樹负瀵圭О璁捐锛堝浘3-0-2锛夈��</p>
                     <p class="content">
                         3锛夐棿闅欏崱鐜垨鑱斿悎鍗$幆锛氫富瑕佺敤浜庤偗姘忊叀绫汇�佲參绫汇�佲叄绫昏璁°�傚父鐢ㄤ簬鍩虹墮鐗欏啝鐭�岀ǔ鍥猴紝鐩搁偦涓ょ墮闂存湁闂撮殭鐨勬儏鍐碉紝鏈夋椂涔熷彲褰撲綔涓�绉嶉棿鎺ュ浐浣嶄綋浣跨敤锛堝浘3-0-3銆佸浘3-0-4锛夈��</p>
-                    <p class="content">4锛塕PI缁勫悎寮忓崱鐜細涓昏鐢ㄤ簬鑲皬鈪犵被銆佲叀绫昏璁°�傜敱杩戜腑<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭銆佽繙涓偦闈㈡澘銆侀渚鏉嗗崱缁勬垚锛堝浘3-0-5锛夈��</p>
+                    <p class="content">4锛塕PI缁勫悎寮忓崱鐜細涓昏鐢ㄤ簬鑲皬鈪犵被銆佲叀绫昏璁°�傜敱杩戜腑瓞寳鏀墭銆佽繙涓偦闈㈡澘銆侀渚鏉嗗崱缁勬垚锛堝浘3-0-5锛夈��</p>
 
                 </div>
                 <div class="page-bottom-right">057</div>
@@ -96,37 +115,47 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="content">5锛塕PA缁勫悎寮忓崱鐜細涓昏鐢ㄤ簬鑲皬鈪犵被銆佲叀绫昏璁°�傜敱杩戜腑<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭銆佽繙涓偦闈㈡澘銆侀渚ker鍦嗙幆褰㈠崱鐜紙闈濱鏉嗗崱閫傚簲璇佹潯浠朵笅璋冩崲锛夌粍鎴愶紙鍥�3-0-6锛夈��
+                    <p class="content">5锛塕PA缁勫悎寮忓崱鐜細涓昏鐢ㄤ簬鑲皬鈪犵被銆佲叀绫昏璁°�傜敱杩戜腑瓞寳鏀墭銆佽繙涓偦闈㈡澘銆侀渚ker鍦嗙幆褰㈠崱鐜紙闈濱鏉嗗崱閫傚簲璇佹潯浠朵笅璋冩崲锛夌粍鎴愶紙鍥�3-0-6锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0074-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-0-1銆�涓夎噦鍗$幆</p>
+                    <div class="imgFloat">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0074-02.jpg" style="width:80%" alt="鍥�3-0-1銆�涓夎噦鍗$幆"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-0-1銆�涓夎噦鍗$幆</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0074-03.jpg" style="width:80%" alt="鍥�3-0-2銆�鍦堝舰鍗$幆"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-0-2銆�鍦堝舰鍗$幆</p>
+                        </div>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0074-03.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-0-2銆�鍦堝舰鍗$幆</p>
+                    <div class="imgFloat">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0074-04.jpg" style="width:80%" alt="鍥�3-0-3銆�闂撮殭鍗$幆"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-0-3銆�闂撮殭鍗$幆</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0074-05.jpg" style="width:80%" alt="鍥�3-0-4銆�鑱斿悎鍗$幆"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-0-4銆�鑱斿悎鍗$幆</p>
+                        </div>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0074-04.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-0-3銆�闂撮殭鍗$幆</p>
-                    </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0074-05.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-0-4銆�鑱斿悎鍗$幆</p>
-                    </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0074-06.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-0-5銆�RPI缁勫悎寮忓崱鐜�</p>
-                    </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0074-07.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-0-6銆�RPA缁勫悎寮忓崱鐜�</p>
+                    <div class="imgFloat">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0074-06.jpg" style="width:80%" alt="鍥�3-0-5銆�RPI缁勫悎寮忓崱鐜�"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-0-5銆�RPI缁勫悎寮忓崱鐜�</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0074-07.jpg" style="width:80%" alt="鍥�3-0-6銆�RPA缁勫悎寮忓崱鐜�"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-0-6銆�RPA缁勫悎寮忓崱鐜�</p>
+                        </div>
                     </div>
                     <p class="content">锛�2锛夐棿鎺ュ浐浣嶄綋锛坕ndirect
                         retainer锛夛細閫氬父鏀剧疆鍦ㄨ繙绂荤己闅欏尯鍩熺殑鍩虹墮涓婏紝闃叉涔夐娇鍙戠敓涓嬫矇銆佺繕璧枫�佹憜鍔ㄣ�佹棆杞殑涓嶇ǔ瀹氱幇璞°�傞棿鎺ュ浐浣嶄綋绉嶇被鏈夊緢澶氾紝甯歌绉嶇被濡備笅銆�</p>
-                    <p class="content">1锛夋敮鎵橈細鍚庣墮鍜悎闈㈢殑<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏀墭锛屽墠鐗欒垖闅嗙獊涓婄殑鑸屾敮鎵橈紙甯告斁缃湪涓婇灏栫墮涓婏級銆佸墠鐗欏垏缂樹笂鐨勫垏鏀墭锛堢編瑙傛�ц緝宸紝闈炲繀瑕佷笉璁捐锛夈��</p>
+                    <p class="content">1锛夋敮鎵橈細鍚庣墮鍜悎闈㈢殑瓞寳鏀墭锛屽墠鐗欒垖闅嗙獊涓婄殑鑸屾敮鎵橈紙甯告斁缃湪涓婇灏栫墮涓婏級銆佸墠鐗欏垏缂樹笂鐨勫垏鏀墭锛堢編瑙傛�ц緝宸紝闈炲繀瑕佷笉璁捐锛夈��</p>
                     <p class="content">
                         2锛塊ennedy鏉嗭細鍗冲弻鑸屾潌锛岀敱鑸屾潌涓嶬ennedy鏉嗭紙杩炵画鏉嗐�佽垖闅嗙獊鏉嗭級缁勬垚銆傞�氬父鐢ㄤ簬浠ヤ笅鎯呭喌锛氬綋鍓嶇墮鐗欏懆鏀寔涓嶈冻闇�瑕侀棿鎺ュ浐浣嶆椂锛涘墠鐗欏瓨鍦ㄨ緝澶х殑澶╃劧鐗欓棿闅欐椂锛涘涓悗鐗欑己澶遍渶瑕佸湪鍓嶇墮涓婅幏寰楅棿鎺ュ浐浣嶆椂锛涚墮鍛ㄧ値鎴栧绉戞墜鏈鑷村墠鐗欎箣闂存湁杩囧ぇ鐨勯棿闅欙紝浣跨敤鑸屾澘褰卞搷鍓嶇墮缇庤鎬ф椂銆�
                     </p>
@@ -145,7 +174,7 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">2锛庤繛鎺ヤ綋锛坈onnectors锛�</span>銆�杩炴帴浣撳姛鑳藉寘鎷繛鎺ヤ箟榻块儴浠躲�佹彁渚涜法寮撶ǔ瀹氭�с�佷紶閫掑姏閲忥紝骞跺垎鏁e挰鍚堝姏浠ュ噺杞诲熀鐗欏拰鐗欏懆鍘嬪姏銆傝繛鎺ヤ綋鍒嗕负澶ц繛鎺ヤ綋鍜屽皬杩炴帴浣撱��
+                            class="bold fontGreen">2锛庤繛鎺ヤ綋锛坈onnectors锛�</span>銆�杩炴帴浣撳姛鑳藉寘鎷繛鎺ヤ箟榻块儴浠躲�佹彁渚涜法寮撶ǔ瀹氭�с�佷紶閫掑姏閲忥紝骞跺垎鏁e挰鍚堝姏浠ュ噺杞诲熀鐗欏拰鐗欏懆鍘嬪姏銆傝繛鎺ヤ綋鍒嗕负澶ц繛鎺ヤ綋鍜屽皬杩炴帴浣撱��
                     </p>
                     <p class="content">锛�1锛夊ぇ杩炴帴浣�</p>
                     <p class="content">
@@ -162,18 +191,17 @@
                         3锛夐噾灞炲鏂欑粨鍚堝尯灏忚繛鎺ヤ綋锛氱寮�宸ヤ綔妯″瀷0.5mm浠ヤ笂锛屼互渚挎爲鑴傚熀鎵樺寘鍩嬶紱鏈変竴瀹氬己搴︼紝鍘氬害鈮�1.5mm锛岀綉鐘舵敮鏋朵笌鏍戣剛鍩烘墭缁撳悎澶勬湁灏忎簬90掳鐨勫唴澶栫粓姝㈢嚎锛涢摳缃戜竴鑸◢绋嶈秴杩囩墮妲藉荡椤剁殑鍞囬渚у嵆鍙紝娓哥绔殑涓婇閾哥綉搴旇揪鍒颁笂棰岀粨鑺傜殑鍓嶉儴锛屼笅棰屽簲杈惧埌纾ㄧ墮鍚庡灚涔嬪墠锛屽挰鍚堢揣鏃跺簲鏇撮暱銆�
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庢敮鎵橈紙rest锛�</span>銆�鏄偗姘忓垎绫绘敮鏋惰璁′腑鐨勯噸瑕佸厓绱狅紝鍙互鍒嗘暎鍜悎鍔涳紝闄嶄綆瀵瑰熀鐗欑殑鎵姏鍜屼晶鍚戝姏锛屾湁鍔╀簬淇濇寔涔夐娇鐨勭ǔ瀹氭�у拰鍥轰綅锛岄槻姝箟榻跨殑涓嶈鍒欑Щ鍔ㄦ垨鏃嬭浆銆�
+                            class="bold fontGreen">3锛庢敮鎵橈紙rest锛�</span>銆�鏄偗姘忓垎绫绘敮鏋惰璁′腑鐨勯噸瑕佸厓绱狅紝鍙互鍒嗘暎鍜悎鍔涳紝闄嶄綆瀵瑰熀鐗欑殑鎵姏鍜屼晶鍚戝姏锛屾湁鍔╀簬淇濇寔涔夐娇鐨勭ǔ瀹氭�у拰鍥轰綅锛岄槻姝箟榻跨殑涓嶈鍒欑Щ鍔ㄦ垨鏃嬭浆銆�
                     </p>
                     <p class="content">锛�1锛変綔涓洪棿鎺ュ浐浣嶄綋鐨勬敮鎵橈紙鍚屽墠杩伴棿鎺ュ浐浣嶄綋鍐呭锛夈��</p>
                     <p class="content">
                         锛�2锛変綔涓虹洿鎺ュ浐浣嶄綋鍗$幆涓婄殑鏀墭锛氬湪鐗欐敮鎸佸紡涔夐娇涓紝鏀墭浣嶄簬杩戠己闅欑殑鍩虹墮涓婏紝骞剁洿鎺ヤ笌灏忚繛鎺ヤ綋鐩歌繛浠ヤ紶閫掑挰鍚堝姏锛涜�屽湪娣峰悎鏀寔寮忎箟榻夸腑锛屾敮鎵橀�氬父缃簬杩滅娓哥鍖虹殑浣嶇疆锛屼緥濡傦紝鍦ㄨ繙涓父绂荤己澶辩殑鎯呭喌涓嬩娇鐢ㄨ繎涓敮鎵橈紝鏈夊姪浜庡噺灏戝熀鐗欑殑鎵姏骞朵娇娓哥绔熀鎵樹笅鐨勭粍缁囧彈鍔涘潎鍖�銆�
                     </p>
-                    <p class="content"><span class="bold">4锛庨偦闈㈡澘锛坙ingual
-                            bar锛�</span>銆�甯哥敤浜庢父绂荤涔夐娇璁捐銆傚搴︿竴鑸ぇ浜庡熀鐗欓鑸屽緞2/3锛屽帤搴︿负0.8锝�1.0mm锛岄潬杩�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />闈㈤儴浣嶅憟绉诲舰鐘讹紝涓庡熀鐗欏瘑鍒囨帴瑙︺��</p>
-                    <p class="content"><span class="bold">5锛庡姞寮哄甫锛坢ajor
+                    <p class="content"><span class="bold fontGreen">4锛庨偦闈㈡澘锛坙ingual
+                            bar锛�</span>銆�甯哥敤浜庢父绂荤涔夐娇璁捐銆傚搴︿竴鑸ぇ浜庡熀鐗欓鑸屽緞2/3锛屽帤搴︿负0.8锝�1.0mm锛岄潬杩戰瑢楅潰閮ㄤ綅鍛堢Щ褰㈢姸锛屼笌鍩虹墮瀵嗗垏鎺ヨЕ銆�</p>
+                    <p class="content"><span class="bold fontGreen">5锛庡姞寮哄甫锛坢ajor
                             retainer锛�</span>銆�浣嶄簬澶ц繛鎺ヤ綋涓庣綉鐘惰繛鎺ヤ綋鐩歌繛澶勶紝琛ㄩ潰搴斿舰鎴愪究浜庡鏂欒繛鎺ョ殑閿娇鐘跺舰鎬侊紝鍏跺搴﹂�氬父涓�1.5锝�2.0mm锛屽帤搴︹墺0.7mm銆�</p>
-                    <p class="content"><span class="bold">6锛庢敮鏋舵敮鐐癸紙fulcrum line锛夈�佹敮鎾戞潌锛坅butment
+                    <p class="content"><span class="bold fontGreen">6锛庢敮鏋舵敮鐐癸紙fulcrum line锛夈�佹敮鎾戞潌锛坅butment
                             res锛�</span>銆�閫氬父瀹夋斁鍦ㄧ墮妲藉荡渚ч潰锛屽舰鎴�2mm脳2mm鐨勬柟褰㈡垨鍦嗗舰閲戝睘绐佽捣銆傚父鐢ㄤ簬娓哥绔箟榻胯璁★紝闃叉缃戠姸杩炴帴浣撳湪鍒朵綔涔夐娇鍙婂厖濉鏂欐椂涓嬫矇銆傛敮鎾戞潌涓�鑸湪涔夐娇璺ㄥ害杈冮暱鐨勯儴浣嶉渶瑕佸鍔狅紝闃叉鏀灦鍦ㄥ埗浣滆繃绋嬩腑鍙戠敓鍙樺舰绉讳綅銆�
                     </p>
 
@@ -203,16 +231,27 @@
                         鑲皬鍒嗙被鏈変簹绫汇�備簹绫绘槸鎸囦富缂洪殭闄ゅ鐨勫彟澶栫己闅欐暟鐩紝鍗抽櫎涓荤己闅欏锛屽彟澶栬繕鏈夊嚑涓己闅欙紝鍗冲嚑浜氱被锛屽簲鐢ㄦ柟娉曢伒寰狝pplegate娉曞垯锛氣憼鍒嗙被浠ユ偅鑰呮嫈鐗欏悗涓哄熀鍑嗭紱鈶¤偗姘忊厾绫汇�佲叀绫汇�佲參绫绘湁浜氱被锛屸叄绫绘棤浜氱被锛涒憿鍓嶅悗閮芥湁缂虹墮锛屼互鏈�鍚庣殑缂虹墮闂撮殭涓轰富缂洪殭锛涒懀鐗欏紦涓や晶鍚庣墮閮芥湁缂哄け锛屼互杩滀腑娓哥绔己鐗欓棿闅欎负涓荤己闅欙紱鈶よ嫢绗簩銆佺涓夌(鐗欎慨澶嶏紝鍒欒�冭檻鍦ㄥ垎绫讳箣鍒椾腑锛涗笉淇鍒欎笉鑰冭檻銆�
                     </p>
                     <h2 class="secondTitle">浠诲姟涓�銆�鑲皬鈪犵被鏀灦璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">
-                        鎮h�咃紝濂筹紝55宀併�傚彸涓婄涓�銆佺浜岀(鐗欙紝宸︿笂绗竴鍓嶇(鐗欙紝绗竴銆佺浜岀(鐗欏叏閮ㄧ己澶憋紱浣欑暀鐗欓娇鐘跺喌鑹ソ锛岀墮鍛ㄥ仴搴凤紝鏃犳槑鏄剧墮鍛ㄧ値鎴栫墮榻挎澗鍔紝鏈夌ǔ瀹氱殑鍜悎鍏崇郴鍜岃冻澶熺殑鍓╀綑鐗欓娇鏀寔銆傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
-                    </p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庤偗姘忊厾绫籖PD璁捐鐨勬敮鎸佹柟寮忔槸鎬庢牱鐨勶紵鍏朵腑娣峰悎鏀寔寮忎箟榻跨殑璁捐澶嶆潅鎬ц緝楂橈紝搴旇浠庡摢浜涘父瑙佺殑鐗圭偣鍙婅璁¤鐐瑰垏鍏ワ紵</p>
-                    <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">浠诲姟妗堜緥</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">
+                                鎮h�咃紝濂筹紝55宀併�傚彸涓婄涓�銆佺浜岀(鐗欙紝宸︿笂绗竴鍓嶇(鐗欙紝绗竴銆佺浜岀(鐗欏叏閮ㄧ己澶憋紱浣欑暀鐗欓娇鐘跺喌鑹ソ锛岀墮鍛ㄥ仴搴凤紝鏃犳槑鏄剧墮鍛ㄧ値鎴栫墮榻挎澗鍔紝鏈夌ǔ瀹氱殑鍜悎鍏崇郴鍜岃冻澶熺殑鍓╀綑鐗欓娇鏀寔銆傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
+                            </p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庤偗姘忊厾绫籖PD璁捐鐨勬敮鎸佹柟寮忔槸鎬庢牱鐨勶紵鍏朵腑娣峰悎鏀寔寮忎箟榻跨殑璁捐澶嶆潅鎬ц緝楂橈紝搴旇浠庡摢浜涘父瑙佺殑鐗圭偣鍙婅璁¤鐐瑰垏鍏ワ紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.one" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.two" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鑲皬鈪犵被鐗欏垪缂烘崯鎸囩墮寮撲袱渚у悗閮ㄧ墮榻跨己澶憋紝杩滀腑娓哥绔棤澶╃劧鐗欓娇銆備复搴婂彛鑵斿仴搴风姸鍐靛叿鏈夊鏍锋�э紝纭繚淇鏁堟灉鐨勯瑕佹楠ゆ槸璇勪及鎮h�呯殑鍙h厰缁勭粐鍋ュ悍鐘跺喌锛屽苟鎹閫夋嫨鍚堥�傜殑涔夐娇鏀寔鏂瑰紡銆傛牴鎹�夊畾鐨勬敮鎸佹柟寮忥紝鍒嗘瀽涔夐娇鐨勭壒鐐瑰拰璁捐瑕佺偣锛岃繘琛屽叿浣撶梾渚婻PD鐨勬敮鏋惰璁°�傚湪鏀灦璁捐鐨勮繃绋嬩腑锛岀壒鍒己璋冭鍑忓皯鎴栨秷闄ゆ父绂荤涔夐娇鐨勪笉绋冲畾鎬э紝閬垮厤瀵瑰墿浣欏ぉ鐒剁墮鍜屽彛鑵旇蒋缁勭粐閫犳垚鎹熶激鍜屽垱浼ゃ�備笓涓氱簿鍑嗙殑璁捐闇�瑕佺‘淇濅箟榻垮叿鏈夎壇濂界殑绋冲畾鎬у拰鍒嗘暎鍜悎鍔涳紝浠庤�屼繚鎶ょ墮妲介鍜屽熀鐗欙紝鍑忓皬瀵瑰彛鑵旂粍缁囩殑璐熼潰褰卞搷銆�
                     </p>
@@ -232,24 +271,22 @@
                 <div class="bodystyle">
                     <h3 class="thirdTitle">涓�銆佹贩鍚堟敮鎸佸紡涔夐娇璁捐</h3>
                     <p class="content">鍦ㄥ弻渚у悗鐗欓儴鍒嗘垨鍏ㄩ儴缂哄け銆佷綑鐣欑墮鐩稿鍋ュ悍鐨勬儏鍐典笅锛屽垯璁捐涓烘贩鍚堟敮鎸佸紡涔夐娇锛堜箟榻跨敱澶╃劧鐗欍�侀粡鑶溿�佺墮妲介鍏卞悓鏀寔锛夈��</p>
-                    <p class="content"><span class="bold">1锛庝箟榻跨壒鐐�</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庝箟榻跨壒鐐�</span></p>
                     <p class="content">锛�1锛変笉绋冲畾鎬э細涔夐娇娌挎敮鐐圭嚎锛堢洿鎺ュ浐浣嶄綋鐨勮繛绾匡級鍜屽洖杞嚎鍙兘琛ㄧ幇鍑轰笉绋冲畾鎬э紙涓嬫矇銆佺繕璧枫�佹憜鍔ㄣ�佹棆杞瓑锛夈��</p>
                     <p class="content">锛�2锛夋綔鍦ㄧ殑鍩虹墮鎹熷锛氳璁$殑涓嶇ǔ瀹氭�у拰鍩虹墮鎵垮彈鐨勫帇鍔涳紝瀵艰嚧鍩虹墮瀹规槗鍙楁壄鍔涖�傞暱姝や互寰�锛屽彲鑳戒細鍑虹幇鐗欓娇鏉惧姩鎴栫墮鏍规崯浼ょ瓑鍩虹墮鍙楁崯瀹崇幇璞°��</p>
                     <p class="content">
                         锛�3锛夋父绂婚瀺鍩轰笅鐨勮蒋缁勭粐鍒涗激銆佺墮妲介鍚告敹锛氭父绂婚瀺鍩轰笅鐨勮蒋缁勭粐锛堝嵆缂哄け鐗欏尯鐨勯粡鑶滐級鍙兘浼氬彈鍒版潵鑷箟榻跨殑鎸佺画鍘嬪姏锛屽鑷村垱浼わ紱鍚屾椂鍦ㄦ父绂荤娌℃湁閫傚綋鐨勬敮鎾戝尯鍩燂紝鏇村鏄撳彂鐢熺墮妲介鍚告敹锛屽鑷翠箟榻夸笅娌夊姞閲嶃��
                     </p>
-                    <p class="content"><span class="bold">2锛庤璁¤鐐�</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庤璁¤鐐�</span></p>
                     <p class="content">锛�1锛夋彁楂樼ǔ瀹氭��</p>
                     <p class="content">1锛変笅娌夛細鍒跺彇鍔熻兘鎬у嵃妯★紝閫傚綋澧炲ぇ鍩烘墭闈㈢Н锛屾父绂荤涔夐娇鍙繚鐣欑墮鏍规垨妞嶅叆绉嶆浣擄紝浜哄伐鐗欏噺鏁版垨鍑忓皬杩戣繙涓緞锛岄噸琛紙闇�璁捐鏍戣剛鍩烘墭锛屽鐢ㄤ簬涔夐娇涓嬫矇鍔犻噸鏃讹級銆�</p>
                     <p class="content">2锛夌繕璧凤細鍦ㄦ敮鐐圭殑骞宠 渚ф斁缃棿鎺ュ浐浣嶄綋锛岃偗姘忊厾绫诲钩琛′晶鐨勯棿鎺ュ浐浣嶄綋鍩虹墮閫氬父涓哄墠鐗欙紙灏栫墮涓洪閫夊熀鐗欙紝鍒囩墮鍦ㄦ弧瓒冲浐浣嶇ǔ瀹氳姹備笅灏介噺涓嶅仛璁捐锛夈��</p>
                     <p class="content">3锛夋憜鍔細鐗欏紦瀵逛晶澧炶鍥轰綅浣擄紝鍙屼晶鑱斿悎璁捐锛屽疄鐜拌法寮撶ǔ瀹氾紱闄嶄綆鐗欏皷鏂滃害锛屽噺灏忎晶鍚戝姏銆�</p>
-                    <p class="content">4锛夋棆杞細鍔犲<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏀墭锛屽噺灏忎汉宸ョ墮棰婅垖寰勶紝璁剧疆鑸屼晶楂樺熀鎵樸��</p>
+                    <p class="content">4锛夋棆杞細鍔犲瓞寳鏀墭锛屽噺灏忎汉宸ョ墮棰婅垖寰勶紝璁剧疆鑸屼晶楂樺熀鎵樸��</p>
                     <p class="content">锛�2锛夊噺灏忓熀鐗欐墍鍙楁壄鍔�</p>
-                    <p class="content">1锛夎缃繎涓�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏀墭锛氫笌杩滀腑<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏀墭鐩告瘮锛屽姞澶т簡杞姩鍗婂緞锛屽鍩虹墮鎵姏灏忥紱閲囩敤杩戜腑<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏀墭鍒欏熀鐗欏悜杩戜腑鍊炬枩锛岃繎涓湁閭荤墮鏀寔锛屼娇鍩虹墮鍙楀姏鍑忓皯鎴栬鎶垫秷锛涘悓鏃跺洜鏀偣浣嶇疆鍦ㄥ熀鐗欒繙涓紝涔熷彲浠ヤ腑鏂垨鍑忓皬鍩虹墮杩滀腑鎵�鍙楀簲鍔涖��</p>
+                    <p class="content">
+                        1锛夎缃繎涓瑢楁敮鎵橈細涓庤繙涓瑢楁敮鎵樼浉姣旓紝鍔犲ぇ浜嗚浆鍔ㄥ崐寰勶紝瀵瑰熀鐗欐壄鍔涘皬锛涢噰鐢ㄨ繎涓瑢楁敮鎵樺垯鍩虹墮鍚戣繎涓�炬枩锛岃繎涓湁閭荤墮鏀寔锛屼娇鍩虹墮鍙楀姏鍑忓皯鎴栬鎶垫秷锛涘悓鏃跺洜鏀偣浣嶇疆鍦ㄥ熀鐗欒繙涓紝涔熷彲浠ヤ腑鏂垨鍑忓皬鍩虹墮杩滀腑鎵�鍙楀簲鍔涖��
+                    </p>
                     <p class="content">2锛夊簲鍔涗腑鏂紡璁捐锛氬璁剧疆缁勫悎寮忓崱鐜�佸洖鍔涘崱鐜瓑銆�</p>
                     <p class="content">3锛夐噰鐢ㄥ叿鏈変竴瀹氬脊鎬х殑寮埗鍗$幆锛屼娇涔夐娇鍦ㄥ拃鍤煎帇鍔涗笅鑳藉杞诲井绉诲姩锛屼粠鑰屽垎鏁e鍩虹墮鐨勬壄鍔涖��</p>
                     <p class="content">锛�3锛夐槻姝㈣蒋缁勭粐鍒涗激鍜岀墮妲介鍚告敹</p>
@@ -277,29 +314,34 @@
                 <div class="bodystyle">
                     <h3 class="thirdTitle">涓夈�佷换鍔℃渚嬬殑鏀灦璁捐</h3>
                     <p class="content">鏈换鍔$殑妗堜緥淇℃伅璇存槑浜嗘偅鑰呬綑鐣欑墮鍜屽彛鑵旇蒋缁勭粐鐘跺喌鑹ソ锛屾嵁姝ゅ彲浠ュ皢姝ゆ渚嬩綔娣峰悎鏀寔寮忎箟榻胯璁★紝鍦ㄨ璁′腑瑕佸厖鍒嗕繚鎶ょ墮妲介鍜屽熀鐗欍�備笅闈㈡槸鍏蜂綋鐨勬敮鏋惰璁°��</p>
-                    <p class="content"><span class="bold">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
+                    <p class="content"><span class="bold fontGreen">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
                     <p class="content">锛�1锛夐�夋嫨鍩虹墮锛氭牴鎹己鐗欐儏鍐甸�夋嫨鍙充笂绗簩鍓嶇(鐗欍�佸乏涓婂皷鐗欍�佸乏涓婄浜屽墠纾ㄧ墮浣滀负鍩虹墮銆�</p>
                     <p class="content">
                         锛�2锛夌洿鎺ュ浐浣嶄綋绫诲瀷锛氫负浣挎父绂荤鍩烘墭涓嬬粍缁囧彈鍔涘潎鍖�锛屽噺灏忓鍩虹墮鐨勬壄鍔涳紝鍙涓婇涓や晶绗簩鍓嶇(鐗欒璁″浐浣嶃�佺ǔ瀹氥�佹敮鎸佷綔鐢ㄨ壇濂界殑缁勫悎寮廟PI銆丷PA鍗$幆鎴栨敼鑹紡RPI銆丷PA鍗$幆缁勩�傚彲瀵瑰乏涓婂皷鐗欒璁′笓鐢ㄧ殑灏栫墮鍗$幆锛岃�冭檻灏栫墮浣嶄簬鍙h浣嶇疆锛屽叾缇庤鎬т篃瑕佺潃閲嶈�冭檻锛屽湪淇濊瘉鍥轰綅鑹ソ鐨勬儏鍐典笅锛屽彲浠ュ湪鍓嶇墮鑸屼晶鏀剧疆鑸岄殕绐佹敮鎵樸��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�鍩虹墮宸︿笂灏栫墮涓婄殑鍗$幆鐩稿綋浜庡湪鏀偣鐨勫钩琛′晶鏀剧疆闂存帴鍥轰綅浣擄紝涓旀偅鑰呯己鐗欎綅缃浉瀵瑰绉帮紝鍙屼晶涓夐鍩虹墮鍧囪璁′簡鍗$幆鍥轰綅浣擄紝瀹炵幇浜嗚法寮撶ǔ瀹氭�с�傚湪鍏奸【鎮h�呯編瑙傛�с�佽垝閫傛�х殑鎯呭喌涓嬶紝鍙互涓嶈繘琛岄棿鎺ュ浐浣嶄綋鐨勬斁缃��
+                            class="bold fontGreen">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�鍩虹墮宸︿笂灏栫墮涓婄殑鍗$幆鐩稿綋浜庡湪鏀偣鐨勫钩琛′晶鏀剧疆闂存帴鍥轰綅浣擄紝涓旀偅鑰呯己鐗欎綅缃浉瀵瑰绉帮紝鍙屼晶涓夐鍩虹墮鍧囪璁′簡鍗$幆鍥轰綅浣擄紝瀹炵幇浜嗚法寮撶ǔ瀹氭�с�傚湪鍏奸【鎮h�呯編瑙傛�с�佽垝閫傛�х殑鎯呭喌涓嬶紝鍙互涓嶈繘琛岄棿鎺ュ浐浣嶄綋鐨勬斁缃��
                     </p>
-                    <p class="content"><span class="bold">3锛庤璁¤繛鎺ヤ綋</span></p>
+                    <p class="content"><span class="bold fontGreen">3锛庤璁¤繛鎺ヤ綋</span></p>
                     <p class="content">锛�1锛夊ぇ杩炴帴浣擄細璁捐涓轰綅浜庝笂棰屼袱渚х涓�銆佺浜岀(鐗欎箣闂寸殑鍚庤叚鏉嗭紝鍛堟尝娴姸锛岃叚鏉嗙殑涓儴搴斿姏闆嗕腑鍖虹暐鍚戝墠绉讳綅鑷冲乏涓婄涓�鍓嶇(鐗欑殑缂洪殭浣嶏紝浠ュ钩琛′綔鐢ㄥ姏銆�</p>
                     <p class="content">
                         锛�2锛夊皬杩炴帴浣擄細閲戝睘濉戞枡缁撳悎鍖虹殑缃戠姸灏忚繛鎺ヤ綋锛岄摳缃戠◢绋嶈秴杩囩墮妲藉荡椤剁殑棰婁晶鍗冲彲锛屾父绂荤鐨勪笂棰岄摳缃戦渶杈惧埌涓婇缁撹妭鐨勫墠閮紝鍚屾椂缃戠姸鏀灦涓庢爲鑴傚熀鎵樼粨鍚堝搴旇璁″皬浜�90掳鐨勫唴澶栫粓姝㈢嚎銆傛敮鏋惰璁″弬鑰冨浘濡傚浘3-1-1鎵�绀恒��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0078-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-1-1銆�鏀灦璁捐鍙傝�冨浘</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0078-01.jpg" style="width:50%" alt="鍥�3-1-1銆�鏀灦璁捐鍙傝�冨浘"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-1-1銆�鏀灦璁捐鍙傝�冨浘</p>
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">鍔熻兘鎬у嵃妯�</span></p>
-                    <p class="quotation">
-                        娓哥绔己澶盧PD璁捐涓烘贩鍚堟敮鎸佸紡涔夐娇鏃讹紝閫氬父鐢变簬鍙h厰杞‖缁勭粐鐨勫彲璁╂�у樊寮傝緝澶э紝瀵艰嚧涔夐娇鍦ㄤ娇鐢ㄨ繃绋嬩腑瀹规槗鍑虹幇涔夐娇涓嶇ǔ瀹氱幇璞★紝杩涜�屽鏄撻�犳垚瀵瑰熀鐗欑殑鎹熷鍙婂杞粍缁囩殑鍒涗激绛夋儏鍐点�傚洜姝わ紝鍦ㄨ繘琛屾父绂荤缂哄けRPD淇鏃讹紝鍒跺彇鍔熻兘鎬у嵃妯″彲浠ュ讥琛ラ瀺鍩鸿繙涓父绂荤涔夐娇涓嬫矇杩囧鐨勯棶棰樸��
-                    </p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">鍔熻兘鎬у嵃妯�</span></p>
+                        <p class="quotation">
+                            娓哥绔己澶盧PD璁捐涓烘贩鍚堟敮鎸佸紡涔夐娇鏃讹紝閫氬父鐢变簬鍙h厰杞‖缁勭粐鐨勫彲璁╂�у樊寮傝緝澶э紝瀵艰嚧涔夐娇鍦ㄤ娇鐢ㄨ繃绋嬩腑瀹规槗鍑虹幇涔夐娇涓嶇ǔ瀹氱幇璞★紝杩涜�屽鏄撻�犳垚瀵瑰熀鐗欑殑鎹熷鍙婂杞粍缁囩殑鍒涗激绛夋儏鍐点�傚洜姝わ紝鍦ㄨ繘琛屾父绂荤缂哄けRPD淇鏃讹紝鍒跺彇鍔熻兘鎬у嵃妯″彲浠ュ讥琛ラ瀺鍩鸿繙涓父绂荤涔夐娇涓嬫矇杩囧鐨勯棶棰樸��
+                        </p>
+                        <p class="quotation">
+                            鍔熻兘鎬у嵃妯℃槸鍦ㄥ帇鍔涚姸鎬佷笅鍙栧緱鐨勫嵃妯★紝涓昏鐩殑鏄湪鍒朵綔涔夐娇鐨勬ā鍨嬫椂鎻愪緵鏇村姞绮剧‘鐨勮蒋缁勭粐褰㈡�侊紝鍦ㄨ�冭檻鍒拌倢鑲夎繍鍔ㄧ殑鍓嶆彁涓嬪皢涔夐娇鍩烘墭鐨勬壙鎵樺尯鏈�澶у寲銆傚叾鍙栨ā杩囩▼鍖呮嫭杞粍缁囩殑鍔ㄦ�佹暣濉戯紝寮鸿皟鍦ㄥ彇鍗版ā鏃剁殑鑲岃倝杩愬姩鍜屽彛鑵斿姛鑳芥椿鍔紝璁╂偅鑰呮ā浠挎棩甯稿拃鍤笺�佽璇濈瓑鍙h厰娲诲姩锛屼娇杞粍缁囧浜庤嚜鐒剁姸鎬侊紝浠ョ‘淇濅慨澶嶄綋鑳藉鏇村ソ鍦伴�傚簲鎮h�呯殑鍙h厰鐜銆�
+                        </p>
+                    </div>
                 </div>
                 <div class="page-bottom-left">062</div>
             </div>
@@ -313,26 +355,36 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="quotation">
-                        鍔熻兘鎬у嵃妯℃槸鍦ㄥ帇鍔涚姸鎬佷笅鍙栧緱鐨勫嵃妯★紝涓昏鐩殑鏄湪鍒朵綔涔夐娇鐨勬ā鍨嬫椂鎻愪緵鏇村姞绮剧‘鐨勮蒋缁勭粐褰㈡�侊紝鍦ㄨ�冭檻鍒拌倢鑲夎繍鍔ㄧ殑鍓嶆彁涓嬪皢涔夐娇鍩烘墭鐨勬壙鎵樺尯鏈�澶у寲銆傚叾鍙栨ā杩囩▼鍖呮嫭杞粍缁囩殑鍔ㄦ�佹暣濉戯紝寮鸿皟鍦ㄥ彇鍗版ā鏃剁殑鑲岃倝杩愬姩鍜屽彛鑵斿姛鑳芥椿鍔紝璁╂偅鑰呮ā浠挎棩甯稿拃鍤笺�佽璇濈瓑鍙h厰娲诲姩锛屼娇杞粍缁囧浜庤嚜鐒剁姸鎬侊紝浠ョ‘淇濅慨澶嶄綋鑳藉鏇村ソ鍦伴�傚簲鎮h�呯殑鍙h厰鐜銆�
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鑲紡鈪犵被鏀灦璁捐浠诲姟璇勪环鏍囧噯瑙佽〃3-1-1銆�</p>
-                    <p class="imgtitle">琛�3-1-1銆�鑲紡鈪犵被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0079-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�3-1-1銆�鑲紡鈪犵被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0079-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="" active="true" /></div>
                     <h2 class="secondTitle">浠诲姟浜屻��鑲皬鈪$被鏀灦璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">
-                        鎮h�咃紝濂虫�э紝48宀併�傚彸涓嬬涓�鍓嶇(鐗欍�佸彸涓嬬浜屽墠纾ㄧ墮銆佸彸涓嬬涓�纾ㄧ墮銆佸乏涓嬬浜屽墠纾ㄧ墮鍙婂乏涓嬬涓�銆佺浜岀(鐗欑己澶憋紝鍙充笅绗簩纾ㄧ墮鏈夎交寰繎涓垖鍊撅紝鍏朵粬浣欑暀鐗欓娇鐘跺喌鑹ソ锛岀墮鍛ㄥ仴搴凤紝鏃犳槑鏄剧墮鍛ㄧ値鎴栫墮榻挎澗鍔紝鏈夌ǔ瀹氱殑鍜悎鍏崇郴鍜岃冻澶熺殑鍓╀綑鐗欓娇鏀寔銆傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
-                    </p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庤偗姘忊叀绫籖PD璁捐鍘熷垯鍩烘湰涓庤偗姘忊厾绫婚浄鍚岋紝閽堝鈪$被澶嶆潅鐨勭己鐗欐儏鍐碉紝搴旇鎺屾彙鍝簺璁捐瑕佺偣鍜屾柟娉曪紵</p>
-                    <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
-
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">浠诲姟妗堜緥</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">
+                                鎮h�咃紝濂虫�э紝48宀併�傚彸涓嬬涓�鍓嶇(鐗欍�佸彸涓嬬浜屽墠纾ㄧ墮銆佸彸涓嬬涓�纾ㄧ墮銆佸乏涓嬬浜屽墠纾ㄧ墮鍙婂乏涓嬬涓�銆佺浜岀(鐗欑己澶憋紝鍙充笅绗簩纾ㄧ墮鏈夎交寰繎涓垖鍊撅紝鍏朵粬浣欑暀鐗欓娇鐘跺喌鑹ソ锛岀墮鍛ㄥ仴搴凤紝鏃犳槑鏄剧墮鍛ㄧ値鎴栫墮榻挎澗鍔紝鏈夌ǔ瀹氱殑鍜悎鍏崇郴鍜岃冻澶熺殑鍓╀綑鐗欓娇鏀寔銆傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
+                            </p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庤偗姘忊叀绫籖PD璁捐鍘熷垯鍩烘湰涓庤偗姘忊厾绫婚浄鍚岋紝閽堝鈪$被澶嶆潅鐨勭己鐗欐儏鍐碉紝搴旇鎺屾彙鍝簺璁捐瑕佺偣鍜屾柟娉曪紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.three" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.fore" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
                 </div>
+
+
+
                 <div class="page-bottom-right">063</div>
             </div>
         </div>
@@ -346,30 +398,31 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鑲皬鈪$被缂哄け鎸囧崟渚ц繙涓父绂荤己澶憋紝涓庤偗姘忊厾绫荤己澶辩殑涔夐娇鐗圭偣鏋佷负鐩镐技锛屽潎瀛樺湪娓哥绔己鐗欐儏鍐碉紝涔夐娇绋冲畾鎬у樊銆傚叾涔夐娇鐗圭偣鍙婅璁¤鐐瑰ぇ澶氬彲鍙傜収鑲皬鈪犵被锛屼絾鍦ㄩ儴鍒嗙粏鑺傝璁′笂鏈夊樊寮傘�備笅闈㈣仛鐒﹁偗姘忊叀绫荤殑鏀灦璁捐锛岄拡瀵逛綔涓篟PD鏀灦璁捐闅剧偣鐨勬贩鍚堟敮鎸佸紡涔夐娇鏀灦灞曞紑璁茶В銆�
                     </p>
                     <h3 class="thirdTitle">涓�銆佸崟渚у悗鐗欐父绂荤己澶憋紝涓嶅瓨鍦ㄤ簹绫�</h3>
                     <p class="content"><span
-                            class="bold">1锛庡崟渚ф父绂荤己澶变竴涓悗鐗�</span>銆�鍦ㄥ鐞嗚繖绉嶆儏鍐垫椂锛屼紶缁熺殑鍗曠娲诲姩妗ヨ璁″瓨鍦ㄥ浐浣嶄笉绋冲畾銆佸崟渚у彈鍔涢毦浠ュ钩琛″強娼滃湪鐨勮鍚為闄╋紝鍥犳涓嶆帹鑽愯繖绉嶆柟妗堛�備负澧炲己涔夐娇鐨勫浐浣嶅拰绋冲畾鎬э紝鎻愬崌鎮h�呯殑瀹夊叏鎬э紝搴斿綋閲囧彇鍙屼晶鑱斿悎璁捐绛栫暐銆傚叿浣撹�岃█锛屽彲浠ュ湪鐗欏紦瀵逛晶璁捐闂存帴鍥轰綅浣擄紝骞堕�氳繃澶ц繛鎺ヤ綋瀹炵幇璺ㄥ紦绋冲畾鎬с�傝繖绉嶈璁℃湁鍔╀簬鍒嗘暎鍜悎鍔涳紝鎻愰珮涔夐娇鐨勫浐浣嶆晥鏋溿�傚湪鏌愪簺鎯呭喌涓嬶紝涔熷彲鑰冭檻鍏朵粬绫诲瀷鐨勪箟榻夸慨澶嶆柟妗堬紝浠ユ弧瓒虫偅鑰呯殑涓綋闇�姹傘��
+                            class="bold fontGreen">1锛庡崟渚ф父绂荤己澶变竴涓悗鐗�</span>銆�鍦ㄥ鐞嗚繖绉嶆儏鍐垫椂锛屼紶缁熺殑鍗曠娲诲姩妗ヨ璁″瓨鍦ㄥ浐浣嶄笉绋冲畾銆佸崟渚у彈鍔涢毦浠ュ钩琛″強娼滃湪鐨勮鍚為闄╋紝鍥犳涓嶆帹鑽愯繖绉嶆柟妗堛�備负澧炲己涔夐娇鐨勫浐浣嶅拰绋冲畾鎬э紝鎻愬崌鎮h�呯殑瀹夊叏鎬э紝搴斿綋閲囧彇鍙屼晶鑱斿悎璁捐绛栫暐銆傚叿浣撹�岃█锛屽彲浠ュ湪鐗欏紦瀵逛晶璁捐闂存帴鍥轰綅浣擄紝骞堕�氳繃澶ц繛鎺ヤ綋瀹炵幇璺ㄥ紦绋冲畾鎬с�傝繖绉嶈璁℃湁鍔╀簬鍒嗘暎鍜悎鍔涳紝鎻愰珮涔夐娇鐨勫浐浣嶆晥鏋溿�傚湪鏌愪簺鎯呭喌涓嬶紝涔熷彲鑰冭檻鍏朵粬绫诲瀷鐨勪箟榻夸慨澶嶆柟妗堬紝浠ユ弧瓒虫偅鑰呯殑涓綋闇�姹傘��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庡崟渚ф父绂荤己澶变袱涓垨浠ヤ笂鍚庣墮</span>銆�鍦ㄥ鐞嗚繖绉嶆儏鍐垫椂锛岄渶閲囩敤鍙屼晶鑱斿悎璁捐绛栫暐锛屼互纭繚绋冲畾鐨勮法寮撴敮鎸佸拰鍙楀姏骞宠 銆傚湪鐗欏紦瀵逛晶璁剧疆闂存帴鍥轰綅浣擄紝濡傞棿闅欏崱鐜垨鑱斿悎鍗$幆锛岄�氳繃澶ц繛鎺ヤ綋杩炴帴锛屼互褰㈡垚绋冲浐鐨勬敮鐐广�傝�冭檻鍒扮己鐗欐暟閲忓皯锛屽彲璁捐鏉嗙姸銆佸甫鐘剁瓑澶ц繛鎺ヤ綋鏉ユ彁楂樼粨鏋勭殑寮哄害鍜屽浐浣嶆晥鏋滐紝鍚屾椂鍏奸【鎮h�呯殑缇庤鎬у拰鑸掗�傛�с��
+                            class="bold fontGreen">2锛庡崟渚ф父绂荤己澶变袱涓垨浠ヤ笂鍚庣墮</span>銆�鍦ㄥ鐞嗚繖绉嶆儏鍐垫椂锛岄渶閲囩敤鍙屼晶鑱斿悎璁捐绛栫暐锛屼互纭繚绋冲畾鐨勮法寮撴敮鎸佸拰鍙楀姏骞宠 銆傚湪鐗欏紦瀵逛晶璁剧疆闂存帴鍥轰綅浣擄紝濡傞棿闅欏崱鐜垨鑱斿悎鍗$幆锛岄�氳繃澶ц繛鎺ヤ綋杩炴帴锛屼互褰㈡垚绋冲浐鐨勬敮鐐广�傝�冭檻鍒扮己鐗欐暟閲忓皯锛屽彲璁捐鏉嗙姸銆佸甫鐘剁瓑澶ц繛鎺ヤ綋鏉ユ彁楂樼粨鏋勭殑寮哄害鍜屽浐浣嶆晥鏋滐紝鍚屾椂鍏奸【鎮h�呯殑缇庤鎬у拰鑸掗�傛�с��
                     </p>
-                    <p class="content">姝ゅ锛屽簲璁捐骞惰瀺鍏ヨ繎涓�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏀墭鍜岃繙涓偦闈㈡澘绛夌粨鏋勶紝浠ョ‘淇濇父绂诲熀鎵樹笅杞粍缁囩殑鍧囧寑鍙楀姏锛屽悓鏃跺噺灏忓鍩虹墮鐨勬壄鍔涖�傛墍浠ュ湪鍥轰綅浣撶殑閫夋嫨涓婏紝鍙洿鎺ラ噰鐢ㄧ粍鍚堝紡鍗$幆锛岃繖绉嶈璁¤兘澶熸彁渚涚洿鎺ョ殑鍥轰綅鏀寔锛屽悓鏃堕檷浣庡鍩虹墮鎹熷鐨勯闄┿��
+                    <p class="content">
+                        姝ゅ锛屽簲璁捐骞惰瀺鍏ヨ繎涓瑢楁敮鎵樺拰杩滀腑閭婚潰鏉跨瓑缁撴瀯锛屼互纭繚娓哥鍩烘墭涓嬭蒋缁勭粐鐨勫潎鍖�鍙楀姏锛屽悓鏃跺噺灏忓鍩虹墮鐨勬壄鍔涖�傛墍浠ュ湪鍥轰綅浣撶殑閫夋嫨涓婏紝鍙洿鎺ラ噰鐢ㄧ粍鍚堝紡鍗$幆锛岃繖绉嶈璁¤兘澶熸彁渚涚洿鎺ョ殑鍥轰綅鏀寔锛屽悓鏃堕檷浣庡鍩虹墮鎹熷鐨勯闄┿��
                     </p>
                     <h3 class="thirdTitle">浜屻�佸崟渚у悗鐗欐父绂荤己澶憋紝瀛樺湪浜氱被</h3>
                     <p class="content"><span
-                            class="bold">1锛庡崟渚у悗鐗欐父绂荤己澶憋紝瀵逛晶鍚庣墮瀛樺湪浜氱被</span>銆�閽堝鍗曚晶鍚庣墮娓哥缂哄け锛屽苟涓斿瓨鍦ㄥ渚т簹绫荤己闅欑殑鎯呭喌锛屾父绂荤鐨勮璁″拰鍙屼晶鑱斿悎璁捐鐐瑰熀鏈笌鍓嶈堪鎯呭喌涓�鑷达紝浣嗛渶鐗瑰埆娉ㄦ剰瀵逛晶浜氱被缂洪殭鐨勫鐞嗐�傚湪璇ヤ晶锛屽繀椤婚�夊畾鍚堥�傜殑鍩虹墮鏉ユ斁缃洿鎺ュ浐浣嶄綋鍗$幆锛屼互澧炲己涔夐娇鐨勭ǔ瀹氭�у拰鍥轰綅鏁堟灉銆傝繖鏍峰彲浠ョ‘淇濆湪鎻愪緵蹇呰鏀寔鐨勫悓鏃讹紝鍑忓皯瀵圭墮鍛ㄧ粍缁囧拰鍩虹墮鍙兘閫犳垚鐨勬崯浼ゃ�傝繛鎺ヤ綋鏍规嵁缂洪殭澶у皬閫夊畾銆�
+                            class="bold fontGreen">1锛庡崟渚у悗鐗欐父绂荤己澶憋紝瀵逛晶鍚庣墮瀛樺湪浜氱被</span>銆�閽堝鍗曚晶鍚庣墮娓哥缂哄け锛屽苟涓斿瓨鍦ㄥ渚т簹绫荤己闅欑殑鎯呭喌锛屾父绂荤鐨勮璁″拰鍙屼晶鑱斿悎璁捐鐐瑰熀鏈笌鍓嶈堪鎯呭喌涓�鑷达紝浣嗛渶鐗瑰埆娉ㄦ剰瀵逛晶浜氱被缂洪殭鐨勫鐞嗐�傚湪璇ヤ晶锛屽繀椤婚�夊畾鍚堥�傜殑鍩虹墮鏉ユ斁缃洿鎺ュ浐浣嶄綋鍗$幆锛屼互澧炲己涔夐娇鐨勭ǔ瀹氭�у拰鍥轰綅鏁堟灉銆傝繖鏍峰彲浠ョ‘淇濆湪鎻愪緵蹇呰鏀寔鐨勫悓鏃讹紝鍑忓皯瀵圭墮鍛ㄧ粍缁囧拰鍩虹墮鍙兘閫犳垚鐨勬崯浼ゃ�傝繛鎺ヤ綋鏍规嵁缂洪殭澶у皬閫夊畾銆�
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庡崟渚у悗鐗欐父绂荤己澶憋紝瀵逛晶鍚庣墮銆佸墠鐗欏尯鍧囧瓨鍦ㄤ簹绫�</span>銆�鍦ㄥ鐞嗚繖绫绘儏鍐垫椂锛屽湪璁捐涓渶娉ㄦ剰闂存帴鍥轰綅浣撶殑澧炶锛屽墠鐗欑己闅欎袱鏃佸熀鐗欒缃繎涓偦闈㈡澘銆佽垖鏀墭绛夐儴浠讹紝浠ユ彁渚涢澶栫殑鏀寔骞跺垎鏁e簲鍔涖�傛澶栵紝澶ц繛鎺ヤ綋鐨勬瀯閫犱篃闇�瑕佹牴鎹笂棰屾垨涓嬮鐨勮В鍓栧舰鎬佽繘琛岄�傚簲鎬ц皟鏁达紝濡備笂棰岀殑杩炴帴浣撳彲鑳界敱鏉嗙姸鍙樹负鏉跨姸锛屼互鎻愪緵鏇村己鐨勭ǔ瀹氭�т笌鏇村箍鐨勫垎甯冨姏鐐癸紝浣垮緱鍙h厰缁勭粐鍙楀姏鍧囧寑銆傚湪鍏朵粬璁捐鏂归潰锛屼笌鍗曚晶鍚庣墮娓哥缂哄け銆佸渚у悗鐗欏瓨鍦ㄤ簹绫荤殑鎯呭喌淇濇寔涓�鑷达紝纭繚鏁翠綋淇鏂规鐨勫崗璋冩�у拰鍔熻兘鎬с��
+                            class="bold fontGreen">2锛庡崟渚у悗鐗欐父绂荤己澶憋紝瀵逛晶鍚庣墮銆佸墠鐗欏尯鍧囧瓨鍦ㄤ簹绫�</span>銆�鍦ㄥ鐞嗚繖绫绘儏鍐垫椂锛屽湪璁捐涓渶娉ㄦ剰闂存帴鍥轰綅浣撶殑澧炶锛屽墠鐗欑己闅欎袱鏃佸熀鐗欒缃繎涓偦闈㈡澘銆佽垖鏀墭绛夐儴浠讹紝浠ユ彁渚涢澶栫殑鏀寔骞跺垎鏁e簲鍔涖�傛澶栵紝澶ц繛鎺ヤ綋鐨勬瀯閫犱篃闇�瑕佹牴鎹笂棰屾垨涓嬮鐨勮В鍓栧舰鎬佽繘琛岄�傚簲鎬ц皟鏁达紝濡備笂棰岀殑杩炴帴浣撳彲鑳界敱鏉嗙姸鍙樹负鏉跨姸锛屼互鎻愪緵鏇村己鐨勭ǔ瀹氭�т笌鏇村箍鐨勫垎甯冨姏鐐癸紝浣垮緱鍙h厰缁勭粐鍙楀姏鍧囧寑銆傚湪鍏朵粬璁捐鏂归潰锛屼笌鍗曚晶鍚庣墮娓哥缂哄け銆佸渚у悗鐗欏瓨鍦ㄤ簹绫荤殑鎯呭喌淇濇寔涓�鑷达紝纭繚鏁翠綋淇鏂规鐨勫崗璋冩�у拰鍔熻兘鎬с��
                     </p>
 
-
                 </div>
+
+
                 <div class="page-bottom-left">064</div>
             </div>
         </div>
@@ -388,30 +441,34 @@
                     </p>
                     <h3 class="thirdTitle">鍥涖�佷换鍔℃渚嬬殑鏀灦璁捐</h3>
                     <p class="content">鏈换鍔℃渚嬩俊鎭鏄庝簡鎮h�呭瓨鍦ㄥ崟渚ф父绂荤己澶辩殑鎯呭喌锛屼负鑲皬鈪$被涓�浜氱被锛屾牴鎹彛鑵旂粍缁囨儏鍐电‘瀹氬叾鏀寔鏂瑰紡涓烘贩鍚堝紡鏀寔锛屼笅闈㈣繘琛屽叿浣撶殑鏀灦璁捐銆�</p>
-                    <p class="content"><span class="bold">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
                     <p class="content">锛�1锛夐�夋嫨鍩虹墮锛氭牴鎹己鐗欐儏鍐甸�夋嫨鍙充笅绗簩纾ㄧ墮銆佸乏涓嬬浜屽墠纾ㄧ墮浣滀负鐩存帴鍥轰綅浣撳熀鐗欍��</p>
                     <p class="content">
-                        锛�2锛夌洿鎺ュ浐浣嶄綋绫诲瀷锛氬浜庡熀鐗欏彸涓嬬浜岀(鐗欙紝鑰冭檻鍒拌交寰殑杩戜腑鑸屽�撅紝鍙�夋嫨鍦堝舰鍗$幆浠ユ彁渚涘浐浣嶏紝鍚屾椂闃叉杩涗竴姝ョ殑鐗欓娇绉讳綅銆傚浜庡熀鐗欏乏涓嬬浜屽墠纾ㄧ墮锛岀敱浜庢槸杩滀腑娓哥绔己澶憋紝鍙璁′负甯︽湁杩戜腑<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鏀墭銆佽繙涓偦闈㈡澘鐨凴PI缁勫悎寮忓崱鐜紝浠ユ彁渚涙湁鏁堢殑鍥轰綅绋冲畾鎬с��
+                        锛�2锛夌洿鎺ュ浐浣嶄綋绫诲瀷锛氬浜庡熀鐗欏彸涓嬬浜岀(鐗欙紝鑰冭檻鍒拌交寰殑杩戜腑鑸屽�撅紝鍙�夋嫨鍦堝舰鍗$幆浠ユ彁渚涘浐浣嶏紝鍚屾椂闃叉杩涗竴姝ョ殑鐗欓娇绉讳綅銆傚浜庡熀鐗欏乏涓嬬浜屽墠纾ㄧ墮锛岀敱浜庢槸杩滀腑娓哥绔己澶憋紝鍙璁′负甯︽湁杩戜腑瓞寳鏀墭銆佽繙涓偦闈㈡澘鐨凴PI缁勫悎寮忓崱鐜紝浠ユ彁渚涙湁鏁堢殑鍥轰綅绋冲畾鎬с��
                     </p>
-                    <p class="content"><span
-                            class="bold">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�浣跨敤鍓嶇墮浣滀负闂存帴鍥轰綅浣撶殑鍩虹偣锛屽彲璁捐鍙岃垖鏉嗕互澧炲己鐩存帴鍥轰綅浣撶殑绋冲畾鎬э紝鍚屾椂鎻愪緵棰濆鐨勬敮鎵樺拰鍥轰綅銆�</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0081-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-2-1銆�鏀灦璁捐鍙傝�冨浘</p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic">
+                            <img class="openImgBox" src="../../assets/images/0081-02.jpg" style="width:250px"
+                                alt="鍥�3-2-1銆�鏀灦璁捐鍙傝�冨浘" active="true" />
+                            <p class="imgdescript-b">鍥�3-2-1 鏀灦璁捐鍙傝�冨浘</p>
+                        </div>
+                        <p class="content"><span
+                                class="bold fontGreen titleLeftmove">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�浣跨敤鍓嶇墮浣滀负闂存帴鍥轰綅浣撶殑鍩虹偣锛屽彲璁捐鍙岃垖鏉嗕互澧炲己鐩存帴鍥轰綅浣撶殑绋冲畾鎬э紝鍚屾椂鎻愪緵棰濆鐨勬敮鎵樺拰鍥轰綅銆�
+                        </p>
+                        <p class="content"><span class="bold fontGreen titleLeftmove">3锛庤璁¤繛鎺ヤ綋</span></p>
+                        <p class="content">锛�1锛夊ぇ杩炴帴浣擄細璁剧疆涓哄弻鑸屾潌锛屾棦浣滀负闂存帴鍥轰綅浣擄紝鍙堜綔涓哄ぇ杩炴帴浣撲娇鐢ㄣ��</p>
+                        <p class="content">
+                            锛�2锛夊皬杩炴帴浣擄細杩戜腑瓞寳鏀墭鐨勫皬杩炴帴浣擄紝灏嗘敮鎵樹笌鍩虹墮杩炴帴锛屽垎鏁e挰鍚堝姏锛岄槻姝㈠熀鐗欐崯浼ゃ�傚湪缂洪殭閮ㄤ綅璁剧疆缃戠姸杩炴帴浣擄紝澧炲己璇ュ尯鍩熺殑缁撴瀯寮哄害锛屾湁鍔╀簬鍒嗘暎鍜悎鍘嬪姏銆傛敮鏋惰璁″弬鑰冨浘濡傚浘3-2-1鎵�绀恒��
+                        </p>
                     </div>
-                    <p class="content"><span class="bold">3锛庤璁¤繛鎺ヤ綋</span></p>
-                    <p class="content">锛�1锛夊ぇ杩炴帴浣擄細璁剧疆涓哄弻鑸屾潌锛屾棦浣滀负闂存帴鍥轰綅浣擄紝鍙堜綔涓哄ぇ杩炴帴浣撲娇鐢ㄣ��</p>
-                    <p class="content">锛�2锛夊皬杩炴帴浣擄細杩戜腑<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏀墭鐨勫皬杩炴帴浣擄紝灏嗘敮鎵樹笌鍩虹墮杩炴帴锛屽垎鏁e挰鍚堝姏锛岄槻姝㈠熀鐗欐崯浼ゃ�傚湪缂洪殭閮ㄤ綅璁剧疆缃戠姸杩炴帴浣擄紝澧炲己璇ュ尯鍩熺殑缁撴瀯寮哄害锛屾湁鍔╀簬鍒嗘暎鍜悎鍘嬪姏銆傛敮鏋惰璁″弬鑰冨浘濡傚浘3-2-1鎵�绀恒��
-                    </p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">鍙e鎵弿鏈�</span></p>
-                    <p class="quotation">
-                        鍦ㄥ彛鑵斾慨澶嶉鍩燂紝閽堝娓哥鐗欓娇缂哄け骞朵互RPD淇鏃讹紝閫氬父浼氶噰鍙栧埗鍙栧姛鑳芥�у嵃妯$殑鏂瑰紡锛屼互姝ゆ湁鏁堥檷浣庢父绂荤涔夐娇涓嬫矇鎵�寮曞彂鐨勪笉鑹奖鍝嶃�傜洰鍓嶏紝鍙e唴鎵弿鏈湪鑾峰彇鎮h�呭浜庡姛鑳界姸鎬佷笅鐨勫彛鑵旂粍缁囧舰鎬佷俊鎭柟闈紝灏氭湭杈惧埌鎴愮啛瀹屽杽鐨勭▼搴︺�傞壌浜庢锛屽湪寮�灞昍PD鏁板瓧鏀灦璁捐宸ヤ綔鏃讹紝鍙互浼樺厛閫夌敤鍙e鎵弿鏈潵鑾峰彇鎮h�呭浜庡姛鑳界姸鎬佷笅鐨勫彛鑵旀暟鎹紝浠庤�屼负鍚庣画鏀灦鐨勭簿鍑嗚璁′笌鍒朵綔鎻愪緵鍙潬鐨勬暟鎹敮鎾戙��
-                    </p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">鍙e鎵弿鏈�</span></p>
+                        <p class="quotation">
+                            鍦ㄥ彛鑵斾慨澶嶉鍩燂紝閽堝娓哥鐗欓娇缂哄け骞朵互RPD淇鏃讹紝閫氬父浼氶噰鍙栧埗鍙栧姛鑳芥�у嵃妯$殑鏂瑰紡锛屼互姝ゆ湁鏁堥檷浣庢父绂荤涔夐娇涓嬫矇鎵�寮曞彂鐨勪笉鑹奖鍝嶃�傜洰鍓嶏紝鍙e唴鎵弿鏈湪鑾峰彇鎮h�呭浜庡姛鑳界姸鎬佷笅鐨勫彛鑵旂粍缁囧舰鎬佷俊鎭柟闈紝灏氭湭杈惧埌鎴愮啛瀹屽杽鐨勭▼搴︺�傞壌浜庢锛屽湪寮�灞昍PD鏁板瓧鏀灦璁捐宸ヤ綔鏃讹紝鍙互浼樺厛閫夌敤鍙e鎵弿鏈潵鑾峰彇鎮h�呭浜庡姛鑳界姸鎬佷笅鐨勫彛鑵旀暟鎹紝浠庤�屼负鍚庣画鏀灦鐨勭簿鍑嗚璁′笌鍒朵綔鎻愪緵鍙潬鐨勬暟鎹敮鎾戙��
+                        </p>
 
+                    </div>
                 </div>
                 <div class="page-bottom-right">065</div>
             </div>
@@ -429,23 +486,32 @@
                     <p class="quotation">
                         鍙e鎵弿鏈綔涓鸿幏鍙栧彛鑵旀暟瀛楁ā鍨嬬殑涓�椤归噸瑕佹妧鏈紝鍏惰繍浣滃師鐞嗗熀浜庡厛涓烘偅鑰呭埗鍙栦紶缁熺殑鍙h厰鐭宠啅妯″瀷锛岄殢鍚庡�熷姪鍙e鎵弿浠鐭宠啅妯″瀷杩涜鎵弿銆傛鏃讹紝鍙e鎵弿浠細鍙戝皠鍏夌嚎锛堝婵�鍏夌瓑锛夊苟鎺ユ敹鍏跺湪鐭宠啅妯″瀷琛ㄩ潰鍙嶅皠鍥炴潵鐨勫厜绾匡紝渚濇嵁鍏夌嚎鐨勪紶鎾椂闂淬�佸弽灏勮搴︾瓑淇℃伅锛屽疄鐜板妯″瀷琛ㄩ潰鍚勭偣浣嶇疆鍙婂舰鎬佹暟鎹殑绮剧‘娴嬪畾锛屾渶缁堟瀯寤哄嚭瀹屾暣涓旂簿鍑嗙殑涓夌淮鏁板瓧妯″瀷銆�
                     </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鑲紡鈪$被鏀灦璁捐浠诲姟璇勪环鏍囧噯瑙佽〃3-2-1銆�</p>
-                    <p class="imgtitle">琛�3-2-1銆�鑲紡鈪$被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0082-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�3-2-1銆�鑲紡鈪$被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0082-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="" active="true" /></div>
                     <h2 class="secondTitle">浠诲姟涓夈��鑲皬鈪㈢被鏀灦璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">
-                        鎮h�咃紝鐢凤紝53宀併�傚彸涓婂垏鐗欏強宸︿笂鍒囩墮銆佺浜屽墠纾ㄧ墮銆佺涓�纾ㄧ墮缂哄け锛屽彸涓婄浜屽墠纾ㄧ墮銆佺涓�纾ㄧ墮鏈夐棿闅欙紝鍓╀綑鐨勫ぉ鐒剁墮榻跨姸鍐电ǔ瀹氾紝鏃犳樉钁楃墮鍛ㄧ梾寰佽薄鎴栫墮榻挎澗鍔ㄧ幇璞°�傛偅鑰呭叿鏈夌ǔ瀹氱殑鍜悎鍏崇郴锛屽苟鎷ユ湁鍏呰冻鐨勫墿浣欑墮榻挎潵鎻愪緵瓒冲鐨勬敮鎸併�傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
-                    </p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庤偗姘忊參绫籖PD鐨勬敮鎸佹柟寮忎竴鑸负鐗欐敮鎸侊紝閽堝鈪㈢被涓嶅悓鐨勭己鐗欐儏鍐碉紝搴旇鎺屾彙鍝簺璁捐瑕佺偣鍜屾柟娉曪紵</p>
-                    <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
-
-
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">浠诲姟妗堜緥</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">
+                                鎮h�咃紝鐢凤紝53宀併�傚彸涓婂垏鐗欏強宸︿笂鍒囩墮銆佺浜屽墠纾ㄧ墮銆佺涓�纾ㄧ墮缂哄け锛屽彸涓婄浜屽墠纾ㄧ墮銆佺涓�纾ㄧ墮鏈夐棿闅欙紝鍓╀綑鐨勫ぉ鐒剁墮榻跨姸鍐电ǔ瀹氾紝鏃犳樉钁楃墮鍛ㄧ梾寰佽薄鎴栫墮榻挎澗鍔ㄧ幇璞°�傛偅鑰呭叿鏈夌ǔ瀹氱殑鍜悎鍏崇郴锛屽苟鎷ユ湁鍏呰冻鐨勫墿浣欑墮榻挎潵鎻愪緵瓒冲鐨勬敮鎸併�傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
+                            </p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庤偗姘忊參绫籖PD鐨勬敮鎸佹柟寮忎竴鑸负鐗欐敮鎸侊紝閽堝鈪㈢被涓嶅悓鐨勭己鐗欐儏鍐碉紝搴旇鎺屾彙鍝簺璁捐瑕佺偣鍜屾柟娉曪紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.five" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.six" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
                 </div>
                 <div class="page-bottom-left">066</div>
             </div>
@@ -459,7 +525,7 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鑲皬鈪㈢被涔夐娇缂洪殭涓ゆ梺鍧囨湁澶╃劧鐗欏瓨鍦紝閫氬父璁捐涓虹墮鏀寔寮忎箟榻裤�備笌娓哥绔箟榻胯璁$浉姣旓紝鍩虹墮鎵�鎵垮彈鐨勬壄鍔涘ぇ澶у噺灏忥紝涓斿洜涓轰箟榻垮墠鍚庡潎鏈夋敮鐐癸紝鎵�浠ヨ兘澶熸湁鏁堥槻姝箟榻垮湪鍜悎鏃朵骇鐢熺殑涓嬫矇鐜拌薄锛屾湁鏁堟敼鍠勪箟榻跨殑绋冲畾鎬у拰鍔熻兘銆�
                     </p>
@@ -469,7 +535,7 @@
                     </p>
                     <h3 class="thirdTitle">浜屻�佸崟渚у悗鐗欓潪娓哥缂哄け锛屽瓨鍦ㄤ簹绫�</h3>
                     <p class="content"><span
-                            class="bold">1锛庡崟渚у悗鐗欓潪娓哥缂哄け锛屽渚у悗鐗欏尯瀛樺湪浜氱被</span>銆�瀵逛簬姝ょ缂虹墮鎯呭喌锛屽彲鍦ㄥ渚т篃閫夊畾鍚堥�傜殑鍩虹墮鏉ユ斁缃洿鎺ュ浐浣嶄綋鍗$幆锛屽舰鎴愰潰寮忓浐浣嶏紝浣嗙洿鎺ュ浐浣嶄綋鐨勬暟鐩互2锝�4涓负瀹滐紝涓嶅彲杩囧鏀剧疆銆備袱渚ч�氳繃澶ц繛鎺ヤ綋鐩歌繛锛屽浐浣嶅姏涓嶈冻鏃朵篃鍙璁″皷鐗欑殑鑸岄殕绐佹敮鎵樸��
+                            class="bold fontGreen">1锛庡崟渚у悗鐗欓潪娓哥缂哄け锛屽渚у悗鐗欏尯瀛樺湪浜氱被</span>銆�瀵逛簬姝ょ缂虹墮鎯呭喌锛屽彲鍦ㄥ渚т篃閫夊畾鍚堥�傜殑鍩虹墮鏉ユ斁缃洿鎺ュ浐浣嶄綋鍗$幆锛屽舰鎴愰潰寮忓浐浣嶏紝浣嗙洿鎺ュ浐浣嶄綋鐨勬暟鐩互2锝�4涓负瀹滐紝涓嶅彲杩囧鏀剧疆銆備袱渚ч�氳繃澶ц繛鎺ヤ綋鐩歌繛锛屽浐浣嶅姏涓嶈冻鏃朵篃鍙璁″皷鐗欑殑鑸岄殕绐佹敮鎵樸��
                     </p>
                     <p class="content">
                         锛�1锛夊熀鐗欓�夋嫨鍜屽浐浣嶄綋璁捐锛氶�夋嫨瀵逛晶鍚庣墮浣滀负鍩虹墮锛屽苟鍦ㄨ繖浜涘熀鐗欎笂璁捐鐩存帴鍥轰綅浣擄紙濡傚崱鐜級锛屽舰鎴愰潰寮忓浐浣嶃�傚浐浣嶄綋鏁伴噺寤鸿浠�2锝�4涓负瀹滐紝澶皯鍙兘鏃犳硶鎻愪緵瓒冲鐨勫浐浣嶅姏锛岃�岃繃澶氬垯鍙兘澧炲姞瀵瑰熀鐗欏拰鍛ㄥ洿鐗欏懆缁勭粐鐨勮礋鎷呫��
@@ -478,11 +544,11 @@
                         锛�2锛夐棿鎺ュ浐浣嶄綋璁捐锛氬鏋滃浐浣嶅姏涓嶈冻锛屽彲浠ュ湪灏栫墮鐨勮垖渚ч殕绐佸璁捐杈呭姪鏀墭锛堣垖渚ф敮鎵橈級锛屼互鎻愰珮鍥哄畾妗ョ殑绋冲畾鎬у拰鍥轰綅鏁堟灉銆傝垖渚ф敮鎵樺彲浠ユ彁渚涢澶栫殑鏀寔锛屽苟甯姪鍒嗘暎鍔熻兘璐熻浇銆�</p>
                     <p class="content">锛�3锛夎繛鎺ヤ綋璁捐锛氫袱渚у浐浣嶄綋閫氳繃涓�涓緝澶х殑杩炴帴浣撶浉杩烇紝瀹炵幇璺ㄧ墮寮撶殑绋冲畾鏀寔锛屽垎鏁e挰鍚堝姏鐨勫悓鏃堕伩鍏嶅崟鐐瑰彈鍔涜繃澶э紝闄嶄綆涔夐娇鍜屽熀鐗欏彈鎹熶激鐨勯闄┿��</p>
                     <p class="content"><span
-                            class="bold">2锛庡崟渚у悗鐗欓潪娓哥缂哄け锛屽渚у悗鐗欏尯銆佸墠鐗欏尯鍧囧瓨鍦ㄤ簹绫�</span>銆�閽堝姝ょ被鐘跺喌锛屾敮鏋惰璁″彲鍊熼壌鍓嶈堪鑲皬鈪$被姝ょ被缂虹墮鎯呭喌涓嬫敮鏋剁殑璁捐鍘熷垯锛屽叾涓父绂荤鐨勮璁¢渶姹備笉閫傜敤銆�
+                            class="bold fontGreen">2锛庡崟渚у悗鐗欓潪娓哥缂哄け锛屽渚у悗鐗欏尯銆佸墠鐗欏尯鍧囧瓨鍦ㄤ簹绫�</span>銆�閽堝姝ょ被鐘跺喌锛屾敮鏋惰璁″彲鍊熼壌鍓嶈堪鑲皬鈪$被姝ょ被缂虹墮鎯呭喌涓嬫敮鏋剁殑璁捐鍘熷垯锛屽叾涓父绂荤鐨勮璁¢渶姹備笉閫傜敤銆�
                     </p>
                     <h3 class="thirdTitle">涓夈�佷换鍔℃渚嬬殑鏀灦璁捐</h3>
                     <p class="content">鏈换鍔℃渚嬩负鑲皬鈪㈢被涓�浜氱被缂哄け锛岃鐗欐敮鎸佸紡涔夐娇璁捐锛屼笅闈㈣繘琛屽叿浣撹璁°��</p>
-                    <p class="content"><span class="bold">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
                     <p class="content">锛�1锛夐�夋嫨鍩虹墮锛氭牴鎹己鐗欐儏鍐甸�夋嫨鍙充笂灏栫墮銆佸乏涓婂皷鐗欍�佺涓�鍓嶇(鐗欍�佺浜岀(鐗欎綔涓虹洿鎺ュ浐浣嶄綋鍩虹墮銆�</p>
 
                 </div>
@@ -502,33 +568,45 @@
                     <p class="content">
                         锛�2锛夌洿鎺ュ浐浣嶄綋绫诲瀷锛氶壌浜庡熀鐗欏乏涓婄涓�鍓嶇(鐗欏強绗簩纾ㄧ墮鐨勫仴搴风姸鍐佃緝浣炽�佸叿澶囪壇濂界殑鏀寔鏉′欢锛屾晠鍙畨缃渾鐜舰鍗$幆銆傚熀浜庝慨澶嶄綋瀵瑰浐浣嶃�佺ǔ瀹氬強鏀寔鍔熻兘鐨勪弗鏍艰姹傦紝姝ゅ鍙璁′负鍥轰綅銆佺ǔ瀹氥�佹敮鎸佷綔鐢ㄨ壇濂界殑涓夎噦鍗$幆銆備袱渚у皷鐗欏浜庡墠鐗欏尯鍩燂紝浠庢偅鑰呭淇缇庤鎬х殑闇�姹傝搴﹀嚭鍙戯紝搴旈伩鍏嶅嚭鐜板ぇ闈㈢Н閲戝睘澶栭湶鐨勬儏鍐点�傚洜姝わ紝鍙湪缂洪殭涓や晶鐨勫皷鐗欎笂璁捐鑸岄殕绐佹敮鎵橈紝浠ユ鍦ㄦ弧瓒崇編瑙傞渶姹傜殑鍚屾椂锛岀‘淇濅慨澶嶄綋鐨勫姛鑳芥�т笌绋冲畾鎬с��
                     </p>
-                    <p class="content"><span
-                            class="bold">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�閲囩敤鍙屼晶鑱斿悎璁捐鏂规銆傞壌浜庝袱渚у皷鐗欐湭璁剧疆鍗$幆閮ㄤ欢锛屽湪姝ょ鎯呭喌涓嬶紝涔夐娇鐨勭ǔ瀹氭�у彲鑳藉瓨鍦ㄤ竴瀹氱▼搴︾殑涓嶈冻銆傚洜姝わ紝鍙湪瀵逛晶鍩虹墮澶勮璁″崱鐜紙濡傞棿闅欏崱鐜垨鑱斿悎鍗$幆锛夛紝灏嗗叾浣滀负闂存帴鍥轰綅浣撳姞浠ヨ繍鐢紝浠ユ杈炬垚璺ㄥ紦绋冲畾鐨勬晥鏋滐紝纭繚涔夐娇鍦ㄨ浣垮姛鑳借繃绋嬩腑鐨勭ǔ瀹氭�у拰鍙潬鎬с��
-                    </p>
-                    <p class="content"><span class="bold">3锛庤璁¤繛鎺ヤ綋</span></p>
-                    <p class="content">锛�1锛夊ぇ杩炴帴浣擄細璁剧疆涓轰竴绉嶈兘澶熶緷鎹己闅欎綅缃繘琛岀伒娲昏皟鏁寸殑鍙樺紓鑵澘缁撴瀯銆�</p>
-                    <p class="content">锛�2锛夊皬杩炴帴浣擄細鍦ㄧ己闅欓儴浣嶈缃綉鐘惰繛鎺ヤ綋锛屽寮鸿鍖哄煙鐨勭粨鏋勫己搴︼紱鍚屾椂鍦ㄥ墠鐗欑己闅欓儴浣嶈璁℃暟閲忎簨瀹滅殑鍥轰綅閽夈�傛敮鏋惰璁″弬鑰冨浘濡傚浘3-3-1鎵�绀恒��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0084-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-3-1銆�鏀灦璁捐鍙傝�冨浘</p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic openImgBox">
+                            <img class="openImgBox" src="../../assets/images/0084-01.jpg" style="width:250px"
+                                alt="鍥�3-3-1銆�鏀灦璁捐鍙傝�冨浘" active="true" />
+                            <p class="imgdescript-b">鍥�3-3-1銆�鏀灦璁捐鍙傝�冨浘</p>
+                        </div>
+                        <p class="content"><span
+                                class="bold fontGreen titleLeftmove">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�閲囩敤鍙屼晶鑱斿悎璁捐鏂规銆傞壌浜庝袱渚у皷鐗欐湭璁剧疆鍗$幆閮ㄤ欢锛屽湪姝ょ鎯呭喌涓嬶紝涔夐娇鐨勭ǔ瀹氭�у彲鑳藉瓨鍦ㄤ竴瀹氱▼搴︾殑涓嶈冻銆傚洜姝わ紝鍙湪瀵逛晶鍩虹墮澶勮璁″崱鐜紙濡傞棿闅欏崱鐜垨鑱斿悎鍗$幆锛夛紝灏嗗叾浣滀负闂存帴鍥轰綅浣撳姞浠ヨ繍鐢紝浠ユ杈炬垚璺ㄥ紦绋冲畾鐨勬晥鏋滐紝纭繚涔夐娇鍦ㄨ浣垮姛鑳借繃绋嬩腑鐨勭ǔ瀹氭�у拰鍙潬鎬с��
+                        </p>
+                        <p class="content"><span class="bold fontGreen titleLeftmove">3锛庤璁¤繛鎺ヤ綋</span></p>
+                        <p class="content">锛�1锛夊ぇ杩炴帴浣擄細璁剧疆涓轰竴绉嶈兘澶熶緷鎹己闅欎綅缃繘琛岀伒娲昏皟鏁寸殑鍙樺紓鑵澘缁撴瀯銆�</p>
+                        <p class="content">锛�2锛夊皬杩炴帴浣擄細鍦ㄧ己闅欓儴浣嶈缃綉鐘惰繛鎺ヤ綋锛屽寮鸿鍖哄煙鐨勭粨鏋勫己搴︼紱鍚屾椂鍦ㄥ墠鐗欑己闅欓儴浣嶈璁℃暟閲忎簨瀹滅殑鍥轰綅閽夈�傛敮鏋惰璁″弬鑰冨浘濡傚浘3-3-1鎵�绀恒��</p>
+
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">甯哥敤RPD鏁板瓧鏀灦鍒朵綔鏉愭枡</span></p>
-                    <p class="quotation">锛堜竴锛夐噾灞炴潗鏂�</p>
-                    <p class="quotation">
-                        1锛庨挻閾悎閲戙��寮哄害鍜岀‖搴﹁緝楂橈紝鎶楄厫铓�鎬ц兘鑹ソ锛屾祦鍔ㄦ�т匠锛岃兘绮惧噯澶嶅埗涔夐娇鏀灦鐨勫鏉傜粨鏋勶紝淇濊瘉灏哄绮惧害涓庤〃闈㈣川閲忥紱鐢熺墿鐩稿鎬ц緝濂斤紝鍙湁灏戞暟浜哄彲鑳借繃鏁忥紱鎴愭湰浣庝簬鍏朵粬璐甸噾灞烇紝涓村簥搴旂敤骞挎硾銆�</p>
-                    <p class="quotation">
-                        2锛庨挍鍙婇挍鍚堥噾銆�璐ㄨ交銆佸瘑搴︿綆銆佸己搴﹂�備腑锛屽叿澶囪壇濂界殑闊ф�с�佹姉鐤插姵鎬с�佽�愯厫铓�鎬у強鍖栧绋冲畾鎬э紝鑳藉欢闀夸箟榻垮鍛斤紝鐢熺墿鐩稿鎬т匠锛岄�傚悎閲戝睘杩囨晱鎮h�呫�傝櫧鐒堕挍鐨勫寲瀛︽椿鎬ц緝楂樺鑷村姞宸ラ毦搴﹀ぇ锛屼絾闅忕潃鏁板瓧鍖栧姞宸ユ妧鏈殑鍙戝睍锛屽3D鎵撳嵃閽涘悎閲戞妧鏈殑搴旂敤锛屽湪涓�瀹氱▼搴︿笂鍏嬫湇浜嗗姞宸ラ毦棰橈紝浣垮緱鍏跺湪鏁板瓧鏀灦鍒朵綔涓殑搴旂敤鏃ョ泭骞挎硾銆�
-                    </p>
-                    <p class="quotation">3锛嶣PD锛圔io-Perfect
-                        Dental锛夋潗鏂欍��閫氬父閫夌敤楂樼函搴﹂挍鍚堥噾鎴栭挻閾悎閲戜綔涓哄熀鏉愶紝缁忚繃绮惧瘑鍔犲伐鑰屾垚銆傞挍鍚堥噾浠ヨ交璐ㄣ�侀珮寮哄害鍜岃壇濂界殑鐢熺墿鐩稿鎬ц憲绉帮紝閽撮摤鍚堥噾鍒欎互浼樺紓鐨勬姉鑵愯殌鎬у拰绋冲畾鎬ц�岀煡鍚嶃�侭PD鏀灦鍏锋湁鍑鸿壊鐨勭墿鐞嗘�ц兘锛岃兘鏇村ソ鍦伴�傚簲鍙h厰鐜锛屽噺灏戝鍙h厰缁勭粐鐨勫埡婵�锛屾偅鑰呴厤鎴磋垝閫傦紝鎬т环姣旇緝楂樸��
-                    </p>
-                    <p class="quotation">
-                        4锛庣淮浠栫伒鏉愭枡銆�鏄敱閽淬�侀摤銆侀捈鍚堥噾鏋勬垚鐨勭敓鐗╁悎閲戙�傚叾鍏锋湁楂樼函搴﹀拰浼樿壇鐨勭墿鐞嗙壒鎬э紝鑳藉鎶楄弻鏂戙�佹姉鐫�鑹诧紝涓旀槗娓呮磥锛涚敓鐗╃浉瀹规�ц緝濂斤紝鑳介暱鏈熺ǔ瀹氫娇鐢紝瀵逛汉浣撳奖鍝嶈緝灏忥紱璐ㄨ交涓斿叿鏈夎壇濂界殑寤跺睍鎬у拰鍙皟鑺傛�э紝鍙互鎻愰珮鎮h�呴厤鎴寸殑鑸掗�傚害锛屼絾瑕佽�冭檻鎮h�呮槸鍚﹀鍏舵垚鍒嗚繃鏁忓強浠锋牸鍥犵礌绛夈��
-                    </p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">甯哥敤RPD鏁板瓧鏀灦鍒朵綔鏉愭枡</span></p>
+                        <p class="quotation">锛堜竴锛夐噾灞炴潗鏂�</p>
+                        <p class="quotation">
+                            1锛庨挻閾悎閲戙��寮哄害鍜岀‖搴﹁緝楂橈紝鎶楄厫铓�鎬ц兘鑹ソ锛屾祦鍔ㄦ�т匠锛岃兘绮惧噯澶嶅埗涔夐娇鏀灦鐨勫鏉傜粨鏋勶紝淇濊瘉灏哄绮惧害涓庤〃闈㈣川閲忥紱鐢熺墿鐩稿鎬ц緝濂斤紝鍙湁灏戞暟浜哄彲鑳借繃鏁忥紱鎴愭湰浣庝簬鍏朵粬璐甸噾灞烇紝涓村簥搴旂敤骞挎硾銆�
+                        </p>
+                        <p class="quotation">
+                            2锛庨挍鍙婇挍鍚堥噾銆�璐ㄨ交銆佸瘑搴︿綆銆佸己搴﹂�備腑锛屽叿澶囪壇濂界殑闊ф�с�佹姉鐤插姵鎬с�佽�愯厫铓�鎬у強鍖栧绋冲畾鎬э紝鑳藉欢闀夸箟榻垮鍛斤紝鐢熺墿鐩稿鎬т匠锛岄�傚悎閲戝睘杩囨晱鎮h�呫�傝櫧鐒堕挍鐨勫寲瀛︽椿鎬ц緝楂樺鑷村姞宸ラ毦搴﹀ぇ锛屼絾闅忕潃鏁板瓧鍖栧姞宸ユ妧鏈殑鍙戝睍锛屽3D鎵撳嵃閽涘悎閲戞妧鏈殑搴旂敤锛屽湪涓�瀹氱▼搴︿笂鍏嬫湇浜嗗姞宸ラ毦棰橈紝浣垮緱鍏跺湪鏁板瓧鏀灦鍒朵綔涓殑搴旂敤鏃ョ泭骞挎硾銆�
+                        </p>
+                        <p class="quotation">3锛嶣PD锛圔io-Perfect
+                            Dental锛夋潗鏂欍��閫氬父閫夌敤楂樼函搴﹂挍鍚堥噾鎴栭挻閾悎閲戜綔涓哄熀鏉愶紝缁忚繃绮惧瘑鍔犲伐鑰屾垚銆傞挍鍚堥噾浠ヨ交璐ㄣ�侀珮寮哄害鍜岃壇濂界殑鐢熺墿鐩稿鎬ц憲绉帮紝閽撮摤鍚堥噾鍒欎互浼樺紓鐨勬姉鑵愯殌鎬у拰绋冲畾鎬ц�岀煡鍚嶃�侭PD鏀灦鍏锋湁鍑鸿壊鐨勭墿鐞嗘�ц兘锛岃兘鏇村ソ鍦伴�傚簲鍙h厰鐜锛屽噺灏戝鍙h厰缁勭粐鐨勫埡婵�锛屾偅鑰呴厤鎴磋垝閫傦紝鎬т环姣旇緝楂樸��
+                        </p>
+                        <p class="quotation">
+                            4锛庣淮浠栫伒鏉愭枡銆�鏄敱閽淬�侀摤銆侀捈鍚堥噾鏋勬垚鐨勭敓鐗╁悎閲戙�傚叾鍏锋湁楂樼函搴﹀拰浼樿壇鐨勭墿鐞嗙壒鎬э紝鑳藉鎶楄弻鏂戙�佹姉鐫�鑹诧紝涓旀槗娓呮磥锛涚敓鐗╃浉瀹规�ц緝濂斤紝鑳介暱鏈熺ǔ瀹氫娇鐢紝瀵逛汉浣撳奖鍝嶈緝灏忥紱璐ㄨ交涓斿叿鏈夎壇濂界殑寤跺睍鎬у拰鍙皟鑺傛�э紝鍙互鎻愰珮鎮h�呴厤鎴寸殑鑸掗�傚害锛屼絾瑕佽�冭檻鎮h�呮槸鍚﹀鍏舵垚鍒嗚繃鏁忓強浠锋牸鍥犵礌绛夈��
+                        </p>
+                        <p class="quotation">锛堜簩锛夐珮鍒嗗瓙鏉愭枡</p>
+                        <p class="quotation">PMMA锛坧olymethyl
+                            methacrylate锛夋潗鏂欍��鍦ㄥ彛鑵斿尰鐤楅鍩熷叿鏈夊鏂归潰鐗规�с�傚叾閫忔槑搴︿匠锛屽瑙傛帴杩戝ぉ鐒剁墮榻夸笌鐗欓緢缁勭粐锛岃兘鎻愪緵鑷劧缇庡鏁堟灉锛涚‖搴﹂�備腑锛屽彲缁存寔涔夐娇褰㈢姸锛屼繚闅滃彛鑵旂粍缁囧仴搴蜂笖涓嶅奖鍝嶆甯稿拃鍤煎挰鍚堝姛鑳斤紱鏄撲簬鍔犲伐鎴愬瀷锛屾垚鏈緝浣庯紝閫傚悎涓�у寲瀹氬埗銆傚紛绔細閮ㄥ垎鎮h�呭彲鑳藉鍏跺崟浣撹繃鏁忥紱鏉愭枡琛ㄩ潰鏄撳惛闄勭粏鑿岋紝浼氬鍔犲彛鑵旀劅鏌撻闄╋紱闀挎湡浣跨敤鍙兘鍚告按鑶ㄨ儉鍙樺舰锛屽奖鍝嶄僵鎴磋垝閫傚害涓庡拃鍤煎姛鑳藉彂鎸ャ�傚洜姝ゅ湪涓村簥搴旂敤鏃讹紝鍖荤敓銆佹偅鑰呬笌鎶�甯堥渶鍏呭垎娌熼�氫氦娴侊紝灏藉姏纭繚鎮h�呰幏寰楄壇濂界殑淇浣撻獙銆�
+                        </p>
+                    </div>
 
                 </div>
+
+
                 <div class="page-bottom-left">068</div>
             </div>
         </div>
@@ -541,25 +619,37 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="quotation">锛堜簩锛夐珮鍒嗗瓙鏉愭枡</p>
-                    <p class="quotation">PMMA锛坧olymethyl
-                        methacrylate锛夋潗鏂欍��鍦ㄥ彛鑵斿尰鐤楅鍩熷叿鏈夊鏂归潰鐗规�с�傚叾閫忔槑搴︿匠锛屽瑙傛帴杩戝ぉ鐒剁墮榻夸笌鐗欓緢缁勭粐锛岃兘鎻愪緵鑷劧缇庡鏁堟灉锛涚‖搴﹂�備腑锛屽彲缁存寔涔夐娇褰㈢姸锛屼繚闅滃彛鑵旂粍缁囧仴搴蜂笖涓嶅奖鍝嶆甯稿拃鍤煎挰鍚堝姛鑳斤紱鏄撲簬鍔犲伐鎴愬瀷锛屾垚鏈緝浣庯紝閫傚悎涓�у寲瀹氬埗銆傚紛绔細閮ㄥ垎鎮h�呭彲鑳藉鍏跺崟浣撹繃鏁忥紱鏉愭枡琛ㄩ潰鏄撳惛闄勭粏鑿岋紝浼氬鍔犲彛鑵旀劅鏌撻闄╋紱闀挎湡浣跨敤鍙兘鍚告按鑶ㄨ儉鍙樺舰锛屽奖鍝嶄僵鎴磋垝閫傚害涓庡拃鍤煎姛鑳藉彂鎸ャ�傚洜姝ゅ湪涓村簥搴旂敤鏃讹紝鍖荤敓銆佹偅鑰呬笌鎶�甯堥渶鍏呭垎娌熼�氫氦娴侊紝灏藉姏纭繚鎮h�呰幏寰楄壇濂界殑淇浣撻獙銆�
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
-                    <p class="content">鑲紡鈪㈢被鏀灦璁捐浠诲姟璇勪环鏍囧噯瑙佽〃3-3-1銆�</p>
-                    <p class="imgtitle">琛�3-3-1銆�鑲紡鈪㈢被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0085-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <h2 class="secondTitle">浠诲姟鍥涖��鑲皬鈪g被鏀灦璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">
-                        鎮h�咃紝鐢凤紝57宀併�備笂棰屼袱渚у垏鐗欍�佸皷鐗欍�佺涓�鍓嶇(鐗欑己澶憋紝鍓╀綑鐨勫ぉ鐒剁墮榻跨姸鍐电ǔ瀹氾紝鏈夎交搴︾墮鍛ㄧ値锛屾棤鏄庢樉鐗欓娇鏉惧姩鐜拌薄锛屾湁绋冲畾鐨勫挰鍚堝叧绯诲拰瓒冲鐨勫墿浣欑墮榻挎敮鎸併�傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
-                    </p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
 
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="content">鑲紡鈪㈢被鏀灦璁捐浠诲姟璇勪环鏍囧噯瑙佽〃3-3-1銆�</p>
+                    <p class="imgtitle bold">琛�3-3-1銆�鑲紡鈪㈢被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic"><img src="../../assets/images/0085-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="琛�3-3-1銆�鑲紡鈪㈢被鏀灦璁捐浠诲姟璇勪环鏍囧噯" active="true" /></div>
+                    <h2 class="secondTitle">浠诲姟鍥涖��鑲皬鈪g被鏀灦璁捐</h2>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">
+                                鎮h�咃紝鐢凤紝57宀併�備笂棰屼袱渚у垏鐗欍�佸皷鐗欍�佺涓�鍓嶇(鐗欑己澶憋紝鍓╀綑鐨勫ぉ鐒剁墮榻跨姸鍐电ǔ瀹氾紝鏈夎交搴︾墮鍛ㄧ値锛屾棤鏄庢樉鐗欓娇鏉惧姩鐜拌薄锛屾湁绋冲畾鐨勫挰鍚堝叧绯诲拰瓒冲鐨勫墿浣欑墮榻挎敮鎸併�傛牴鎹偅鑰呭彛鑵旂粍缁囨儏鍐碉紝杩涜绉戝鍚堢悊鐨勬椿鍔ㄦ敮鏋惰璁°��
+                            </p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庤偗姘忊叄绫荤殑涓嶅悓鏁扮洰鐗欓娇缂哄け鏈変粈涔堢壒鐐癸紵涓庡墠涓夌被涔嬮棿鏈夋�庢牱鐨勮仈绯伙紵搴旀帉鎻″摢浜涜璁¤鐐瑰拰鏂规硶锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.seven" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.eight" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
                 </div>
+
+
+
                 <div class="page-bottom-right">069</div>
             </div>
         </div>
@@ -573,28 +663,27 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="content">1锛庤偗姘忊叄绫荤殑涓嶅悓鏁扮洰鐗欓娇缂哄け鏈変粈涔堢壒鐐癸紵涓庡墠涓夌被涔嬮棿鏈夋�庢牱鐨勮仈绯伙紵搴旀帉鎻″摢浜涜璁¤鐐瑰拰鏂规硶锛�</p>
-                    <p class="content">2锛庢湰鐥呬緥鐨凴PD鏀灦搴斿綋杩涜浠�涔堣璁★紵璁捐鍝簺鍏蜂綋鐨勯儴浠讹紵閮ㄤ欢搴斿綋鏀惧湪浣曚綅缃紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鑲皬鈪g被鐗欏垪缂烘崯琛ㄧ幇涓哄墠閮ㄧ墮杩炵画鎬х己澶变笖璺ㄨ繃涓嚎锛屽ぉ鐒剁墮浣嶄簬缂洪殭杩滀腑銆傞壌浜庡叾缂虹墮鏁伴噺涓庝綅缃瓨鍦ㄥ樊寮傦紝鐩稿簲鐨勬敮鎸佹柟寮忎篃鍚勪笉鐩稿悓锛屾墍浠ュ湪杩涜鏀灦璁捐鏃讹紝蹇呴』渚濇嵁鍏蜂綋鎯呭舰鏉ヨ�冮噺銆傞渶娉ㄦ剰锛屽洜姝ょ被鐗欏垪缂烘崯浼存湁鍓嶇墮缂哄け锛屾晠鍦ㄦ敮鏋惰璁℃祦绋嬩腑锛屼笉浠呰纭繚瀹炵幇鍥轰綅涓庣ǔ瀹氱殑鍔熻兘瑕佹眰锛岃繕闇�鍏呭垎鍏奸【缇庤鎬ф柟闈㈢殑鑰冮噺銆�
                     </p>
                     <h3 class="thirdTitle">涓�銆侀儴鍒嗗墠鐗欑己澶�</h3>
                     <p class="content">姝ゆ椂缂虹墮灏戯紝鍙綔鐗欐敮鎸佸紡涔夐娇璁捐銆傞櫎鍗村埗浣滈摳閫犳敮鏋跺紡RPD澶栵紝涔熷彲鍒朵綔寮埗鏀灦寮廟PD鍜屽脊鎬т箟榻匡紙姝ゅ涓嶄綔浠嬬粛锛夛紝鏀灦璁捐瑕佺偣濡備笅銆�</p>
-                    <p class="content"><span class="bold">1锛庣洿鎺ュ浐浣嶄綋璁捐</span>銆�鍙璁′负鍗曡噦闂撮殭鍗$幆鎴栬�呰仈鍚堝崱鐜紝鏀剧疆鍦ㄥ墠纾ㄧ墮鎴栫(鐗欎笂銆�</p>
+                    <p class="content"><span class="bold fontGreen">1锛庣洿鎺ュ浐浣嶄綋璁捐</span>銆�鍙璁′负鍗曡噦闂撮殭鍗$幆鎴栬�呰仈鍚堝崱鐜紝鏀剧疆鍦ㄥ墠纾ㄧ墮鎴栫(鐗欎笂銆�</p>
                     <p class="content"><span
-                            class="bold">2锛庨棿鎺ュ浐浣嶄綋璁捐</span>銆�鍙湪鍓嶇墮缂洪殭閮ㄤ綅璁捐杩戜腑閭婚潰鏉挎垨鑸岄殕绐佹敮鎵橈紝蹇呰鏃跺彲灏嗕袱鑰呬竴璧锋斁缃湪鍩虹墮涓婏紝澧炲己鍥轰綅绋冲畾鎬с��</p>
-                    <p class="content"><span class="bold">3锛庤繛鎺ヤ綋璁捐</span>銆�閫夌敤涓婁笅棰岄�傜敤鐨勮繛鎺ヤ綋鍗冲彲銆�</p>
+                            class="bold fontGreen">2锛庨棿鎺ュ浐浣嶄綋璁捐</span>銆�鍙湪鍓嶇墮缂洪殭閮ㄤ綅璁捐杩戜腑閭婚潰鏉挎垨鑸岄殕绐佹敮鎵橈紝蹇呰鏃跺彲灏嗕袱鑰呬竴璧锋斁缃湪鍩虹墮涓婏紝澧炲己鍥轰綅绋冲畾鎬с��</p>
+                    <p class="content"><span class="bold fontGreen">3锛庤繛鎺ヤ綋璁捐</span>銆�閫夌敤涓婁笅棰岄�傜敤鐨勮繛鎺ヤ綋鍗冲彲銆�</p>
                     <h3 class="thirdTitle">浜屻�佸叏閮ㄥ墠鐗欑己澶�</h3>
                     <p class="content">鍦ㄥ鐞嗗叏閮ㄥ墠鐗欑己澶辩殑淇鏂规鏃讹紝鍏抽敭鍦ㄤ簬閲囩敤閫傚綋鐨勮璁″師鍒欐潵搴斿鍓嶇墮鈥滆繎涓父绂荤己澶扁�濈殑鐗规畩鎯呭喌锛屾鏃跺彲鍙傜収鑲皬鈪犵被銆佲叀绫绘父绂荤涔夐娇鐨勮璁″師鍒欍�傛敮鏋惰璁¤鐐瑰涓嬨��
                     </p>
                     <p class="content"><span
-                            class="bold">1锛庣洿鎺ュ浐浣嶄綋璁捐</span>銆�鍓嶇(鐗欏彲浼樺厛璁剧疆涓烘父绂荤己澶变箟榻垮父鐢ㄧ殑缁勫悎寮忓崱鐜紝姝ゆ椂鏀墭搴旇缃湪杩滀腑淇濇姢鍩虹墮锛屼篃鍙牴鎹偅鑰呭彛鑵旂粍缁囧叿浣撴儏鍐甸�夋嫨閫傚疁鐨勫崱鐜绫汇��
+                            class="bold fontGreen">1锛庣洿鎺ュ浐浣嶄綋璁捐</span>銆�鍓嶇(鐗欏彲浼樺厛璁剧疆涓烘父绂荤己澶变箟榻垮父鐢ㄧ殑缁勫悎寮忓崱鐜紝姝ゆ椂鏀墭搴旇缃湪杩滀腑淇濇姢鍩虹墮锛屼篃鍙牴鎹偅鑰呭彛鑵旂粍缁囧叿浣撴儏鍐甸�夋嫨閫傚疁鐨勫崱鐜绫汇��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庨棿鎺ュ浐浣嶄綋璁捐</span>銆�鑰冮噺涔夐娇鐨勫浐浣嶇ǔ瀹氭�ф儏鍐碉紝鍙缃父鐢ㄩ棿鎺ュ浐浣嶄綋绫诲瀷锛屼害鍙湪鏈�杩滅鐗欒缃崱鐜綔闂存帴鍥轰綅浣撲娇鐢ㄣ�傞渶娉ㄦ剰缂哄け鐗欎负鍓嶉儴鐗欙紝鏁呭崱鐜殑鏀墭閮ㄤ欢闇�璁剧疆鍦ㄥ熀鐗欒繙涓��
+                            class="bold fontGreen">2锛庨棿鎺ュ浐浣嶄綋璁捐</span>銆�鑰冮噺涔夐娇鐨勫浐浣嶇ǔ瀹氭�ф儏鍐碉紝鍙缃父鐢ㄩ棿鎺ュ浐浣嶄綋绫诲瀷锛屼害鍙湪鏈�杩滅鐗欒缃崱鐜綔闂存帴鍥轰綅浣撲娇鐢ㄣ�傞渶娉ㄦ剰缂哄け鐗欎负鍓嶉儴鐗欙紝鏁呭崱鐜殑鏀墭閮ㄤ欢闇�璁剧疆鍦ㄥ熀鐗欒繙涓��
                     </p>
-                    <p class="content"><span class="bold">3锛庤繛鎺ヤ綋璁捐</span>銆�閫夌敤涓婁笅棰岄�傜敤鐨勮繛鎺ヤ綋绫诲瀷锛岄�傚綋鍒嗘暎搴斿姏銆�</p>
+                    <p class="content"><span class="bold fontGreen">3锛庤繛鎺ヤ綋璁捐</span>銆�閫夌敤涓婁笅棰岄�傜敤鐨勮繛鎺ヤ綋绫诲瀷锛岄�傚綋鍒嗘暎搴斿姏銆�</p>
                     <h3 class="thirdTitle">涓夈�佸叏閮ㄥ墠鐗欑己澶憋紝浼存湁鍚庣墮缂哄け</h3>
                     <p class="content">
                         褰撳叏閮ㄥ墠鐗欑己澶变笖浼存湁鍚庣墮缂哄け鏃讹紝鐗欏紦鍓嶇缂哄け鐨勭墮榻挎暟閲忚秺澶氾紝鈥滆繎涓父绂荤己澶扁�濈幇璞″氨瓒婃槑鏄俱�傛鏃讹紝涔夐娇鐨勬敮鎸佹柟寮忓彲璁捐涓烘贩鍚堟敮鎸佹柟寮忥紝鏀灦璁捐鍙弬鑰冭偗姘忊厾绫汇�佲叀绫绘父绂荤己澶变箟榻跨殑鐗圭偣鍙婅璁¤鐐癸紝璁捐鏃堕渶灏介噺淇濇姢鎮h�呭彛鑵斿墿浣欒蒋纭粍缁囩殑鍋ュ悍銆�
@@ -612,32 +701,38 @@
                     <span class="header-title">椤圭洰涓夈��娲诲姩涔夐娇淇璁捐宸ヨ壓</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
+
+
+
                 <div class="bodystyle">
                     <h3 class="thirdTitle">鍥涖�佷换鍔℃渚嬬殑鏀灦璁捐</h3>
                     <p class="content">鏍规嵁鏈换鍔℃渚嬶紝姝ゆ椂鍏ㄩ儴鍓嶇墮缂哄け锛屾槸鏄庢樉鐨勨�滆繎涓父绂荤己澶扁�濈幇璞★紝杩涜娣峰悎鏀寔寮忚璁★紝璁捐瑕佺偣涓庘厾绫汇�佲叀绫绘父绂荤己澶变竴鑷淬�備笅闈㈣繘琛屽叿浣撹璁°��</p>
-                    <p class="content"><span class="bold">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庤璁$洿鎺ュ浐浣嶄綋</span></p>
                     <p class="content">锛�1锛夐�夋嫨鍩虹墮锛氭牴鎹己鐗欐儏鍐甸�夋嫨涓婇涓や晶绗簩鍓嶇(鐗欎綔涓虹洿鎺ュ浐浣嶄綋鍩虹墮銆�</p>
-                    <p class="content">锛�2锛夌洿鎺ュ浐浣嶄綋绫诲瀷锛氳璁℃父绂荤涔夐娇甯哥敤鐨勭粍鍚堝紡鍗$幆銆傝�冭檻鍒板墠鐗欑編瑙傛�э紝閫夋嫨RPI鍗$幆缁勶紱鈥滆繎涓父绂荤己澶扁�濇椂锛�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭鏀剧疆鍦ㄥ熀鐗欒繙涓紝鍑忓皬鍩虹墮鎵�鍙楁壄鍔涖��</p>
-                    <p class="content"><span class="bold">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�鍦ㄦ渶杩滅鐗欒璁″崱鐜綔闂存帴鍥轰綅浣擄紝鍔犲ぇ骞宠 鐭╋紝<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭闇�鏀惧湪鍩虹墮杩滀腑銆�</p>
-                    <p class="content"><span class="bold">3锛庤璁¤繛鎺ヤ綋</span></p>
-                    <p class="content">锛�1锛夊ぇ杩炴帴浣擄細鏍规嵁涓婅堪鍥轰綅璁剧疆锛岄渶璁捐涓虹浉杩炲墠銆佸悗銆佷晶鑵潌锛屽皢鏀灦鍚勯儴浠惰繛鎺ュ湪涓�璧凤紝骞跺垎鏁e挰鍚堝姏銆�</p>
-                    <p class="content">锛�2锛夊皬杩炴帴浣擄細缂洪殭閮ㄤ綅鐨勭綉鐘惰繛鎺ヤ綋锛屾敮鎵樼殑灏忚繛鎺ヤ綋銆傛敮鏋惰璁″弬鑰冨浘濡傚浘3-4-1鎵�绀恒��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0087-03.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-1銆�鏀灦璁捐鍙傝�冨浘</p>
+                    <p class="content">锛�2锛夌洿鎺ュ浐浣嶄綋绫诲瀷锛氳璁℃父绂荤涔夐娇甯哥敤鐨勭粍鍚堝紡鍗$幆銆傝�冭檻鍒板墠鐗欑編瑙傛�э紝閫夋嫨RPI鍗$幆缁勶紱鈥滆繎涓父绂荤己澶扁�濇椂锛岎瑢楁敮鎵樻斁缃湪鍩虹墮杩滀腑锛屽噺灏忓熀鐗欐墍鍙楁壄鍔涖��</p>
+                    <p class="content"><span
+                            class="bold fontGreen titleLeftmove">2锛庤璁¢棿鎺ュ浐浣嶄綋</span>銆�鍦ㄦ渶杩滅鐗欒璁″崱鐜綔闂存帴鍥轰綅浣擄紝鍔犲ぇ骞宠 鐭╋紝瓞寳鏀墭闇�鏀惧湪鍩虹墮杩滀腑銆�</p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">3锛庤璁¤繛鎺ヤ綋</span></p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic openImgBox">
+                            <img class="openImgBox" src="../../assets/images/0087-03.jpg" style="width:250px"
+                                alt="鍥�3-4-1銆�鏀灦璁捐鍙傝�冨浘" active="true" />
+                            <p class="imgdescript-b">鍥�3-4-1銆�鏀灦璁捐鍙傝�冨浘</p>
+                        </div>
+                        <p class="content">锛�1锛夊ぇ杩炴帴浣擄細鏍规嵁涓婅堪鍥轰綅璁剧疆锛岄渶璁捐涓虹浉杩炲墠銆佸悗銆佷晶鑵潌锛屽皢鏀灦鍚勯儴浠惰繛鎺ュ湪涓�璧凤紝骞跺垎鏁e挰鍚堝姏銆�</p>
+                        <p class="content">锛�2锛夊皬杩炴帴浣擄細缂洪殭閮ㄤ綅鐨勭綉鐘惰繛鎺ヤ綋锛屾敮鎵樼殑灏忚繛鎺ヤ綋銆傛敮鏋惰璁″弬鑰冨浘濡傚浘3-4-1鎵�绀恒��</p>
+                        <p class="content">
+                            娉細鍚勫垎绫荤墮榻夸复搴婄己澶辨儏鍐靛鏉傦紝瀹屾暣绮剧‘褰掔撼鐩稿鍥伴毦锛屾晠涓婅堪涔夐娇鐗圭偣銆佽璁¤鐐瑰強缁嗗垯鍦ㄥ垎绫绘敮鏋惰璁′腑鍙綔鍙傝�冦�備换鍔℃渚嬬殑鏀灦璁捐鍙叿澶囧弬鑰冩�э紝鍚岀缂哄け鐗欓娇鏀灦璁捐鏂瑰紡骞朵笉鍞竴銆�</p>
+                        <p class="content">涓嬮潰浠xocad杞欢涓轰緥锛屾牴鎹互涓婅偗姘忓悇绫荤殑涔夐娇鐗圭偣鍙婃敮鏋惰璁¤鐐硅繘琛屾暟瀛楀寲娲诲姩鏀灦璁捐銆�</p>
                     </div>
-                    <p class="content">
-                        娉細鍚勫垎绫荤墮榻夸复搴婄己澶辨儏鍐靛鏉傦紝瀹屾暣绮剧‘褰掔撼鐩稿鍥伴毦锛屾晠涓婅堪涔夐娇鐗圭偣銆佽璁¤鐐瑰強缁嗗垯鍦ㄥ垎绫绘敮鏋惰璁′腑鍙綔鍙傝�冦�備换鍔℃渚嬬殑鏀灦璁捐鍙叿澶囧弬鑰冩�э紝鍚岀缂哄け鐗欓娇鏀灦璁捐鏂瑰紡骞朵笉鍞竴銆�</p>
-                    <p class="content">涓嬮潰浠xocad杞欢涓轰緥锛屾牴鎹互涓婅偗姘忓悇绫荤殑涔夐娇鐗圭偣鍙婃敮鏋惰璁¤鐐硅繘琛屾暟瀛楀寲娲诲姩鏀灦璁捐銆�</p>
-                    <p class="poemtitle-l">锛堜竴锛夊缓绔嬭鍗�</p>
+                    <p class="poemtitle-l kTitle">锛堜竴锛夊缓绔嬭鍗�</p>
                     <p class="content">
                         鎵撳紑Exocad杞欢锛岃緭鍏ユ偅鑰呭熀鏈俊鎭紝閫夋嫨鐗欓娇锛岃璁″唴瀹逛负鈥滄椿鍔ㄦ敮鏋垛�濓紝鏉愭枡閫夋嫨鈥�3D鎵撳嵃鈥濓紝杩涜淇℃伅淇濆瓨锛屽畬鎴愯鍗曞缓绔嬨�傞�夋嫨鍙充晶鎿嶄綔鑿滃崟涓殑鈥滆璁℃椿鍔ㄦ敮鏋垛�濊繘鍏ヨ璁¢〉闈紙鍥�3-4-2锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0087-04.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-2銆�寤虹珛璁㈠崟鐣岄潰</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0087-04.jpg" style="width:70%" alt="鍥�3-4-2銆�寤虹珛璁㈠崟鐣岄潰"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-2銆�寤虹珛璁㈠崟鐣岄潰</p>
                     </div>
 
                 </div>
@@ -654,24 +749,24 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="poemtitle-l">锛堜簩锛夊鍏ユ暟鎹�</p>
+                    <p class="poemtitle-l kTitle">锛堜簩锛夊鍏ユ暟鎹�</p>
                     <p class="content">
                         瀵煎叆鎮h�呯殑鎵弿鏁版嵁锛堝浘3-4-3锛夛紝涓篠TL鏍煎紡銆傛鏌ユ暟鎹湁鏃犻敊灞傘�侀噸褰辩幇璞★紝鍜悎鍏崇郴鏄惁鍑嗙‘锛屽熀鐗欏強鍞囬銆佽垖鑵晶鏄惁鎵弿瀹屾暣涓旀棤鍙樺舰銆傛鏌ヨ繃绋嬩腑鍙娇鐢ㄥ揩鎹烽敭锛屽Ctrl+D鏄剧ず鍜悎绌洪棿銆丆trl+R鏄剧ず绌洪棿灏虹瓑銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0088-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0088-01.jpg" style="width:75%" alt="" active="true" />
                         <p class="imgdescript">鍥�3-4-3銆�瀵煎叆鏁版嵁</p>
                     </div>
-                    <p class="poemtitle-l">锛堜笁锛夋ā鍨嬭娴�</p>
+                    <p class="poemtitle-l kTitle">锛堜笁锛夋ā鍨嬭娴�</p>
                     <p class="content"><span
-                            class="bold">1锛庣‘瀹氬氨浣嶉亾</span>銆�閫氳繃鏁板瓧妯″瀷鍒嗘瀽鎮h�呭彛鑵旂粍缁囨儏鍐点�備竴鑸粠鍜悎闈㈡柟鍚戞煡鐪嬫ā鍨嬪畾浣嶃�佹ā鍨嬫柟鍚戯紝闇�瑕佹煡鐪嬪�掑嚬棰滆壊鎵�琛ㄧず鐨勫�掑嚬娣卞害鐐瑰嚮鈥滆缃�濋�夐」锛岀Щ鍔ㄦā鍨嬫潵璋冩暣鍊掑嚬澶у皬銆傚悜鍓嶆棆杞ā鍨嬪鍔犺繎涓晶鍊掑嚬娣卞害锛屽悜鍚庡�惧�掓ā鍨嬪鍔犺繙涓晶鍊掑嚬娣卞害銆傜浜岀偣鍑烩�滆鍥炬柟鍚戣缃�濇潵璁剧疆灏变綅鏂瑰悜骞舵煡鐪嬪�掑嚬鐨勬洿鏀癸紝鍙娇鐢ㄥ揩鎹烽敭F6锝濬9鏇存敼杈呭姪瑙嗗浘绐楀彛涓笉鍚岃鍥炬柟鍚戯紝纭畾妯″瀷鐨勫�掑嚬鍒嗗竷鎯呭喌锛屾渶缁堢‘瀹氫箟榻跨殑鏈�浼樺氨浣嶉亾鏂瑰悜锛堝浘3-4-4锛夈��
+                            class="bold fontGreen titleLeftmove">1锛庣‘瀹氬氨浣嶉亾</span>銆�閫氳繃鏁板瓧妯″瀷鍒嗘瀽鎮h�呭彛鑵旂粍缁囨儏鍐点�備竴鑸粠鍜悎闈㈡柟鍚戞煡鐪嬫ā鍨嬪畾浣嶃�佹ā鍨嬫柟鍚戯紝闇�瑕佹煡鐪嬪�掑嚬棰滆壊鎵�琛ㄧず鐨勫�掑嚬娣卞害鐐瑰嚮鈥滆缃�濋�夐」锛岀Щ鍔ㄦā鍨嬫潵璋冩暣鍊掑嚬澶у皬銆傚悜鍓嶆棆杞ā鍨嬪鍔犺繎涓晶鍊掑嚬娣卞害锛屽悜鍚庡�惧�掓ā鍨嬪鍔犺繙涓晶鍊掑嚬娣卞害銆傜浜岀偣鍑烩�滆鍥炬柟鍚戣缃�濇潵璁剧疆灏变綅鏂瑰悜骞舵煡鐪嬪�掑嚬鐨勬洿鏀癸紝鍙娇鐢ㄥ揩鎹烽敭F6锝濬9鏇存敼杈呭姪瑙嗗浘绐楀彛涓笉鍚岃鍥炬柟鍚戯紝纭畾妯″瀷鐨勫�掑嚬鍒嗗竷鎯呭喌锛屾渶缁堢‘瀹氫箟榻跨殑鏈�浼樺氨浣嶉亾鏂瑰悜锛堝浘3-4-4锛夈��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庡~琛ュ�掑嚬</span>銆�璋冩暣鍚堥�傜殑鍊掑嚬濉厖瑙掑害锛岃搴﹁秺澶э紝涔夐娇鍦ㄥ�掑嚬鍖虹寮�澶╃劧鐗欐垨榛忚啘灏辫秺澶氾紝涔夐娇灏辫秺瀹规槗灏变綅銆傚�掑嚬濉櫎瑙掑害鍙互閫氳繃鐐瑰嚮绠ご鎴栬緭鍏ユ暟鍊兼潵鏇存敼锛岃搴﹀彲璁剧疆涓�3潞锝�5潞锛屽彲鏍规嵁妯″瀷杩涜閫傚綋璋冩暣銆傜劧鍚庣偣鍑烩�滀笅涓�姝モ�濓紝杞欢灏嗚嚜鍔ㄥ~闄ゅ�掑嚬銆�
+                            class="bold fontGreen titleLeftmove">2锛庡~琛ュ�掑嚬</span>銆�璋冩暣鍚堥�傜殑鍊掑嚬濉厖瑙掑害锛岃搴﹁秺澶э紝涔夐娇鍦ㄥ�掑嚬鍖虹寮�澶╃劧鐗欐垨榛忚啘灏辫秺澶氾紝涔夐娇灏辫秺瀹规槗灏变綅銆傚�掑嚬濉櫎瑙掑害鍙互閫氳繃鐐瑰嚮绠ご鎴栬緭鍏ユ暟鍊兼潵鏇存敼锛岃搴﹀彲璁剧疆涓�3潞锝�5潞锛屽彲鏍规嵁妯″瀷杩涜閫傚綋璋冩暣銆傜劧鍚庣偣鍑烩�滀笅涓�姝モ�濓紝杞欢灏嗚嚜鍔ㄥ~闄ゅ�掑嚬銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0088-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-4銆�纭畾灏变綅閬�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0088-02.jpg" style="width:75%" alt="鍥�3-4-4銆�纭畾灏变綅閬�" active="true" />
+                        <p class="imgdescript-b">鍥�3-4-4銆�纭畾灏变綅閬�</p>
                     </div>
 
                 </div>
@@ -688,26 +783,31 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">3锛庣‘瀹氬崱鐜斁缃儴浣嶏紝鍘婚櫎澶氫綑鍊掑嚬铚�</span>銆�浣跨敤铚″瀷闆曞埢宸ュ叿杩涜鍒湣澶勭悊锛岄�氳繃鐐瑰嚮骞舵寜浣忛紶鏍囧乏閿Щ闄ゅ�掑嚬濉櫎铚°�傛寜浣廠hift閿苟婊氬姩榧犳爣婊戣疆鍙皟鏁村伐鍏峰ぇ灏忥紝鎸変綇Ctrl閿苟婊氬姩榧犳爣婊戣疆鍙皟鏁磋湣鍨嬬‖搴︺�傛澶栵紝杩樺彲浠ヤ娇鐢ㄥ悜瀵间腑鐨勭浉搴旀粦鍔ㄦ潯鏉ユ洿鏀圭Щ闄よ湣鍨嬪奖鍝嶅尯鍩熷拰铚¤川纭害锛涜嫢闇�鎾ら攢涓婁竴涓搷浣滐紝鍙娇鐢ㄥ揩鎹烽敭Ctrl+Z銆�
+                            class="bold fontGreen">3锛庣‘瀹氬崱鐜斁缃儴浣嶏紝鍘婚櫎澶氫綑鍊掑嚬铚�</span>銆�浣跨敤铚″瀷闆曞埢宸ュ叿杩涜鍒湣澶勭悊锛岄�氳繃鐐瑰嚮骞舵寜浣忛紶鏍囧乏閿Щ闄ゅ�掑嚬濉櫎铚°�傛寜浣廠hift閿苟婊氬姩榧犳爣婊戣疆鍙皟鏁村伐鍏峰ぇ灏忥紝鎸変綇Ctrl閿苟婊氬姩榧犳爣婊戣疆鍙皟鏁磋湣鍨嬬‖搴︺�傛澶栵紝杩樺彲浠ヤ娇鐢ㄥ悜瀵间腑鐨勭浉搴旀粦鍔ㄦ潯鏉ユ洿鏀圭Щ闄よ湣鍨嬪奖鍝嶅尯鍩熷拰铚¤川纭害锛涜嫢闇�鎾ら攢涓婁竴涓搷浣滐紝鍙娇鐢ㄥ揩鎹烽敭Ctrl+Z銆�
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庣紦鍐插尯澶勭悊</span>銆�濡傛湁闇�瑕佸彲浠ュ湪鑵晶鎴栧皷閿愬尯鍩燂紝濡備笂棰岀粨鑺傘�侀灏栫瓑鍖哄煙杩涜缂撳啿澶勭悊銆傜紦鍐插鐞嗚搴旂敤棰濆濉櫎铚★紝鍦ㄥ悜瀵艰彍鍗曚腑閫夋嫨鈥滃钩婊戔�濓紝鍐嶉�夋嫨鈥滃钩婊戞坊鍔犫�濋�夐」锛屾ā鍨嬬己鎹熸垨姘旀场涔熷彲鍦ㄦ姝ラ澶勭悊锛堝浘3-4-5銆佸浘3-4-6锛夈��
+                            class="bold fontGreen">4锛庣紦鍐插尯澶勭悊</span>銆�濡傛湁闇�瑕佸彲浠ュ湪鑵晶鎴栧皷閿愬尯鍩燂紝濡備笂棰岀粨鑺傘�侀灏栫瓑鍖哄煙杩涜缂撳啿澶勭悊銆傜紦鍐插鐞嗚搴旂敤棰濆濉櫎铚★紝鍦ㄥ悜瀵艰彍鍗曚腑閫夋嫨鈥滃钩婊戔�濓紝鍐嶉�夋嫨鈥滃钩婊戞坊鍔犫�濋�夐」锛屾ā鍨嬬己鎹熸垨姘旀场涔熷彲鍦ㄦ姝ラ澶勭悊锛堝浘3-4-5銆佸浘3-4-6锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0089-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-5銆�濉ˉ鍊掑嚬</p>
+                    <div class="imgFloat">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0089-01.jpg" style="width:90%" alt="鍥�3-4-5銆�濉ˉ鍊掑嚬"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-4-5銆�濉ˉ鍊掑嚬</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0089-02.jpg" style="width:90%" alt="鍥�3-4-6銆�鍘婚櫎澶氫綑鍊掑嚬铚�"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-4-6銆�鍘婚櫎澶氫綑鍊掑嚬铚�</p>
+                        </div>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0089-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-6銆�鍘婚櫎澶氫綑鍊掑嚬铚�</p>
-                    </div>
-                    <p class="poemtitle-l">锛堝洓锛夌粯鍒跺ぇ杩炴帴浣撳拰铚$綉</p>
+                    <p class="poemtitle-l kTitle">锛堝洓锛夌粯鍒跺ぇ杩炴帴浣撳拰铚$綉</p>
                     <p class="content"><span
-                            class="bold">1锛庣粯鍒惰湣缃�</span>銆�浣跨敤鏇茬嚎宸ュ叿缁樺埗澶ц繛鎺ヤ綋鍜岃湣缃戞墍鏀剧疆鐨勪綅缃�傞�夊彇鎵�闇�褰㈠紡鐨勫浐浣嶇綉锛岀偣鍑烩�滅粯鍒舵柊鏇茬嚎鈥濓紙鍥�3-4-7锛夛紝鍦ㄧ己闅欏尯鐗欐Ы宓村閫愮偣缁樺埗澶ц繛鎺ヤ綋鍜岃湣缃戯紝鎴栫敤蹇�熺紪杈戣繛缁粯鍒舵洸绾匡紝瀹屾垚缁樺埗鏃跺弻鍑诲舰鎴愰棴鍚堟洸绾匡紝铚$綉鍜屽ぇ杩炴帴浣撻渶閲嶅彔鐩歌繛銆傞渶娉ㄦ剰锛岀粯鍒舵椂铚$綉鐨勫攪棰婁晶涓嶅彲杩囧害寤朵几瀵艰嚧褰卞搷鐗欓娇鎺掑垪锛岃垖渚у彲杩涜閫傚綋寤朵几锛屼絾鑼冨洿涓嶅彲杩囧ぇ銆傜粯鍒跺畬鎴愭椂鍙繘琛岃湣缃戦瑙堬紙鍥�3-4-8锛夛紝濡傞渶鏇存敼铚$綉鐨勬柟鍚戯紝鍙崟鍑诲苟鏃嬭浆绠ご涓棿鐨勬帶鍒剁偣锛涚Щ鍔ㄨ湣缃戝彲鐐瑰嚮绠ご浜ゅ弶涓績锛屾寜榧犳爣宸﹂敭鎷栧姩缃戞牸杩涜绉诲姩銆�
+                            class="bold fontGreen">1锛庣粯鍒惰湣缃�</span>銆�浣跨敤鏇茬嚎宸ュ叿缁樺埗澶ц繛鎺ヤ綋鍜岃湣缃戞墍鏀剧疆鐨勪綅缃�傞�夊彇鎵�闇�褰㈠紡鐨勫浐浣嶇綉锛岀偣鍑烩�滅粯鍒舵柊鏇茬嚎鈥濓紙鍥�3-4-7锛夛紝鍦ㄧ己闅欏尯鐗欐Ы宓村閫愮偣缁樺埗澶ц繛鎺ヤ綋鍜岃湣缃戯紝鎴栫敤蹇�熺紪杈戣繛缁粯鍒舵洸绾匡紝瀹屾垚缁樺埗鏃跺弻鍑诲舰鎴愰棴鍚堟洸绾匡紝铚$綉鍜屽ぇ杩炴帴浣撻渶閲嶅彔鐩歌繛銆傞渶娉ㄦ剰锛岀粯鍒舵椂铚$綉鐨勫攪棰婁晶涓嶅彲杩囧害寤朵几瀵艰嚧褰卞搷鐗欓娇鎺掑垪锛岃垖渚у彲杩涜閫傚綋寤朵几锛屼絾鑼冨洿涓嶅彲杩囧ぇ銆傜粯鍒跺畬鎴愭椂鍙繘琛岃湣缃戦瑙堬紙鍥�3-4-8锛夛紝濡傞渶鏇存敼铚$綉鐨勬柟鍚戯紝鍙崟鍑诲苟鏃嬭浆绠ご涓棿鐨勬帶鍒剁偣锛涚Щ鍔ㄨ湣缃戝彲鐐瑰嚮绠ご浜ゅ弶涓績锛屾寜榧犳爣宸﹂敭鎷栧姩缃戞牸杩涜绉诲姩銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0089-03.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-7銆�缁樺埗铚$綉鏇茬嚎</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0089-03.jpg" style="width:60%" alt="鍥�3-4-7銆�缁樺埗铚$綉鏇茬嚎"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-7銆�缁樺埗铚$綉鏇茬嚎</p>
                     </div>
 
                 </div>
@@ -724,24 +824,30 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0090-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-8銆�鏇存敼铚$綉鏂瑰悜</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0090-01.jpg" style="width:70%" alt="鍥�3-4-8銆�鏇存敼铚$綉鏂瑰悜"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-8銆�鏇存敼铚$綉鏂瑰悜</p>
                     </div>
                     <p class="content"><span
-                            class="bold">2锛庣粯鍒跺ぇ杩炴帴浣�</span>銆�鎸夌収鍓嶈堪澶ц繛鎺ヤ綋璁捐杩涜鏁板瓧澶ц繛鎺ヤ綋鐨勭粯鍒躲�傚ぇ杩炴帴浣撲笌铚$綉鐩歌鎺ラ儴鍒嗛渶瑕侀噸鍙犺繛鎺ワ紝缁嗗井璋冩暣鍚庡彲鐢熸垚铚$綉鍜屽ぇ杩炴帴浣撱�傚浜庝笂棰岃璁★紝澶ц繛鎺ヤ綋鏇茬嚎瑕佺‘淇濅负灏侀棴鏇茬嚎锛岄渶绌哄績璁捐鏃跺湪澶ц繛鎺ヤ綋鏇茬嚎鍐呯粯鍒跺彟涓�鏉¢棴鍚堟洸绾垮嵆鍙紙鍥�3-4-9锝炲浘3-4-11锛夈��
+                            class="bold fontGreen">2锛庣粯鍒跺ぇ杩炴帴浣�</span>銆�鎸夌収鍓嶈堪澶ц繛鎺ヤ綋璁捐杩涜鏁板瓧澶ц繛鎺ヤ綋鐨勭粯鍒躲�傚ぇ杩炴帴浣撲笌铚$綉鐩歌鎺ラ儴鍒嗛渶瑕侀噸鍙犺繛鎺ワ紝缁嗗井璋冩暣鍚庡彲鐢熸垚铚$綉鍜屽ぇ杩炴帴浣撱�傚浜庝笂棰岃璁★紝澶ц繛鎺ヤ綋鏇茬嚎瑕佺‘淇濅负灏侀棴鏇茬嚎锛岄渶绌哄績璁捐鏃跺湪澶ц繛鎺ヤ綋鏇茬嚎鍐呯粯鍒跺彟涓�鏉¢棴鍚堟洸绾垮嵆鍙紙鍥�3-4-9锝炲浘3-4-11锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0090-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-9銆�缁樺埗澶ц繛鎺ヤ綋鏇茬嚎</p>
+                    <div class="imgFloat">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0090-02.jpg" style="width:90%" alt="鍥�3-4-9銆�缁樺埗澶ц繛鎺ヤ綋鏇茬嚎"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-4-9銆�缁樺埗澶ц繛鎺ヤ綋鏇茬嚎</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0090-03.jpg" style="width:90%" alt="鍥�3-4-10銆�缁樺埗澶ц繛鎺ヤ綋绌哄績璁捐鏇茬嚎"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-4-10銆�缁樺埗澶ц繛鎺ヤ綋绌哄績璁捐鏇茬嚎</p>
+                        </div>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0090-03.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�3-4-10銆�缁樺埗澶ц繛鎺ヤ綋绌哄績璁捐鏇茬嚎</p>
-                    </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0090-04.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�3-4-11銆�搴旂敤铚$綉銆佸ぇ杩炴帴浣�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0090-04.jpg" style="width:75%" alt="鍥�3-4-11銆�搴旂敤铚$綉銆佸ぇ杩炴帴浣�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-11銆�搴旂敤铚$綉銆佸ぇ杩炴帴浣�</p>
                     </div>
 
                 </div>
@@ -757,35 +863,33 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="poemtitle-l">锛堜簲锛夌粯鍒跺崱鐜�</p>
+                    <p class="poemtitle-l kTitle">锛堜簲锛夌粯鍒跺崱鐜�</p>
                     <p class="content"><span
-                            class="bold">1锛庣粯鍒跺崱鐜洸绾�</span>銆�鐐瑰嚮鈥滅粯鍒舵柊鏇茬嚎鈥濓紝浠庡崱鐜殑璧风偣鍒扮粓鐐圭粯鍒跺崱鐜洸绾匡紝鍙屽嚮瀹屾垚鏇茬嚎缁樺埗锛屽崱鐜洸绾夸负寮�鏀炬洸绾匡紙鍥�3-4-12锛夈�傚彲浠ュ湪缁樺埗鏇茬嚎鏃堕�氳繃鍗曞嚮骞舵嫋鍔ㄦ煇涓偣鐩存帴鏇存敼浣嶇疆鍜屽舰鎬侊紝涔熷彲鍦ㄤ笅涓�姝ュ垱寤哄崱鐜椂杩涜鏇存敼銆傜粯鍒朵笉鍚屽熀鐗欑殑鍗$幆鏃堕渶閫夋嫨鐩稿簲鐨勫崱鐜舰鎬侊紝姣斿鈥滃崱鐜�-纾ㄧ墮鈥濃�滃崱鐜�-鍓嶇(鐗欌�濈瓑锛屾瘡涓崱鐜殑瀹藉害鍦ㄢ�滆彍鍗曗�濅腑鍙繘琛屽崟鐙皟鏁达紝瀹屾垚鍚庣偣鍑烩�滃簲鐢ㄢ�濓紙鍥�3-4-13锛夈��
+                            class="bold fontGreen">1锛庣粯鍒跺崱鐜洸绾�</span>銆�鐐瑰嚮鈥滅粯鍒舵柊鏇茬嚎鈥濓紝浠庡崱鐜殑璧风偣鍒扮粓鐐圭粯鍒跺崱鐜洸绾匡紝鍙屽嚮瀹屾垚鏇茬嚎缁樺埗锛屽崱鐜洸绾夸负寮�鏀炬洸绾匡紙鍥�3-4-12锛夈�傚彲浠ュ湪缁樺埗鏇茬嚎鏃堕�氳繃鍗曞嚮骞舵嫋鍔ㄦ煇涓偣鐩存帴鏇存敼浣嶇疆鍜屽舰鎬侊紝涔熷彲鍦ㄤ笅涓�姝ュ垱寤哄崱鐜椂杩涜鏇存敼銆傜粯鍒朵笉鍚屽熀鐗欑殑鍗$幆鏃堕渶閫夋嫨鐩稿簲鐨勫崱鐜舰鎬侊紝姣斿鈥滃崱鐜�-纾ㄧ墮鈥濃�滃崱鐜�-鍓嶇(鐗欌�濈瓑锛屾瘡涓崱鐜殑瀹藉害鍦ㄢ�滆彍鍗曗�濅腑鍙繘琛屽崟鐙皟鏁达紝瀹屾垚鍚庣偣鍑烩�滃簲鐢ㄢ�濓紙鍥�3-4-13锛夈��
                     </p>
-                    <p class="content"><span class="bold">2锛庤皟鏁村弬鏁�</span>銆�鐐瑰嚮鈥滆缃�濋�夐」锛屾洿鏀规暟鎹紝鐐瑰嚮鈥滃簲鐢ㄢ�濄��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0091-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-12銆�缁樺埗鍗$幆鏇茬嚎</p>
+                    <p class="content"><span class="bold fontGreen">2锛庤皟鏁村弬鏁�</span>銆�鐐瑰嚮鈥滆缃�濋�夐」锛屾洿鏀规暟鎹紝鐐瑰嚮鈥滃簲鐢ㄢ�濄��</p>
+                    <div class="imgFloat">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0091-01.jpg" style="width:90%" alt="鍥�3-4-12銆�缁樺埗鍗$幆鏇茬嚎"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-4-12銆�缁樺埗鍗$幆鏇茬嚎</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0091-02.jpg" style="width:90%" alt="鍥�3-4-13銆�搴旂敤鍗$幆"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�3-4-13銆�搴旂敤鍗$幆</p>
+                        </div>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0091-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-13銆�搴旂敤鍗$幆</p>
-                    </div>
-                    <p class="poemtitle-l">锛堝叚锛夊~鍏呰湣锛堝厠闅嗭級</p>
-                    <p class="content">浣跨敤鍏嬮殕宸ュ叿灏嗙簿纭帤搴︾殑铚℃坊鍔犲埌鑰愮伀妯″瀷鐨勮〃闈紝鍖呭惈<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭銆佽垖鏀墭銆佸皬杩炴帴浣撱�佸ぇ杩炴帴浣撱�佽湣缃戜簲涓ā鍧椼��</p>
-                    <p class="content"><span class="bold">1锛庣粯鍒�<img class="s-pic" src="../../assets/images/0026_02.png"
-                                alt="" />鏀墭</span>銆�鍚戝鑿滃崟涓殑姣忎釜棰勮鍊奸兘鏈夊叾榛樿鍊煎拰蹇嵎閿紝<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭鐨勫帤搴﹀弬鏁颁竴鑸负1.0锝�1.5mm锛屽湪鍩虹墮杩戣繙涓竟缂樹笂缁樺埗鍦嗕笁瑙掑舰<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鏀墭锛堝浘3-4-14锛夈��<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭鐨勫埗浣滆姹傦細鍘氬害涓�1.0锝�1.5mm锛屼笖瓒婇潬杩�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />缂樿秺瀹姐�佽秺鍘氾紝浣嗗叾鍘氬害涓嶈兘褰卞搷鍜悎锛涘墠纾ㄧ墮<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭闀垮害涓鸿繎杩滀腑寰勭殑1/3锛屽搴︿负棰婅垖寰勭殑1/2锛涚(鐗�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鏀墭闀垮害涓虹(鐗欑殑1/4锛屽搴︿负棰婅垖寰勭殑1/3銆傝垖鏀墭鐨勭粯鍒跺悓<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鏀墭锛堝浘3-4-15锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0091-12.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�3-4-14銆�缁樺埗<img class="s-pic" src="../../assets/images/0026_02.png"
-                                alt="" />鏀墭</p>
+                    <p class="poemtitle-l kTitle">锛堝叚锛夊~鍏呰湣锛堝厠闅嗭級</p>
+                    <p class="content">浣跨敤鍏嬮殕宸ュ叿灏嗙簿纭帤搴︾殑铚℃坊鍔犲埌鑰愮伀妯″瀷鐨勮〃闈紝鍖呭惈瓞寳鏀墭銆佽垖鏀墭銆佸皬杩炴帴浣撱�佸ぇ杩炴帴浣撱�佽湣缃戜簲涓ā鍧椼��</p>
+                    <p class="content"><span class="bold fontGreen">1锛庣粯鍒娥瑢楁敮鎵�</span>銆�鍚戝鑿滃崟涓殑姣忎釜棰勮鍊奸兘鏈夊叾榛樿鍊煎拰蹇嵎閿紝<img
+                            class="s-pic" src="../../assets/images/0026_02.png"
+                            alt="" />鏀墭鐨勫帤搴﹀弬鏁颁竴鑸负1.0锝�1.5mm锛屽湪鍩虹墮杩戣繙涓竟缂樹笂缁樺埗鍦嗕笁瑙掑舰瓞寳鏀墭锛堝浘3-4-14锛夈�傪瑢楁敮鎵樼殑鍒朵綔瑕佹眰锛氬帤搴︿负1.0锝�1.5mm锛屼笖瓒婇潬杩戰瑢楃紭瓒婂銆佽秺鍘氾紝浣嗗叾鍘氬害涓嶈兘褰卞搷鍜悎锛涘墠纾ㄧ墮瓞寳鏀墭闀垮害涓鸿繎杩滀腑寰勭殑1/3锛屽搴︿负棰婅垖寰勭殑1/2锛涚(鐗欚瑢楁敮鎵橀暱搴︿负纾ㄧ墮鐨�1/4锛屽搴︿负棰婅垖寰勭殑1/3銆傝垖鏀墭鐨勭粯鍒跺悓瓞寳鏀墭锛堝浘3-4-15锛夈��
+                    </p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0091-12.jpg" style="width:70%" alt="鍥�3-4-14銆�缁樺埗瓞寳鏀墭"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-14銆�缁樺埗瓞寳鏀墭</p>
                     </div>
                 </div>
                 <div class="page-bottom-right">075</div>
@@ -801,23 +905,26 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0092-01.jpg" style="width:50%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0092-01.jpg" style="width:70%" alt="鍥�3-4-15銆�缁樺埗鑸屾敮鎵�"
+                            active="true" />
                         <p class="imgdescript">鍥�3-4-15銆�缁樺埗鑸屾敮鎵�</p>
                     </div>
-                    <p class="content"><span class="bold">2锛庣粯鍒跺皬杩炴帴浣撱�佺粓姝㈢嚎</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庣粯鍒跺皬杩炴帴浣撱�佺粓姝㈢嚎</span></p>
                     <p class="content">
                         锛�1锛夌粯鍒跺皬杩炴帴浣擄細鏀墭缁樺埗瀹屾垚鍚庯紝鍙偣鍑烩�滃皬杩炴帴浣撯�濓紝鑷璋冩暣宸ュ叿灏哄锛屽湪鍗$幆涓庤湣缃戜箣闂寸粯鍒跺皬杩炴帴浣撹繘琛岃繛鎺ワ紝涓嬩竴姝ヤ负缁樺埗瀹屾垚绾匡紝鍙互鐐瑰嚮鍙充晶鍒楄〃鐨勯珮绾фā寮忥紝閫夋嫨缂栬緫铚″瀷锛屽閭婚潰鏉裤�佸崱鐜瓑浣嶇疆杩涜鍏夋粦澶勭悊锛屼娇鏀灦鍙樺緱鍏夋粦鍦嗛『锛堝浘3-4-16锛夈��
                     </p>
                     <p class="content">
                         锛�2锛夌粯鍒剁粓姝㈢嚎锛氬皬杩炴帴浣撶粯鍒跺畬鎴愪箣鍚庯紝鐐瑰嚮鈥滃悜瀵尖�濓紝杩涜缁堟绾跨殑缁樺埗銆傜粯鍒跺缁堟绾挎椂鍙傝�冨唴缁堟绾跨殑浣嶇疆锛屼笌涔嬩繚鎸佺害2mm鐨勮窛绂伙紝褰㈡垚绉昏鐨勫姞寮哄甫銆傝嫢闇�鏇存敼缁堟绾挎柟鍚戯紝鍙抽敭鐐瑰嚮缁堟绾匡紝鍙互浣跨敤鎺у埗绠ご鏉ユ洿鏀瑰畬鎴愮嚎鐨勮搴︼紙鍥�3-4-17锛夈�傚畬鎴愪箣鍚庯紝鐐瑰嚮鈥滀笅涓�姝モ�濄��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0092-02.jpg" style="width:50%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0092-02.jpg" style="width:70%" alt="鍥�3-4-16銆�缁樺埗灏忚繛鎺ヤ綋"
+                            active="true" />
                         <p class="imgdescript">鍥�3-4-16銆�缁樺埗灏忚繛鎺ヤ綋</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0092-03.jpg" style="width:50%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0092-03.jpg" style="width:70%" alt="鍥�3-4-17銆�缁樺埗缁堟绾�"
+                            active="true" />
                         <p class="imgdescript">鍥�3-4-17銆�缁樺埗缁堟绾�</p>
                     </div>
 
@@ -833,27 +940,34 @@
                     <span class="header-title">椤圭洰涓夈��娲诲姩涔夐娇淇璁捐宸ヨ壓</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
+
+
+
                 <div class="bodystyle">
-                    <p class="poemtitle-l">锛堜竷锛夌紪杈戞暟瀛楄湣鍨�</p>
-                    <p class="content">
-                        鍦ㄧ紪杈戣湣鍨嬫垨鑷敱閫犲瀷姝ラ锛屽鏀灦铚″瀷璁捐杩涜骞虫粦鍜屽井璋冦�傝湣鍨嬭嚜鐢遍�犲瀷鏈夊洓绉嶆搷浣滃彲渚涢�夋嫨锛氣�滆瀺鍚堚�濃�滃钩婊戔�濃�滃钩婊戞坊鍔犫�濃�滃钩婊戠Щ闄も�濄�傗��1鈥濃��2鈥濆揩鎹烽敭鍙洿鎺ユ縺娲烩�滃鍔�/鍑忓皯鈥濃�滃厜婊�/骞虫暣鈥濆浘鏍囪繘琛屽簲鐢ㄣ�傚瑕佽繘琛岃嚜鐢遍�犲瀷鏀灦缁勭粐闈㈤儴鍒嗭紝闇�鍕鹃�夆�滈殣钘忓�掑嚬濉櫎铚″拰鑰愮伀妯″瀷鈥濓紝鍙互鏇村ソ鍦板鐞嗗瀭鐩村尯鍩熴�佽垖鏉裤�侀偦鎺ュ尯鍩熴�傚湪鑷敱铚″瀷杩囩▼涓紝闇�灏嗗悇涓儴浠惰鎺ラ儴鍒嗗拰閭婚潰鍖哄煙鐨勯攼鍒╄竟缂樺鐞嗗厜婊戯紝浣垮緱鏀灦杈圭紭鍛堣繛缁渾婊戠殑鏇茬嚎锛屽悓鏃跺~骞冲唴缁堟绾垮鏀灦琛ㄩ潰涓嶅钩鏁寸殑鍖哄煙锛岄伩鍏嶆斁缃缁堟绾挎椂褰㈡垚鐨辫ざ锛堝浘3-4-18锛夈�傚畬鎴愭搷浣滃悗鐐瑰嚮鈥滀笅涓�姝モ�濄��
-                    </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0093-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-18銆�缂栬緫鏁板瓧铚″瀷</p>
+                    <p class="poemtitle-l kTitle">锛堜竷锛夌紪杈戞暟瀛楄湣鍨�</p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic openImgBox">
+                            <img class="openImgBox" src="../../assets/images/0093-01.jpg"
+                                style="width: 300px;height: 160px;" alt="" active="true" />
+                            <p class="imgdescript">鍥�3-4-18銆�缂栬緫鏁板瓧铚″瀷</p>
+                        </div>
+                        <p class="content">
+                            鍦ㄧ紪杈戣湣鍨嬫垨鑷敱閫犲瀷姝ラ锛屽鏀灦铚″瀷璁捐杩涜骞虫粦鍜屽井璋冦�傝湣鍨嬭嚜鐢遍�犲瀷鏈夊洓绉嶆搷浣滃彲渚涢�夋嫨锛氣�滆瀺鍚堚�濃�滃钩婊戔�濃�滃钩婊戞坊鍔犫�濃�滃钩婊戠Щ闄も�濄�傗��1鈥濃��2鈥濆揩鎹烽敭鍙洿鎺ユ縺娲烩�滃鍔�/鍑忓皯鈥濃�滃厜婊�/骞虫暣鈥濆浘鏍囪繘琛屽簲鐢ㄣ�傚瑕佽繘琛岃嚜鐢遍�犲瀷鏀灦缁勭粐闈㈤儴鍒嗭紝闇�鍕鹃�夆�滈殣钘忓�掑嚬濉櫎铚″拰鑰愮伀妯″瀷鈥濓紝鍙互鏇村ソ鍦板鐞嗗瀭鐩村尯鍩熴�佽垖鏉裤�侀偦鎺ュ尯鍩熴�傚湪鑷敱铚″瀷杩囩▼涓紝闇�灏嗗悇涓儴浠惰鎺ラ儴鍒嗗拰閭婚潰鍖哄煙鐨勯攼鍒╄竟缂樺鐞嗗厜婊戯紝浣垮緱鏀灦杈圭紭鍛堣繛缁渾婊戠殑鏇茬嚎锛屽悓鏃跺~骞冲唴缁堟绾垮鏀灦琛ㄩ潰涓嶅钩鏁寸殑鍖哄煙锛岄伩鍏嶆斁缃缁堟绾挎椂褰㈡垚鐨辫ざ锛堝浘3-4-18锛夈�傚畬鎴愭搷浣滃悗鐐瑰嚮鈥滀笅涓�姝モ�濄��
+                        </p>
                     </div>
-                    <p class="poemtitle-l">锛堝叓锛夌粯鍒舵敮鎾戞潌</p>
+                    <p class="poemtitle-l kTitle">锛堝叓锛夌粯鍒舵敮鎾戞潌</p>
                     <p class="content">
                         鐐瑰嚮鐣岄潰鏈�鍙充晶鐨勨�滈珮绾фā寮忊�濓紝閫夋嫨闄勪欢宸ュ叿涓殑鈥滄敮鎾戞潌鈥濓紝閫氳繃鍦ㄨ湣鍨嬭璁′笂璁剧疆涓や釜鐐规潵鍒涘缓鏀拺鏉嗭紝涓�鑸湪涔夐娇璺ㄥ害杈冮暱鐨勯儴浣嶉渶瑕佸鍔犳敮鎾戞潌锛岄槻姝㈡敮鏋跺湪鍒朵綔杩囩▼鍙戠敓鍙樺舰绉讳綅銆傚畬鎴愪箣鍚庡彲鐢ㄨ湣鍨嬮洉鍒诲伐鍏峰啀娆″铚″瀷琛ㄩ潰杩涜澶勭悊锛屼娇鍚勯儴浠剁Щ琛屻�佸厜婊戯紙鍥�3-4-19锛夈�傚缁堟绾夸笌杩炴帴浣撶粨鍚堝锛屼互鍙婄粓姝㈢嚎鏈涓庨偦闈㈡澘缁撳悎澶勫潎搴斿钩婊戣繃娓°��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0093-02.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0093-02.jpg" style="width:75%" alt="鍥�3-4-19銆�缁樺埗銆佸簲鐢ㄦ敮鎾戞潌"
+                            active="true" />
                         <p class="imgdescript">鍥�3-4-19銆�缁樺埗銆佸簲鐢ㄦ敮鎾戞潌</p>
                     </div>
-                    <p class="poemtitle-l">锛堜節锛夋坊鍔犻檮浠�</p>
+                    <p class="poemtitle-l kTitle">锛堜節锛夋坊鍔犻檮浠�</p>
                     <p class="content">鏍规嵁璁捐闇�瑕佸畨鏀剧浉搴旈儴浠躲��</p>
                     <p class="content"><span
-                            class="bold">1锛庡浐浣嶇彔</span>銆�鐐瑰嚮灞忓箷鍙充笂瑙掔殑鈥滈珮绾фā寮忊�濓紝閫夋嫨鈥滄洸绾库�濆伐鍏凤紝鍦ㄩ渶瑕佽鐩栧浐浣嶇彔鐨勫尯鍩熺粯鍒堕棴鍚堟洸绾匡紝鍏朵粬鐗欓娇閲嶅姝ゆ搷浣滐紝瀹屾垚鍚庣偣鍑烩�滃簲鐢ㄢ�濓紙鍥�3-4-20锛夈��
+                            class="bold fontGreen">1锛庡浐浣嶇彔</span>銆�鐐瑰嚮灞忓箷鍙充笂瑙掔殑鈥滈珮绾фā寮忊�濓紝閫夋嫨鈥滄洸绾库�濆伐鍏凤紝鍦ㄩ渶瑕佽鐩栧浐浣嶇彔鐨勫尯鍩熺粯鍒堕棴鍚堟洸绾匡紝鍏朵粬鐗欓娇閲嶅姝ゆ搷浣滐紝瀹屾垚鍚庣偣鍑烩�滃簲鐢ㄢ�濓紙鍥�3-4-20锛夈��
                     </p>
 
                 </div>
@@ -870,23 +984,26 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0094-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-20銆�缁樺埗銆佸簲鐢ㄥ浐浣嶇彔</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0094-01.jpg" style="width:80%" alt="鍥�3-4-20銆�缁樺埗銆佸簲鐢ㄥ浐浣嶇彔"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-20銆�缁樺埗銆佸簲鐢ㄥ浐浣嶇彔</p>
                     </div>
                     <p class="content"><span
-                            class="bold">2锛庡浐浣嶉拤</span>銆�鍦ㄧ己闅欓儴浣嶆斁缃�傚疁鏁伴噺鐨勫浐浣嶉拤锛屽姞寮轰汉宸ョ墮涓庢敮鏋剁殑杩炴帴銆傛坊鍔犲浐浣嶉拤鏃堕�夋嫨鈥滄坊鍔犲浐浣嶉拤鈥濆伐鍏凤紝鐐瑰嚮鏀剧疆鍥轰綅閽夛紝閫氳繃鍗曞嚮骞舵嫋鍔ㄥ簳閮ㄦ帶鍒剁偣鏉ョ‘瀹氬浐浣嶉拤鐨勪綅缃紝鐢ㄩ《閮ㄦ帶鍒剁偣鏇存敼鍥轰綅閽夎搴︼紝鍘氬害鍜岄暱搴﹀彲浠ュ湪搴曢儴鑿滃崟涓繘琛屾洿鏀癸紙鍥�3-4-21锛夈�傚畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝鍏朵粬浣嶇疆閲嶅姝ゆ搷浣滐紙鍥�3-4-22锛夈��
+                            class="bold fontGreen">2锛庡浐浣嶉拤</span>銆�鍦ㄧ己闅欓儴浣嶆斁缃�傚疁鏁伴噺鐨勫浐浣嶉拤锛屽姞寮轰汉宸ョ墮涓庢敮鏋剁殑杩炴帴銆傛坊鍔犲浐浣嶉拤鏃堕�夋嫨鈥滄坊鍔犲浐浣嶉拤鈥濆伐鍏凤紝鐐瑰嚮鏀剧疆鍥轰綅閽夛紝閫氳繃鍗曞嚮骞舵嫋鍔ㄥ簳閮ㄦ帶鍒剁偣鏉ョ‘瀹氬浐浣嶉拤鐨勪綅缃紝鐢ㄩ《閮ㄦ帶鍒剁偣鏇存敼鍥轰綅閽夎搴︼紝鍘氬害鍜岄暱搴﹀彲浠ュ湪搴曢儴鑿滃崟涓繘琛屾洿鏀癸紙鍥�3-4-21锛夈�傚畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝鍏朵粬浣嶇疆閲嶅姝ゆ搷浣滐紙鍥�3-4-22锛夈��
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庢诞闆�</span>銆�鏂囧瓧鍜屽浘鍍忓彲閫氳繃閫夋嫨鈥滄诞闆曗�濋�夐」杩涜娣诲姞锛屽鎮h�呭鍚嶃�佺梾渚嬪彿銆佸叕鍙窵ogo銆佷釜鎬у寲绛惧悕绛夛紝鍙互璁捐涓衡�滃嚫璧封�濇垨鈥滃嚬闄封�濄�傚畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝鍏朵粬娣诲姞閲嶅姝ゆ搷浣滐紙鍥�3-4-23锛夈��
+                            class="bold fontGreen">3锛庢诞闆�</span>銆�鏂囧瓧鍜屽浘鍍忓彲閫氳繃閫夋嫨鈥滄诞闆曗�濋�夐」杩涜娣诲姞锛屽鎮h�呭鍚嶃�佺梾渚嬪彿銆佸叕鍙窵ogo銆佷釜鎬у寲绛惧悕绛夛紝鍙互璁捐涓衡�滃嚫璧封�濇垨鈥滃嚬闄封�濄�傚畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝鍏朵粬娣诲姞閲嶅姝ゆ搷浣滐紙鍥�3-4-23锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0094-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-21銆�搴旂敤鍥轰綅閽�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0094-02.jpg" style="width:80%" alt="鍥�3-4-21銆�搴旂敤鍥轰綅閽�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-21銆�搴旂敤鍥轰綅閽�</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0094-03.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-22銆�璋冩暣鍥轰綅閽�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0094-03.jpg" style="width:80%" alt="鍥�3-4-22銆�璋冩暣鍥轰綅閽�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�3-4-22銆�璋冩暣鍥轰綅閽�</p>
                     </div>
 
                 </div>
@@ -902,34 +1019,39 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0095-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-23銆�鍒朵綔娴洉</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0095-01.jpg" style="width:80%" alt="鍥�3-4-23銆�鍒朵綔娴洉" active="true" />
+                        <p class="imgdescript-b">鍥�3-4-23銆�鍒朵綔娴洉</p>
                     </div>
-                    <p class="poemtitle-l">锛堝崄锛変繚瀛樻暟鎹紝瀹屾垚璁捐</p>
+                    <p class="poemtitle-l kTitle">锛堝崄锛変繚瀛樻暟鎹紝瀹屾垚璁捐</p>
                     <p class="content">杈撳嚭鏁版嵁锛屽叧闂蒋浠跺苟淇濆瓨鍦烘櫙鏂囦欢锛屽畬鎴愭椿鍔ㄦ敮鏋惰璁★紙鍥�3-4-24锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0095-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�3-4-24銆�淇濆瓨鏁版嵁</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0095-02.jpg" style="width:80%" alt="鍥�3-4-24銆�淇濆瓨鏁版嵁" active="true" />
+                        <p class="imgdescript-b">鍥�3-4-24銆�淇濆瓨鏁版嵁</p>
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">RPD鏁板瓧鏀灦鎵撳嵃</span></p>
-                    <p class="quotation">RPD鏁板瓧鏀灦鎵撳嵃涓昏渚濇墭3D鎵撳嵃鎶�鏈疄鐜帮紝鍏舵搷浣滄祦绋嬮�氬父濡備笅銆�</p>
-                    <p class="quotation">
-                        1锛庡彛鑵旀暟鎹幏鍙栥��鍙噰鐢ㄥ彛鍐呮壂鎻忎华鐩存帴鑾峰彇鎮h�呭彛鑵旂殑涓夌淮鏁板瓧鍖栨暟鎹紝涔熷彲閫氳繃浼犵粺鍙栨ā鍚庡埄鐢ㄦā鍨嬫壂鎻忎华瀵圭煶鑶忔ā鍨嬭繘琛屽彛澶栨壂鎻忥紝杩欎簺鏁版嵁涓哄悗缁殑璁捐鍒朵綔鎻愪緵鍏抽敭鍩虹銆�</p>
-                    <p class="quotation">
-                        2锛庢暟鎹紶杈撳拰RPD鏀灦CAD璁捐銆�鑾峰彇鏁版嵁鍚庯紝灏嗗叾浼犺緭鑷充笓涓氱殑鏀灦璁捐杞欢锛岃繘琛屽熀浜嶤AD鐨凴PD鏀灦璁捐銆傚湪瀹屾垚璁捐骞跺妯″瀷杩涜浼樺寲鍚庯紝鎶奟PD鏀灦鏁板瓧妯″瀷鏂囦欢瀵煎叆鍒囩墖杞欢锛屽湪杞欢涓綔鍒囩墖澶勭悊銆�
-                    </p>
-                    <p class="quotation">
-                        3锛庢墦鍗板噯澶囥��渚濇嵁鏀灦鐨勭粨鏋勭壒鐐广�佹�ц兘闇�姹傜瓑鍥犵礌锛岀簿纭�夋嫨閫傞厤鐨勬墦鍗版潗鏂欍�傚悓鏃讹紝鏍规嵁鎵撳嵃鏉愭枡鐗规�у強鏀灦鎵撳嵃瑕佹眰锛屾寫閫夊悎閫傜殑3D鎵撳嵃鏈哄苟杩涜鍏ㄩ潰璋冭瘯锛岀‘淇濇墦鍗版満鐨勫悇椤瑰弬鏁帮紝濡傚柗澶存俯搴︺�佹墦鍗伴�熷害銆佹尋鍑洪噺绛夊潎绗﹀悎鎵撳嵃鏍囧噯銆�
-                    </p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">RPD鏁板瓧鏀灦鎵撳嵃</span></p>
+                        <p class="quotation">RPD鏁板瓧鏀灦鎵撳嵃涓昏渚濇墭3D鎵撳嵃鎶�鏈疄鐜帮紝鍏舵搷浣滄祦绋嬮�氬父濡備笅銆�</p>
+                        <p class="quotation">
+                            1锛庡彛鑵旀暟鎹幏鍙栥��鍙噰鐢ㄥ彛鍐呮壂鎻忎华鐩存帴鑾峰彇鎮h�呭彛鑵旂殑涓夌淮鏁板瓧鍖栨暟鎹紝涔熷彲閫氳繃浼犵粺鍙栨ā鍚庡埄鐢ㄦā鍨嬫壂鎻忎华瀵圭煶鑶忔ā鍨嬭繘琛屽彛澶栨壂鎻忥紝杩欎簺鏁版嵁涓哄悗缁殑璁捐鍒朵綔鎻愪緵鍏抽敭鍩虹銆�</p>
+                        <p class="quotation">
+                            2锛庢暟鎹紶杈撳拰RPD鏀灦CAD璁捐銆�鑾峰彇鏁版嵁鍚庯紝灏嗗叾浼犺緭鑷充笓涓氱殑鏀灦璁捐杞欢锛岃繘琛屽熀浜嶤AD鐨凴PD鏀灦璁捐銆傚湪瀹屾垚璁捐骞跺妯″瀷杩涜浼樺寲鍚庯紝鎶奟PD鏀灦鏁板瓧妯″瀷鏂囦欢瀵煎叆鍒囩墖杞欢锛屽湪杞欢涓綔鍒囩墖澶勭悊銆�
+                        </p>
+                        <p class="quotation">
+                            3锛庢墦鍗板噯澶囥��渚濇嵁鏀灦鐨勭粨鏋勭壒鐐广�佹�ц兘闇�姹傜瓑鍥犵礌锛岀簿纭�夋嫨閫傞厤鐨勬墦鍗版潗鏂欍�傚悓鏃讹紝鏍规嵁鎵撳嵃鏉愭枡鐗规�у強鏀灦鎵撳嵃瑕佹眰锛屾寫閫夊悎閫傜殑3D鎵撳嵃鏈哄苟杩涜鍏ㄩ潰璋冭瘯锛岀‘淇濇墦鍗版満鐨勫悇椤瑰弬鏁帮紝濡傚柗澶存俯搴︺�佹墦鍗伴�熷害銆佹尋鍑洪噺绛夊潎绗﹀悎鎵撳嵃鏍囧噯銆�
+                        </p>
+                        <p class="quotation">
+                            4锛�3D鎵撳嵃銆�鍑嗗宸ヤ綔灏辩华鍚庯紝灏嗗垏鐗囪蒋浠剁敓鎴愮殑鎵撳嵃鏂囦欢浼犺緭鑷�3D鎵撳嵃鏈恒�傛墦鍗版満闅忓嵆鎸夌収棰勮鐨勭簿纭墦鍗拌矾寰勫拰鍙傛暟寮�濮嬫墦鍗颁綔涓氥�傚湪鎵撳嵃杩囩▼涓紝鎿嶄綔浜哄憳闇�鍏ㄧ▼瀹炴椂鐩戞帶锛屽瘑鍒囧叧娉ㄥ柗澶存槸鍚﹁兘澶熺ǔ瀹氥�佺簿鍑嗗湴鎸ゅ嚭鏉愭枡锛屾墦鍗板钩鍙版槸鍚︿繚鎸佸钩绋崇Щ鍔紝浠ュ強妯″瀷鐨勬墦鍗拌繘搴﹀拰璐ㄩ噺鐘跺喌绛変簨椤广�備竴鏃﹀彂鐜版墦鍗拌繃绋嬩腑鍑虹幇璇稿鏉愭枡鍫靛銆佹墦鍗伴敊浣嶃�佸眰闂寸粨鍚堜笉鑹瓑闂锛屽簲鍙婃椂閲囧彇鐩稿簲鐨勪笓涓氳В鍐虫帾鏂斤紝鏈�澶ч檺搴﹂伩鍏嶆墦鍗板け璐ワ紝鍑忓皯鏉愭枡鎹熻�椾笌鏃堕棿娴垂銆�
+                        </p>
+                        <p class="quotation">5锛庡悗澶勭悊銆�鎵撳嵃缁撴潫鍚庯紝瀵规墦鍗板畬鎴愮殑鏀灦妯″瀷杩涜涓�绯诲垪鍚庡鐞嗘搷浣滐紝濡傚幓闄ゆ敮鎾戠粨鏋勩�佹墦纾ㄦ姏鍏夈�佽川閲忔娴嬬瓑銆傛渶缁堝畬鎴怰PD鏁板瓧鏀灦鎵撳嵃銆�</p>
+
+                    </div>
 
                 </div>
                 <div class="page-bottom-right">079</div>
             </div>
         </div>
-
         <!-- Page 86 (鍋舵暟椤�) -->
         <div class="page-box" page="86">
             <div v-if="showPageList.indexOf(86) > -1">
@@ -939,35 +1061,155 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="quotation">
-                        4锛�3D鎵撳嵃銆�鍑嗗宸ヤ綔灏辩华鍚庯紝灏嗗垏鐗囪蒋浠剁敓鎴愮殑鎵撳嵃鏂囦欢浼犺緭鑷�3D鎵撳嵃鏈恒�傛墦鍗版満闅忓嵆鎸夌収棰勮鐨勭簿纭墦鍗拌矾寰勫拰鍙傛暟寮�濮嬫墦鍗颁綔涓氥�傚湪鎵撳嵃杩囩▼涓紝鎿嶄綔浜哄憳闇�鍏ㄧ▼瀹炴椂鐩戞帶锛屽瘑鍒囧叧娉ㄥ柗澶存槸鍚﹁兘澶熺ǔ瀹氥�佺簿鍑嗗湴鎸ゅ嚭鏉愭枡锛屾墦鍗板钩鍙版槸鍚︿繚鎸佸钩绋崇Щ鍔紝浠ュ強妯″瀷鐨勬墦鍗拌繘搴﹀拰璐ㄩ噺鐘跺喌绛変簨椤广�備竴鏃﹀彂鐜版墦鍗拌繃绋嬩腑鍑虹幇璇稿鏉愭枡鍫靛銆佹墦鍗伴敊浣嶃�佸眰闂寸粨鍚堜笉鑹瓑闂锛屽簲鍙婃椂閲囧彇鐩稿簲鐨勪笓涓氳В鍐虫帾鏂斤紝鏈�澶ч檺搴﹂伩鍏嶆墦鍗板け璐ワ紝鍑忓皯鏉愭枡鎹熻�椾笌鏃堕棿娴垂銆�
-                    </p>
-                    <p class="quotation">5锛庡悗澶勭悊銆�鎵撳嵃缁撴潫鍚庯紝瀵规墦鍗板畬鎴愮殑鏀灦妯″瀷杩涜涓�绯诲垪鍚庡鐞嗘搷浣滐紝濡傚幓闄ゆ敮鎾戠粨鏋勩�佹墦纾ㄦ姏鍏夈�佽川閲忔娴嬬瓑銆傛渶缁堝畬鎴怰PD鏁板瓧鏀灦鎵撳嵃銆�</p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鑲紡鈪g被鏀灦璁捐浠诲姟璇勪环鏍囧噯瑙佽〃3-4-1銆�</p>
-                    <p class="imgtitle">琛�3-4-1銆�鑲紡鈪g被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0096-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0096-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�3-4-1銆�鑲紡鈪g被鏀灦璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0096-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="琛�3-4-1銆�鑲紡鈪g被鏀灦璁捐浠诲姟璇勪环鏍囧噯" active="true" /></div>
+
+                            <div class="unitSummary mb-20">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B12'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳涓�绫�">椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳涓�绫�</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B9'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳浜岀被">椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳浜岀被</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B10'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳涓夌被">椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳涓夌被</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B11'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳鍥涚被">椤圭洰涓� 鑰冭瘯鐭ヨ瘑鐐� 鍙憳鍥涚被</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="unitSummary">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C13'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰涓� 鑲皬涓�绫绘敮鏋惰璁� 灏忕粨">椤圭洰涓� 鑲皬涓�绫绘敮鏋惰璁� 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C10'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰涓� 鑲皬浜岀被鏀灦璁捐 灏忕粨">椤圭洰涓� 鑲皬浜岀被鏀灦璁捐 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C11'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰涓� 鑲皬涓夌被鏀灦璁捐 灏忕粨">椤圭洰涓� 鑲皬涓夌被鏀灦璁捐 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C12'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰涓� 鑲皬鍥涚被鏀灦璁捐 灏忕粨">椤圭洰涓� 鑲皬鍥涚被鏀灦璁捐 灏忕粨</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>棰樺簱</span>
+                        </div>
+                        <div class="knowledgeExpansion-box">
+                            <img src="../../assets/images/tuoZhan.svg" alt="" />
+                            <span @click="openQuestion(getResourceInfo('AA4'))">鎷撳睍缁冧範</span>
+                        </div>
+                    </div>
                     <p class="right-info">锛堣儱鐜夊嚖銆�鏉庢枃濞燂級</p>
                 </div>
                 <div class="page-bottom-left">080</div>
             </div>
         </div>
-
+        <preView :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef"></preView>
+        <dialogExaminations :cardList="interfaceQuestion" :questionIDList="questionIDList" :page="questionNum"
+            :questionTitle="questionTitleMain" ref="dialogRef">
+        </dialogExaminations>
     </div>
 </template>
 
 
 <script>
+import preView from "@/components/pdfview/index.vue";
+import dialogExaminations from "@/components/dialogExaminations/index.vue";
 export default {
     name: "chapterFour",
+
     props: {
         showPageList: {
             type: Array,
         },
+        getResourceInfo: {
+            type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
+            required: true,
+        },
+        interfaceQuestion: {
+            type: Array,
+            required: true,
+            default: () => [],
+        },
     },
+    components: {
+        preView,
+        dialogExaminations,
+    },
+
+    data() {
+        return {
+            p_md5: "",
+            somePdfTitleValue: "",
+            // 棰樼洰鐩稿叧
+            questionNum: 0,
+            questionTitleMain: "",
+            questionIDList: [],
+            questionData: {
+                one: "",
+                two: "",
+                three: "",
+                fore: "",
+                five: "",
+                six: "",
+                seven: "",
+                eight: ""
+            }
+        };
+    },
+    mounted() {
+        this.getQuestionData()
+    },
+    methods: {
+        toUrl(val) {
+            if (val != null) {
+                this.p_md5 = val.md5;
+                this.somePdfTitleValue = val.resourceName;
+                this.$refs.pdfDialogRef.openDialog();
+            }
+        },
+        openQuestion(val) {
+            if (val != undefined) {
+                this.questionNum = val.pagination;
+                this.questionTitleMain = val.resourceName;
+                this.questionIDList = val.ids;
+                this.$nextTick(() => {
+                    this.$refs.dialogRef.openDialogQuestion();
+                });
+            }
+        },
+        setQuestionData() {
+            localStorage.setItem(
+                "digitalDentalRestorationTechnology-book-chapter04-questionData",
+                JSON.stringify(this.questionData)
+            );
+        },
+        getQuestionData() {
+            let questionData = localStorage.getItem("digitalDentalRestorationTechnology-book-chapter04-questionData");
+            if (questionData) {
+                this.questionData = JSON.parse(questionData);
+            }
+        },
+    },
+
 }
 </script>
 
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/chapter005.vue b/src/books/digitalDentalRestorationTechnology/view/components/chapter005.vue
index ae0b638..0dcc417 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/chapter005.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/chapter005.vue
@@ -9,28 +9,68 @@
                 </div>
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">椤圭洰鍥涖��绉嶆涔夐娇璁捐宸ヨ壓</h1>
-                    <div class="bodyPic"><img src="../../assets/images/0097-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0017-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绱犺川鐩爣</span></p>
-                    <p class="content">锛�1锛夊叿澶囦弗璋ㄧ殑宸ヤ綔鎬佸害鍜屽疄浜嬫眰鏄殑宸ヤ綔浣滈锛岄拡瀵圭妞嶄箟榻胯璁$梾渚嬬粰鍑哄悎鐞嗙殑淇璁捐鎬濊矾锛屼繚闅滀箟榻夸娇鐢ㄧ殑鑸掗�傛�у拰闀夸箙鎬с��</p>
-                    <p class="content">锛�2锛夊叿澶囧垱鏂板涔犳剰璇嗭紝瀵归毦搴﹁緝澶х殑绉嶆淇鐥呬緥锛屼互淇涓哄鍚戯紝涓烘偅鑰呰璁′釜鎬у寲鑲╁彴銆佽搴﹁偐鍙帮紝淇濋殰涔夐娇鐨勪慨澶嶆晥鏋溿��</p>
-                    <p class="center">........................</p>
-                    <p class="center"><span class="bold">鐭ヨ瘑鐩爣</span></p>
-                    <p class="content">锛�1锛夋帉鎻★細绉嶆鍩哄彴鐨勫熀鏈瀯鎴愶紝涓�у寲鍩哄彴鐨勭壒鐐癸紱褰㈡�佸銆佺編瀛﹀熀鏈煡璇嗭紱鍐犳ˉ璁捐娴佺▼锛涚妞嶅鏉垮埗浣滄祦绋嬨��</p>
-                    <p class="content">锛�2锛夌啛鎮夛細姘у寲閿嗗熀鍙扮殑褰㈠紡锛涚妞嶄慨澶嶅啝閮ㄨ璁″熀鏈楠わ紱缂烘崯閮ㄤ綅涓嶅悓绫诲瀷鐨勭妞嶅鏉胯璁¤姹傘��</p>
-                    <p class="center">........................</p>
-                    <p class="content"><span class="bold">鑳藉姏鐩爣</span></p>
-                    <p class="content">锛�1锛夎兘澶熺嫭绔嬪畬鎴愮妞嶅熀鍙拌璁°��</p>
-                    <p class="content">锛�2锛夎兘澶熺嫭绔嬪畬鎴愮畝鍗曠墮鏀寔寮忕妞嶅鏉跨殑璁捐銆�</p>
-                    <p class="content">锛�3锛夎兘澶熷畬鎴愭哀鍖栭攩鍩哄彴璁捐銆�</p>
+                    <div class="learnGoal">
+                        <img class="learnImg img-h" src="../../assets/images/learnGoal.png" alt="" />
+                        <p class="center learngoalRange"><span class="bold">绱犺川鐩爣</span></p>
+                        <p class="content">锛�1锛夊叿澶囦弗璋ㄧ殑宸ヤ綔鎬佸害鍜屽疄浜嬫眰鏄殑宸ヤ綔浣滈锛岄拡瀵圭妞嶄箟榻胯璁$梾渚嬬粰鍑哄悎鐞嗙殑淇璁捐鎬濊矾锛屼繚闅滀箟榻夸娇鐢ㄧ殑鑸掗�傛�у拰闀夸箙鎬с��</p>
+                        <p class="content">锛�2锛夊叿澶囧垱鏂板涔犳剰璇嗭紝瀵归毦搴﹁緝澶х殑绉嶆淇鐥呬緥锛屼互淇涓哄鍚戯紝涓烘偅鑰呰璁′釜鎬у寲鑲╁彴銆佽搴﹁偐鍙帮紝淇濋殰涔夐娇鐨勪慨澶嶆晥鏋溿��</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鐭ヨ瘑鐩爣</span></p>
+                        <p class="content">锛�1锛夋帉鎻★細绉嶆鍩哄彴鐨勫熀鏈瀯鎴愶紝涓�у寲鍩哄彴鐨勭壒鐐癸紱褰㈡�佸銆佺編瀛﹀熀鏈煡璇嗭紱鍐犳ˉ璁捐娴佺▼锛涚妞嶅鏉垮埗浣滄祦绋嬨��</p>
+                        <p class="content">锛�2锛夌啛鎮夛細姘у寲閿嗗熀鍙扮殑褰㈠紡锛涚妞嶄慨澶嶅啝閮ㄨ璁″熀鏈楠わ紱缂烘崯閮ㄤ綅涓嶅悓绫诲瀷鐨勭妞嶅鏉胯璁¤姹傘��</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鑳藉姏鐩爣</span></p>
+                        <p class="content">锛�1锛夎兘澶熺嫭绔嬪畬鎴愮妞嶅熀鍙拌璁°��</p>
+                        <p class="content">锛�2锛夎兘澶熺嫭绔嬪畬鎴愮畝鍗曠墮鏀寔寮忕妞嶅鏉跨殑璁捐銆�</p>
+                        <p class="content">锛�3锛夎兘澶熷畬鎴愭哀鍖栭攩鍩哄彴璁捐銆�</p>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>鏁欏璇句欢</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A14'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰鍥� 鏁欏璇句欢 绉嶆鍩哄彴</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A15'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span> 椤圭洰鍥� 鏁欏璇句欢 涓婇儴鍐犵殑璁捐</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A16'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰鍥� 鏁欏璇句欢 绉嶆铻轰笣鍥轰綅妗ヨ璁�</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A17'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰鍥� 鏁欏璇句欢 鏁板瓧鍖栨墜鏈鏉胯璁�</span>
+                        </div>
+                    </div>
                     <h2 class="secondTitle">浠诲姟涓�銆�鏁板瓧鍖栫妞嶄釜鎬у熀鍙拌璁�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鏌愰棬璇婂畬鎴愮妞嶆墜鏈竴鏈熺妞嶉拤妞嶅叆鍚庢暟鏈堬紝绉嶆浣撳亸绂荤墮寮撴柟鍚戯紝鑸屽悜鍊炬枩3mm銆傝瀹屾垚鍩哄彴鍙婁慨澶嶄綋鍒朵綔銆�</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鏌愰棬璇婂畬鎴愮妞嶆墜鏈竴鏈熺妞嶉拤妞嶅叆鍚庢暟鏈堬紝绉嶆浣撳亸绂荤墮寮撴柟鍚戯紝鑸屽悜鍊炬枩3mm銆傝瀹屾垚鍩哄彴鍙婁慨澶嶄綋鍒朵綔銆�</p>
 
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庣妞嶄綋瑙掑害鍋忕鐗欏紦鐨勫熀鍙版槸浠�涔堝熀鍙帮紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.one" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庡熀鍙拌璁℃渶鍏抽敭鐨勯儴鍒嗘槸浠�涔堬紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.two" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">3锛庡父鐢ㄧ妞嶄綋鍩哄彴淇鏉愭枡鏈夊摢浜涳紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.three" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
                 </div>
                 <div class="page-bottom-right">081</div>
             </div>
@@ -45,37 +85,39 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庣妞嶄綋瑙掑害鍋忕鐗欏紦鐨勫熀鍙版槸浠�涔堝熀鍙帮紵</p>
-                    <p class="content">2锛庡熀鍙拌璁℃渶鍏抽敭鐨勯儴鍒嗘槸浠�涔堬紵</p>
-                    <p class="content">3锛庡父鐢ㄧ妞嶄綋鍩哄彴淇鏉愭枡鏈夊摢浜涳紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鍦ㄧ妞嶄慨澶嶆椂锛屽洜鎮h�呯墮浣嶆垨涓綋鐗欐Ы楠ㄥ惛鏀舵柟鍚戙�佸熀鐗欏�炬枩鏂瑰悜鐨勪笉鍚岋紝鎴愬搧鍩哄彴鍦ㄦ湁浜涙儏鍐典笅涓嶈兘婊¤冻鎮h�呯殑涓�х壒寰併�備釜鎬у寲鍩哄彴鍙互鐏垫椿淇绉嶆瑙掑害鍋忓樊锛屾纭畾浣嶄慨澶嶄綋鐨勮竟缂樹綅缃紝骞惰幏寰楃悊鎯崇殑绌块緢杞粨锛屽洜姝ゅ湪涓村簥涓殑搴旂敤瓒婃潵瓒婂箍娉涖�備釜鎬у寲鍩哄彴鍙互閫氳繃鐮旂(銆侀摳閫犮�丆AD/CAM绛夋柟娉曡繘琛屽埗浣滐紝鍏朵腑CAD/CAM鍒堕�犵殑涓�у寲鍩哄彴鍏锋湁鐮旂(鍜岄摳閫犲熀鍙颁笉鍙瘮鎷熺殑浼樺娍銆�
                     </p>
                     <p class="content">涓嬮潰浠xocad杞欢涓轰緥锛屼粙缁嶄釜鎬у寲閽涘熀鍙板強姘у寲閿嗗熀鍙扮殑CAD璁捐宸ヨ壓娴佺▼銆�</p>
                     <h3 class="thirdTitle">涓�銆佷釜鎬у寲閽涘熀鍙拌璁�</h3>
-                    <p class="content">
-                        閽涘熀鍙版槸鐢遍挍鍚堥噾锛堝張绉颁簲绾ч挍鎴朤i-6Al-4V锛夊埗浣滆�屾垚鐨勩�傞挍鍚堥噾鍖呮嫭6%閾濄��4%閽掋��0.25%锛堟渶澶у�硷級閾併��0.2%锛堟渶澶у�硷級姘э紝鍏朵綑鎴愬垎鍧囦负閽涖�俆i-6Al-4V鍚堥噾寮哄害鏄庢樉浼樹簬宸ヤ笟绾挍锛岃兘鎻愪緵鏇撮珮鐨勬姉鎷夊己搴﹀拰鎶楁柇瑁傛�ц兘锛屽洜姝ょ妞嶄慨澶嶏紝灏ゅ叾鏄悗鐗欑妞嶄慨澶嶉�氬父閲囩敤閽涘熀鍙般��
-                    </p>
-                    <p class="content">閽涘熀鍙扮殑缁撴瀯缁勬垚鍙垎涓虹妞嶄綋杩炴帴閮ㄥ垎銆佸熀鍙扮┛榫堥儴鍒嗗拰鍩哄彴淇杩炴帴閮ㄥ垎锛堝浘4-1-1锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0098-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-1銆�閽涘熀鍙扮殑缁撴瀯缁勬垚</p>
+                    <div class="txtSurroundRight">
+                        <div class="qrbodyPic">
+                            <img class="openImgBox" src="../../assets/images/0098-01.jpg" style="width:250px"
+                                alt="鍥�4-1-1銆�閽涘熀鍙扮殑缁撴瀯缁勬垚" active="true" />
+                            <p class="imgdescript-b">鍥�4-1-1銆�閽涘熀鍙扮殑缁撴瀯缁勬垚</p>
+                        </div>
+                        <p class="content">
+                            閽涘熀鍙版槸鐢遍挍鍚堥噾锛堝張绉颁簲绾ч挍鎴朤i-6Al-4V锛夊埗浣滆�屾垚鐨勩�傞挍鍚堥噾鍖呮嫭6%閾濄��4%閽掋��0.25%锛堟渶澶у�硷級閾併��0.2%锛堟渶澶у�硷級姘э紝鍏朵綑鎴愬垎鍧囦负閽涖�俆i-6Al-4V鍚堥噾寮哄害鏄庢樉浼樹簬宸ヤ笟绾挍锛岃兘鎻愪緵鏇撮珮鐨勬姉鎷夊己搴﹀拰鎶楁柇瑁傛�ц兘锛屽洜姝ょ妞嶄慨澶嶏紝灏ゅ叾鏄悗鐗欑妞嶄慨澶嶉�氬父閲囩敤閽涘熀鍙般��
+                        </p>
+                        <p class="content">閽涘熀鍙扮殑缁撴瀯缁勬垚鍙垎涓虹妞嶄綋杩炴帴閮ㄥ垎銆佸熀鍙扮┛榫堥儴鍒嗗拰鍩哄彴淇杩炴帴閮ㄥ垎锛堝浘4-1-1锛夈��</p>
+                        <p class="content"><span
+                                class="bold fontGreen">1锛庢壂鎻忔垨瀵煎叆鏁版嵁</span>銆�鎵弿鏂规硶鍙傝�冮」鐩竴浠诲姟浜岀殑鍐呭銆傝幏寰楃墮棰屾ā鍨嬨�佺妞嶄綋鎵弿鏉嗘ā鍨嬪拰浜哄伐鐗欓緢妯″瀷鏁村悎鐨勭妞嶄慨澶嶆暟瀛楁ā鍨嬶紙鍥�4-1-2锛夈��
+                        </p>
                     </div>
                     <p class="content"><span
-                            class="bold">1锛庢壂鎻忔垨瀵煎叆鏁版嵁</span>銆�鎵弿鏂规硶鍙傝�冮」鐩竴浠诲姟浜岀殑鍐呭銆傝幏寰楃墮棰屾ā鍨嬨�佺妞嶄綋鎵弿鏉嗘ā鍨嬪拰浜哄伐鐗欓緢妯″瀷鏁村悎鐨勭妞嶄慨澶嶆暟瀛楁ā鍨嬶紙鍥�4-1-2锛夈��</p>
-                    <p class="content"><span
-                            class="bold">2锛庣妞嶄綋杩炴帴閮ㄥ垎璁捐</span>銆�杩愯Exocad璁捐杞欢鍚庯紝棣栧厛闇�瑕佸湪绉嶆浣撴暟鎹簱涓�夋嫨涓庢壂鎻忔暟鎹浉瀵瑰簲鐨勬壂鎻忔潌鍨嬪彿锛屾暟鎹簱鎵弿鏉嗘ā鍨嬩负榛勮壊鏄剧ず锛屼笅闈㈣繛鎺ラ儴鍒嗘槸鍩哄彴涓庣妞嶄綋杩炴帴閮ㄥ垎鐨勭粨鏋勶紙鍥�4-1-3锛夈�傛壂鎻忔暟鎹殑鎵弿鏉嗕负缁胯壊鏄剧ず銆�
+                            class="bold fontGreen">2锛庣妞嶄綋杩炴帴閮ㄥ垎璁捐</span>銆�杩愯Exocad璁捐杞欢鍚庯紝棣栧厛闇�瑕佸湪绉嶆浣撴暟鎹簱涓�夋嫨涓庢壂鎻忔暟鎹浉瀵瑰簲鐨勬壂鎻忔潌鍨嬪彿锛屾暟鎹簱鎵弿鏉嗘ā鍨嬩负榛勮壊鏄剧ず锛屼笅闈㈣繛鎺ラ儴鍒嗘槸鍩哄彴涓庣妞嶄綋杩炴帴閮ㄥ垎鐨勭粨鏋勶紙鍥�4-1-3锛夈�傛壂鎻忔暟鎹殑鎵弿鏉嗕负缁胯壊鏄剧ず銆�
                     </p>
                     <p class="content">
                         鎸夎蒋浠舵彁绀猴紝鍦ㄦ壂鎻忔ā鍨嬬殑鎵弿鏉嗭紙缁胯壊锛変笂閫夋嫨鐗瑰緛闈笂鐨勪竴鐐癸紝杞欢鑷姩灏嗘暟鎹簱鎵弿鏉嗭紙榛勮壊锛変笌鍏堕厤鍑嗭紝浠庤�岃幏寰楃妞嶄綋鐨勫噯纭綅缃紝骞跺悓鏃跺緱鍒板熀鍙颁笌绉嶆浣撹繛鎺ラ儴鍒嗙殑缁撴瀯浣嶇疆銆�</p>
 
                 </div>
+
+
+
                 <div class="page-bottom-left">082</div>
             </div>
         </div>
-
         <!-- Page 89 (濂囨暟椤�) -->
         <div class="page-box" page="89">
             <div v-if="showPageList.indexOf(89) > -1">
@@ -84,8 +126,9 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0099-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0099-01.jpg" style="width:75%" alt="鍥�4-1-2銆�妯″瀷瀵煎叆鍜岄�夋嫨"
+                            active="true" />
                         <p class="imgdescript-b">鍥�4-1-2銆�妯″瀷瀵煎叆鍜岄�夋嫨</p>
                         <p class="imgdescript-l">A锛庡鍏ユā鍨嬶紱B锛庨�夋嫨宸ヤ綔妯″瀷銆�</p>
                     </div>
@@ -93,7 +136,6 @@
                 <div class="page-bottom-right">083</div>
             </div>
         </div>
-
         <!-- Page 90 (鍋舵暟椤�) -->
         <div class="page-box" page="90">
             <div v-if="showPageList.indexOf(90) > -1">
@@ -103,12 +145,13 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0100-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0100-01.jpg" style="width:80%" alt="鍥�4-1-3銆�鏁版嵁搴撲腑閫夋嫨鎵弿鏉�"
+                            active="true" />
                         <p class="imgdescript-b">鍥�4-1-3銆�鏁版嵁搴撲腑閫夋嫨鎵弿鏉�</p>
                         <p class="imgdescript-l">A锛庨�夋嫨妯″瀷锛汢锛庨�夋嫨鎵弿鏉嗐��</p>
                     </div>
-                    <p class="content"><span class="bold">3锛庡熀鍙扮┛榫堥儴鍒嗚璁★紙鍥�4-1-4锛�</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">3锛庡熀鍙扮┛榫堥儴鍒嗚璁★紙鍥�4-1-4锛�</span></p>
                     <p class="content">锛�1锛夊湪浜哄伐鐗欓緢妯″瀷涓婂嬀鐢荤墮榫堣鍙h疆寤撱��</p>
                     <p class="content">锛�2锛夎皟鐢ㄧ墮鍐犳暟鎹簱瀵圭己澶辩墮浣嶈繘琛岄鏈熶慨澶嶄綋鐨勮璁★紝璁捐鏂规硶鍙弬鑰冨叏鍐犺璁°�傞鏈熶慨澶嶇殑鏁堟灉鍙互甯姪鍚庣画纭畾鍩哄彴鐨勫�炬枩瑙掑害锛屽垽鏂摲棰勭暀绌洪棿銆�</p>
                     <p class="content">锛�3锛夎璁″熀鍙扮殑杈圭紭浣嶇疆鍜岀┛榫堣疆寤擄紝閫氳繃鏄剧ず鐨勯鑹叉搴﹀彲浠ュ垽鏂┛榫堥儴鍒嗕笌鐗欓緢鎺ヨЕ鐨勭揣瀵嗙▼搴︼紝榛勮壊琛ㄧず绱у瘑鎺ヨЕ锛岃摑鑹茶〃绀烘湁闂撮殭绌洪棿銆�</p>
@@ -127,13 +170,13 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content">锛�4锛夊皢棰勬湡淇浣撶墮鍐犱笌绌块緢閮ㄥ垎杩炴帴鍦ㄤ竴璧凤紙榫堢紭澶勮嚜鍔ㄧ紳鍚堬級锛屼娇鐢ㄥ姞鍑忓褰㈠伐鍏峰鐗欏啝澶栧舰鍋氳繘涓�姝ヤ慨鏁淬��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0101-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0101-01.jpg" style="width:75%" alt="鍥�4-1-4銆�鍩哄彴绌块緢閮ㄥ垎璁捐"
+                            active="true" />
                         <p class="imgdescript-b">鍥�4-1-4銆�鍩哄彴绌块緢閮ㄥ垎璁捐</p>
-                        <p class="imgdescript-l">A锛�<img class="s-pic" src="../../assets/images/0026_02.png"
-                                alt="" />闈㈣锛汢锛庨鑸岄潰瑙傘��</p>
+                        <p class="imgdescript-l">A锛庰瑢楅潰瑙傦紱B锛庨鑸岄潰瑙傘��</p>
                     </div>
-                    <p class="content"><span class="bold">4锛庡熀鍙颁慨澶嶈繛鎺ラ儴鍒嗚璁�</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">4锛庡熀鍙颁慨澶嶈繛鎺ラ儴鍒嗚璁�</span></p>
                     <p class="content">锛�1锛夎瀵熷垎鏋愯璁″ソ鐨勯鏈熶慨澶嶄綋褰㈡�侊紝鍒嗘瀽鏂逛究鏈�缁堜慨澶嶄綋灏变綅鐨勬柟鍚戯紝浠庤�岃瀹氫负鍩哄彴鐨勫氨浣嶆柟鍚戯紙鍥�4-1-5锛夈��</p>
 
 
@@ -151,8 +194,9 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0102-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0102-01.jpg" style="width:75%" alt="鍥�4-1-5銆�纭畾灏变綅閬撴柟鍚�"
+                            active="true" />
                         <p class="imgdescript-b">鍥�4-1-5銆�纭畾灏变綅閬撴柟鍚�</p>
                         <p class="imgdescript-l">A锛庤皟鏁村氨浣嶆柟鍚戯紱B锛庨厤鍑嗗棰屾ā鍨嬨��</p>
                     </div>
@@ -177,21 +221,22 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0103-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-6銆�base+姘у寲閿嗗熀鍙�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0103-01.jpg" style="width:50%" alt="鍥�4-1-6銆�base+姘у寲閿嗗熀鍙�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-1-6銆�base+姘у寲閿嗗熀鍙�</p>
                     </div>
                     <p class="content"><span
-                            class="bold">1锛庢壂鎻忔垨瀵煎叆鏁版嵁</span>銆�鑾峰緱鐗欓妯″瀷銆佺妞嶄綋鎵弿鏉嗘ā鍨嬪拰浜哄伐鐗欓緢妯″瀷鏁村悎鐨勭妞嶄慨澶嶆暟瀛楁ā鍨嬨�傝鍗曠晫闈㈠鍥�4-1-7鎵�绀恒��</p>
+                            class="bold fontGreen">1锛庢壂鎻忔垨瀵煎叆鏁版嵁</span>銆�鑾峰緱鐗欓妯″瀷銆佺妞嶄綋鎵弿鏉嗘ā鍨嬪拰浜哄伐鐗欓緢妯″瀷鏁村悎鐨勭妞嶄慨澶嶆暟瀛楁ā鍨嬨�傝鍗曠晫闈㈠鍥�4-1-7鎵�绀恒��</p>
                     <p class="content"><span
-                            class="bold">2锛庨�夋嫨瀵逛綅绉嶆閽沚ase鎵弿鏉�</span>銆�杩愯Exocad璁捐杞欢鍚庯紝棣栧厛闇�瑕佸湪绉嶆鏁版嵁搴撲腑閫夋嫨鐩稿簲閽沚ase鎵弿鏉嗭紝灏嗗叾涓庢ā鍨嬫壂鎻忔潌杩涜閰嶅噯锛岃幏寰楃妞嶉挍base鐨勫氨浣嶄俊鎭紝骞惰嚜鍔ㄨ幏寰椾笌閽沚ase鐩稿尮閰嶇殑鍩哄彴鍐呴儴灏哄锛堝浘4-1-8锛夈��
+                            class="bold fontGreen">2锛庨�夋嫨瀵逛綅绉嶆閽沚ase鎵弿鏉�</span>銆�杩愯Exocad璁捐杞欢鍚庯紝棣栧厛闇�瑕佸湪绉嶆鏁版嵁搴撲腑閫夋嫨鐩稿簲閽沚ase鎵弿鏉嗭紝灏嗗叾涓庢ā鍨嬫壂鎻忔潌杩涜閰嶅噯锛岃幏寰楃妞嶉挍base鐨勫氨浣嶄俊鎭紝骞惰嚜鍔ㄨ幏寰椾笌閽沚ase鐩稿尮閰嶇殑鍩哄彴鍐呴儴灏哄锛堝浘4-1-8锛夈��
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庡熀鍙扮┛榫堥儴鍒嗚璁�</span>銆�涓庨挍鍩哄彴绌块緢閮ㄥ垎璁捐鍩烘湰鐩稿悓銆傜粡杩囨彁鍙栫墮榫堣鍙h疆寤撱�佽璁¢鏈熶慨澶嶄綋銆佽璁″熀鍙拌竟缂樹綅缃拰绌块緢杞粨绛夋楠わ紙鍥�4-1-9銆佸浘4-1-10锛夛紝瀹屾垚閽沚ase+姘у寲閿嗗熀鍙扮┛榫堥儴鍒嗙殑褰㈡�佽璁★紙鍥�4-1-11锛夈��
+                            class="bold fontGreen">3锛庡熀鍙扮┛榫堥儴鍒嗚璁�</span>銆�涓庨挍鍩哄彴绌块緢閮ㄥ垎璁捐鍩烘湰鐩稿悓銆傜粡杩囨彁鍙栫墮榫堣鍙h疆寤撱�佽璁¢鏈熶慨澶嶄綋銆佽璁″熀鍙拌竟缂樹綅缃拰绌块緢杞粨绛夋楠わ紙鍥�4-1-9銆佸浘4-1-10锛夛紝瀹屾垚閽沚ase+姘у寲閿嗗熀鍙扮┛榫堥儴鍒嗙殑褰㈡�佽璁★紙鍥�4-1-11锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0103-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-7銆�姘у寲閿嗚鍗曠晫闈�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0103-02.jpg" style="width:75%" alt="" active="true" />
+                        <p class="imgdescript-b">鍥�4-1-7銆�姘у寲閿嗚鍗曠晫闈�</p>
                     </div>
 
                 </div>
@@ -208,14 +253,16 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0104-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0104-01.jpg" style="width:75%" alt="鍥�4-1-8銆�鏁版嵁涓婁紶鍜岄�夋嫨鎵弿鏉�"
+                            active="true" />
                         <p class="imgdescript-l-b">鍥�4-1-8銆�鏁版嵁涓婁紶鍜岄�夋嫨鎵弿鏉�</p>
                         <p class="imgdescript-l">A锛庝笂浼犳暟鎹紱B锛庨�夋嫨鎵弿鏉嗐��</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0104-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-9銆�鑾峰彇棰堢紭褰㈡�佷綅缃�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0104-02.jpg" style="width:75%" alt="鍥�4-1-9銆�鑾峰彇棰堢紭褰㈡�佷綅缃�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-1-9銆�鑾峰彇棰堢紭褰㈡�佷綅缃�</p>
                     </div>
 
                 </div>
@@ -231,20 +278,23 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0105-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-10銆�鑾峰彇閽沚ase鐨勪綅缃�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0105-01.jpg" style="width:75%" alt="鍥�4-1-10銆�鑾峰彇閽沚ase鐨勪綅缃�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-1-10銆�鑾峰彇閽沚ase鐨勪綅缃�</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0105-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-11銆�绌块緢閮ㄥ垎璁捐</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0105-02.jpg" style="width:75%" alt="鍥�4-1-11銆�绌块緢閮ㄥ垎璁捐"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-1-11銆�绌块緢閮ㄥ垎璁捐</p>
                     </div>
                     <p class="content"><span
-                            class="bold">4锛庡熀鍙颁慨澶嶈繛鎺ラ儴鍒嗚璁�</span>銆�鍙傝�冮挍鍩哄彴淇杩炴帴閮ㄥ垎璁捐銆傝璁″唴瀹瑰寘鎷鏈熶慨澶嶄綋灏变綅鏂瑰悜纭畾銆佸熀鍙伴珮搴﹀拰杞撮潰褰㈡�佽璁°�佸鍩哄彴澶栧舰杩涜鏈�缁堢殑淇暣绛夈�傝皟鏁寸墮鍐犳柟鍚戝鍥�4-1-12鎵�绀猴紝纭畾灏变綅鏂瑰悜濡傚浘4-1-13鎵�绀恒�傚悗鏈熺粡鏁版帶鍒囧墛璁惧鍔犲伐瀹屾垚銆�
+                            class="bold fontGreen">4锛庡熀鍙颁慨澶嶈繛鎺ラ儴鍒嗚璁�</span>銆�鍙傝�冮挍鍩哄彴淇杩炴帴閮ㄥ垎璁捐銆傝璁″唴瀹瑰寘鎷鏈熶慨澶嶄綋灏变綅鏂瑰悜纭畾銆佸熀鍙伴珮搴﹀拰杞撮潰褰㈡�佽璁°�佸鍩哄彴澶栧舰杩涜鏈�缁堢殑淇暣绛夈�傝皟鏁寸墮鍐犳柟鍚戝鍥�4-1-12鎵�绀猴紝纭畾灏变綅鏂瑰悜濡傚浘4-1-13鎵�绀恒�傚悗鏈熺粡鏁版帶鍒囧墛璁惧鍔犲伐瀹屾垚銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0105-03.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-12銆�璋冩暣鐗欏啝鏂瑰悜</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0105-03.jpg" style="width:75%" alt="鍥�4-1-12銆�璋冩暣鐗欏啝鏂瑰悜"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-1-12銆�璋冩暣鐗欏啝鏂瑰悜</p>
                     </div>
 
                 </div>
@@ -261,25 +311,25 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0106-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-1-13銆�纭畾灏变綅鏂瑰悜</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0106-01.jpg" style="width:75%" alt="鍥�4-1-13銆�纭畾灏变綅鏂瑰悜"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-1-13銆�纭畾灏变綅鏂瑰悜</p>
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绉嶆浣撲笌鍩哄彴鐨勮繛鎺ユ柟寮�</span></p>
-                    <p class="quotation">绉嶆浣撲笌鍩哄彴閫氳繃涓�瀹氱粨鏋勮繛鎺ワ紝鍏惰繛鎺ユ柟寮忓彂鎸ヤ紶閫掑垎鏁�<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />鍔涖�佹姉鏃嬭浆绛夊姛鑳姐�傜粡杩囧骞村彂灞曪紝杩炴帴鏂瑰紡浠庢渶鍒濈殑澶栬繛鎺ユ柟寮忓彂灞曞埌鐩墠甯哥敤鐨勫唴杩炴帴鏂瑰紡锛屽湪绠�鍗曞钩闈㈠鎺ワ紙simple butt
-                        joint锛夌殑鍩虹涓婂彂灞曞嚭婊戦厤瀵规帴锛坰lip-fit锛夊拰鎽╂摝瀵规帴锛坒riction-fit锛夛紝鍖呮嫭鍐呭叚瑙掕繛鎺ワ紙hexagonal锛夈�佸唴鍏杩炴帴锛坥ctagonal锛夈�佸叚妫辨煴杩炴帴锛坈ylinder
-                        hex锛夈�佽姳閿繛鎺ワ紙spline锛夈�佷笁閫氶亾杩炴帴锛坱ri-channel锛夌瓑杩炴帴鏂瑰紡銆傝嫢閲戝睘鍩哄彴鑲╁彴楂樺害涓庝复搴婄墮榫堣竟缂橀珮搴︿笉鍖归厤锛屽垯鏄撳嚭鐜伴噾灞炶壊鏄鹃湶鐨勯棶棰樸�傚嚭浜庣編瑙傝姹傦紝闄ら挍銆佷笉閿堥挗绛夐噾灞炴潗鏂欏锛屼复搴婁篃寮�濮嬪簲鐢ㄤ互姘у寲閿嗕负浠h〃鐨勭摲鍩哄彴锛屼互鍙婅仛閱氶啔閰埗浣滅殑涓存椂鍩哄彴銆傚凡鏈夌爺绌舵樉绀猴紝绉嶆浣�-鍩哄彴鐨勮繛鎺ユ柟寮忋�佸熀鍙版潗鏂欍�佸熀鍙拌灪涓濈殑鏃嬪叆鎵煩绛夊洜绱犲潎鍙奖鍝嶇妞嶄綋-鍩哄彴寰棿闅欑殑澶у皬銆佺粏鑿屽畾妞嶅強浣胯灪涓濇澗鍔紝杩涜�屽奖鍝嶇妞嶄慨澶嶆晥鏋溿��
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">绉嶆浣撲笌鍩哄彴鐨勮繛鎺ユ柟寮�</span></p>
+                        <p class="quotation">
+                            绉嶆浣撲笌鍩哄彴閫氳繃涓�瀹氱粨鏋勮繛鎺ワ紝鍏惰繛鎺ユ柟寮忓彂鎸ヤ紶閫掑垎鏁p瑢楀姏銆佹姉鏃嬭浆绛夊姛鑳姐�傜粡杩囧骞村彂灞曪紝杩炴帴鏂瑰紡浠庢渶鍒濈殑澶栬繛鎺ユ柟寮忓彂灞曞埌鐩墠甯哥敤鐨勫唴杩炴帴鏂瑰紡锛屽湪绠�鍗曞钩闈㈠鎺ワ紙simple butt
+                            joint锛夌殑鍩虹涓婂彂灞曞嚭婊戦厤瀵规帴锛坰lip-fit锛夊拰鎽╂摝瀵规帴锛坒riction-fit锛夛紝鍖呮嫭鍐呭叚瑙掕繛鎺ワ紙hexagonal锛夈�佸唴鍏杩炴帴锛坥ctagonal锛夈�佸叚妫辨煴杩炴帴锛坈ylinder
+                            hex锛夈�佽姳閿繛鎺ワ紙spline锛夈�佷笁閫氶亾杩炴帴锛坱ri-channel锛夌瓑杩炴帴鏂瑰紡銆傝嫢閲戝睘鍩哄彴鑲╁彴楂樺害涓庝复搴婄墮榫堣竟缂橀珮搴︿笉鍖归厤锛屽垯鏄撳嚭鐜伴噾灞炶壊鏄鹃湶鐨勯棶棰樸�傚嚭浜庣編瑙傝姹傦紝闄ら挍銆佷笉閿堥挗绛夐噾灞炴潗鏂欏锛屼复搴婁篃寮�濮嬪簲鐢ㄤ互姘у寲閿嗕负浠h〃鐨勭摲鍩哄彴锛屼互鍙婅仛閱氶啔閰埗浣滅殑涓存椂鍩哄彴銆傚凡鏈夌爺绌舵樉绀猴紝绉嶆浣�-鍩哄彴鐨勮繛鎺ユ柟寮忋�佸熀鍙版潗鏂欍�佸熀鍙拌灪涓濈殑鏃嬪叆鎵煩绛夊洜绱犲潎鍙奖鍝嶇妞嶄綋-鍩哄彴寰棿闅欑殑澶у皬銆佺粏鑿屽畾妞嶅強浣胯灪涓濇澗鍔紝杩涜�屽奖鍝嶇妞嶄慨澶嶆晥鏋溿��
+                        </p>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鏁板瓧鍖栫妞嶄釜鎬у熀鍙拌璁′换鍔¤瘎浠锋爣鍑嗚琛�4-1-1銆�</p>
-                    <p class="imgtitle">琛�4-1-1銆�鏁板瓧鍖栫妞嶄釜鎬у熀鍙拌璁′换鍔¤瘎浠锋爣鍑�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0106-03.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-
+                    <p class="imgtitle bold">琛�4-1-1銆�鏁板瓧鍖栫妞嶄釜鎬у熀鍙拌璁′换鍔¤瘎浠锋爣鍑�</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0106-03.jpg"
+                            style="width:100%;margin-top: -10px;" alt="琛�4-1-1銆�鏁板瓧鍖栫妞嶄釜鎬у熀鍙拌璁′换鍔¤瘎浠锋爣鍑�" active="true" /></div>
                 </div>
                 <div class="page-bottom-left">090</div>
             </div>
@@ -294,16 +344,30 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟浜屻��绉嶆鍩哄彴涓婇儴鍐犺璁�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">绉嶆涓�鏈熶慨澶嶅凡瀹屾垚锛屽彛鍐呮壂鎻忔暟鎹凡涓婁紶锛屾牴鎹嵃妯℃暟鎹紝鍦ㄧ妞嶅熀鍙颁笂璁捐鍐狅紝鍐犱慨澶嶄綋瑕佹眰鍋�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />闈㈠紑瀛旇璁°��</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庣妞嶅啝淇鐨勬柟寮忔湁鍝簺锛�</p>
-                    <p class="content">2锛庣妞嶅啝寮�瀛旈儴浣嶆湁鏃犲叿浣撹姹傦紵</p>
-                    <p class="content">3锛庣妞嶅啝涓庤В鍓栧啝鐨勮璁″尯鍒湁鍝簺锛�</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">绉嶆涓�鏈熶慨澶嶅凡瀹屾垚锛屽彛鍐呮壂鎻忔暟鎹凡涓婁紶锛屾牴鎹嵃妯℃暟鎹紝鍦ㄧ妞嶅熀鍙颁笂璁捐鍐狅紝鍐犱慨澶嶄綋瑕佹眰鍋氿瑢楅潰寮�瀛旇璁°��</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庣妞嶅啝淇鐨勬柟寮忔湁鍝簺锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.fore" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庣妞嶅啝寮�瀛旈儴浣嶆湁鏃犲叿浣撹姹傦紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.five" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">3锛庣妞嶅啝涓庤В鍓栧啝鐨勮璁″尯鍒湁鍝簺锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.six" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鍐犻儴褰㈡�佸奖鍝嶇墮榻跨殑鍙戦煶銆佺編瑙傘�佸拃鍤煎姛鑳斤紝绉嶆浣撴鍏ュ悗锛屽熀鍙板畨瑁呭畬鎴愬彲鑾峰緱琚栧彛褰㈡�佷綅缃紝浣跨敤CAD鎶�鏈璁″叏鍐犱慨澶嶄綋姣斾紶缁熶慨澶嶆洿渚挎嵎銆備笅闈㈢畝鍗曚粙缁嶇妞嶅熀鍙颁笂閮ㄥ啝鐨勮璁★紝涓哄悗鏈熺妞嶅啝妗ヨ璁℃墦涓嬪熀纭�锛岃缁嗗弬闃呴」鐩洓浠诲姟涓夈��
                     </p>
@@ -327,10 +391,11 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0108-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0108-01.jpg" style="width:90%" alt="鍥�4-2-1銆�鍩哄彴杩炴帴鏂瑰紡"
+                            active="true" />
                         <p class="imgdescript-b">鍥�4-2-1銆�鍩哄彴杩炴帴鏂瑰紡</p>
-                        <p class="imgdescript">A锛庡杩炴帴锛汢锛庡唴杩炴帴銆�</p>
+                        <p class="imgdescript-l">A锛庡杩炴帴锛汢锛庡唴杩炴帴銆�</p>
                     </div>
                     <p class="content">澶栬繛鎺ョ殑鐗圭偣濡備笅銆�</p>
                     <p class="content">锛�1锛夊熀鍙板嚫璧凤紝浣嗛珮搴﹀彈鍒伴緢鍚堣窛绂荤殑闄愬埗锛屼粠鑰屽墛寮变簡鍏堕槻鏃嬭浆鍔熻兘銆�</p>
@@ -345,21 +410,18 @@
                     <p class="content">
                         Exocad杞欢璁㈠崟璁剧疆濡備笅锛氫笂棰岀妞嶅熀鐗欓�夋嫨铚″瀷鍥炲垏锛岀妞嶇被鍨嬩负铻轰笣鍥轰綅锛涚妞嶆ˉ浣撻�夋嫨铚″瀷缂哄け鐗欙紱涓嬮妯″瀷閫夋嫨瀵归鐗欍�傝鍗曚腑瑜愯壊琛ㄧず绉嶆鍩虹墮锛岀孩鑹茶〃绀鸿湣鍨嬫ˉ浣擄紝绱壊琛ㄧず鏉嗗崱妗ユ銆傞�夋嫨鎵弿浜哄伐鐗欓緢鍜屽棰屾ā鍨嬨��
                     </p>
+                    <bookVideo :videoInfo="getResourceInfo('D6')" :BookId="config.activeBook.bookId"></bookVideo>
                     <h3 class="thirdTitle">涓�銆佹壂鎻忔垨瀵煎叆鏁版嵁</h3>
-                    <div class="bodyPic"><img src="../../assets/images/0108-02.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="content">鎵弿鏃惰鐗瑰埆娉ㄦ剰浠ヤ笅涓ょ偣锛屼互纭繚鎵弿鐨勫噯纭�с��</p>
+                    <p class="content titleLeftmove">鎵弿鏃惰鐗瑰埆娉ㄦ剰浠ヤ笅涓ょ偣锛屼互纭繚鎵弿鐨勫噯纭�с��</p>
                     <p class="content">锛�1锛夊浐瀹氱妞嶆ā鍨嬶紝淇濊瘉鎵弿鏃剁ǔ瀹氥��</p>
                     <p class="content">锛�2锛夋壂鎻忕妞嶄綋鎵弿鏉嗘椂锛屽敖閲忔妸鎵�鏈夌妞嶄綋鍚屾椂瀹夎涓婃壂鎻忔潌锛屼竴娆″畬鎴愭壂鎻忋��</p>
                     <h3 class="thirdTitle">浜屻�佺妞嶄綋杩炴帴閮ㄥ垎璁捐</h3>
                     <p class="content">
                         杩愯Exocad璁捐杞欢鍚庯紝棣栧厛闇�瑕佸湪绉嶆鏁版嵁搴撲腑閫夋嫨鐩稿簲绉嶆绯荤粺鐨勬壂鎻忔潌鏁版嵁锛屼笌閽涘熀鍙拌璁$浉鍚岋紝閫愪竴涓庢ā鍨嬫壂鎻忔潌閰嶅噯锛屼粠鑰岃嚜鍔ㄨ幏寰楃妞嶄綋鐨勭浉搴斾綅缃紝骞剁敓鎴愮妞嶄綋杩炴帴閮ㄥ垎鐨勫舰鎬併��</p>
-
                 </div>
                 <div class="page-bottom-left">092</div>
             </div>
         </div>
-
         <!-- Page 99 (濂囨暟椤�) -->
         <div class="page-box" page="99">
             <div v-if="showPageList.indexOf(99) > -1">
@@ -376,22 +438,19 @@
                     <p class="content">閫夋嫨杞欢鐨勫洖鍒囧姛鑳藉皢绉嶆妗ョ編瀛﹁湣鍨嬬殑瑙e墫褰㈡�佽繘琛屽洖鍒囷紝涓洪グ闈㈢摲棰勭暀鍑鸿冻澶熺殑绌洪棿銆傜劧鍚庣敤杞欢鐨勫姞鍑忓褰㈠伐鍏疯繘琛岀簿缁嗙殑澶栧舰淇暣锛屾渶缁堝畬鎴愯灪涓濆浐浣嶆ˉ鐨勫褰㈣璁°��</p>
                     <h3 class="thirdTitle">鍏�佽灪涓濆瓟璁捐</h3>
                     <p class="content">铻轰笣鐨勫紑瀛旀柟鍚戞槸杞欢鏍规嵁绉嶆浣撲綅缃嚜鍔ㄧ敓鎴愮殑锛屾妧甯堝彲浠ユ牴鎹疄闄呴渶瑕佽瀹氥�佹洿鏀硅灪涓濆瓟鐨勭洿寰勫拰楂樺害浣嶇疆銆傚悗鏈熺粡鏁版帶鍒囧墛璁惧鍔犲伐瀹屾垚銆�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绉嶆淇浣撶殑鍏ㄥ啝鍥轰綅褰㈠紡</span></p>
-                    <p class="quotation">
-                        铻轰笣鍥轰綅鎸囬�氳繃涓�浣撳啝鎴栭摳閫犲熀鍙帮紝灏嗕慨澶嶄綋涓庣妞嶄綋浠ヨ灪涓濆舰寮忚繛鎺ャ�傜矘鎺ュ浐浣嶄慨澶嶄綋閫氬父鍏堝皢鍩哄彴閫氳繃铻轰笣鍥哄畾浜庣妞嶄綋涓婏紝鍔犲姏鍒颁竴瀹氱殑鎵煩锛岀劧鍚庨�氳繃绮樻帴鍓傚皢鍩哄彴涓庡啝鐩歌繛锛屽綋鍓嶇墮鐨勫熀鍙扮┛鍑轰綅缃湪鍞囦晶锛屾垨鍚庣墮鍩哄彴鐨勭┛鍑轰綅缃笉鍦ㄧ墮鍐�<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈡涓椂锛屼复搴婂尰鐢熷父閫夋嫨绮樻帴鍥轰綅銆傜浉姣斾簬铻轰笣鍥轰綅鏉ヨ锛岀矘鎺ュ浐浣嶇殑淇浣撹緝涓虹編瑙傦紝浣嗛毦浠ョ淮鎶ゃ�傛贩鍚堝浐浣嶏紝鍙堢О鏀硅壇鐗堢矘鎺ュ浐浣嶆垨鏀硅壇鐗堣灪涓濆浐浣嶏紝鍗充负浜嗕究浜庡悗鏈熺淮鎶わ紝鍦ㄧ矘鎺ュ浐浣嶇殑鍩虹涓婏紝鍙堝鍔犱簡铻轰笣瀛斻�備复搴婁笂锛屾妧甯堥鍏堝湪浣撳灏嗗啝涓庡熀鍙伴�氳繃绮樻帴鍓傝繛鎺ヨ捣鏉ワ紝鍐嶅湪鍏朵笂閮ㄥ鍔犱竴涓灪涓濆瓟锛屾渶鍚庣敱涓村簥鍖荤敓鍦ㄥ彛鍐呭埄鐢ㄨ灪涓濆皢鍐犲拰鍩哄彴鍥哄畾浜庣妞嶄綋涓娿�傚疄闄呬笂锛屾贩鍚堝浐浣嶅舰寮忚姹傜殑鍜悎绌洪棿涓庣矘鎺ュ浐浣嶇被浼硷紝鍚屾椂涔熷吋鍏疯灪涓濆浐浣嶅拰绮樻帴鍥轰綅鐨勪紭缂虹偣锛屼紭鐐瑰鍦ㄤ綋澶栫矘鎺ュ彲閬垮厤绮樻帴鍓傜殑娈嬬暀銆佷究浜庣淮鎶わ紝缂虹偣濡傞渶瑕佹弧瓒崇矘鎺ヤ慨澶嶇殑绌洪棿銆佷笉缇庤绛夈��
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">绉嶆淇浣撶殑鍏ㄥ啝鍥轰綅褰㈠紡</span></p>
+                        <p class="quotation">
+                            铻轰笣鍥轰綅鎸囬�氳繃涓�浣撳啝鎴栭摳閫犲熀鍙帮紝灏嗕慨澶嶄綋涓庣妞嶄綋浠ヨ灪涓濆舰寮忚繛鎺ャ�傜矘鎺ュ浐浣嶄慨澶嶄綋閫氬父鍏堝皢鍩哄彴閫氳繃铻轰笣鍥哄畾浜庣妞嶄綋涓婏紝鍔犲姏鍒颁竴瀹氱殑鎵煩锛岀劧鍚庨�氳繃绮樻帴鍓傚皢鍩哄彴涓庡啝鐩歌繛锛屽綋鍓嶇墮鐨勫熀鍙扮┛鍑轰綅缃湪鍞囦晶锛屾垨鍚庣墮鍩哄彴鐨勭┛鍑轰綅缃笉鍦ㄧ墮鍐狆瑢楅潰姝d腑鏃讹紝涓村簥鍖荤敓甯搁�夋嫨绮樻帴鍥轰綅銆傜浉姣斾簬铻轰笣鍥轰綅鏉ヨ锛岀矘鎺ュ浐浣嶇殑淇浣撹緝涓虹編瑙傦紝浣嗛毦浠ョ淮鎶ゃ�傛贩鍚堝浐浣嶏紝鍙堢О鏀硅壇鐗堢矘鎺ュ浐浣嶆垨鏀硅壇鐗堣灪涓濆浐浣嶏紝鍗充负浜嗕究浜庡悗鏈熺淮鎶わ紝鍦ㄧ矘鎺ュ浐浣嶇殑鍩虹涓婏紝鍙堝鍔犱簡铻轰笣瀛斻�備复搴婁笂锛屾妧甯堥鍏堝湪浣撳灏嗗啝涓庡熀鍙伴�氳繃绮樻帴鍓傝繛鎺ヨ捣鏉ワ紝鍐嶅湪鍏朵笂閮ㄥ鍔犱竴涓灪涓濆瓟锛屾渶鍚庣敱涓村簥鍖荤敓鍦ㄥ彛鍐呭埄鐢ㄨ灪涓濆皢鍐犲拰鍩哄彴鍥哄畾浜庣妞嶄綋涓娿�傚疄闄呬笂锛屾贩鍚堝浐浣嶅舰寮忚姹傜殑鍜悎绌洪棿涓庣矘鎺ュ浐浣嶇被浼硷紝鍚屾椂涔熷吋鍏疯灪涓濆浐浣嶅拰绮樻帴鍥轰綅鐨勪紭缂虹偣锛屼紭鐐瑰鍦ㄤ綋澶栫矘鎺ュ彲閬垮厤绮樻帴鍓傜殑娈嬬暀銆佷究浜庣淮鎶わ紝缂虹偣濡傞渶瑕佹弧瓒崇矘鎺ヤ慨澶嶇殑绌洪棿銆佷笉缇庤绛夈��
+                        </p>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">绉嶆鍩哄彴涓婇儴鍐犵殑璁捐浠诲姟璇勪环鏍囧噯瑙佽〃4-2-1銆�</p>
-
                 </div>
                 <div class="page-bottom-right">093</div>
             </div>
         </div>
-
         <!-- Page 100 (鍋舵暟椤�) -->
         <div class="page-box" page="100">
             <div v-if="showPageList.indexOf(100) > -1">
@@ -401,18 +460,29 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="imgtitle">琛�4-2-1銆�绉嶆鍩哄彴涓婇儴鍐犵殑璁捐浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0110-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�4-2-1銆�绉嶆鍩哄彴涓婇儴鍐犵殑璁捐浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0110-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="" active="true" /></div>
                     <h2 class="secondTitle">浠诲姟涓夈��绉嶆铻轰笣鍥轰綅妗ヨ璁�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鎺ュ埌璁捐璁㈠崟锛屾棤鐗欓鎮h�呭畬鎴愮妞嶄竴鏈熸鍏ユ墜鏈紝鐜拌姹傚仛鍐犳ˉ淇缂哄け鐗欍�佹仮澶嶅彛鑵斿姛鑳姐��</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庡啝妗ヨ璁¢�傚悎鍝竴绫绘偅鑰咃紵</p>
-                    <p class="content">2锛庡啝妗ヨ璁″寘鎷摢鍑犱釜鍏抽敭姝ラ锛�</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鎺ュ埌璁捐璁㈠崟锛屾棤鐗欓鎮h�呭畬鎴愮妞嶄竴鏈熸鍏ユ墜鏈紝鐜拌姹傚仛鍐犳ˉ淇缂哄け鐗欍�佹仮澶嶅彛鑵斿姛鑳姐��</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庡啝妗ヨ璁¢�傚悎鍝竴绫绘偅鑰咃紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.seven" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庡啝妗ヨ璁″寘鎷摢鍑犱釜鍏抽敭姝ラ锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.eight" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         浣跨敤CAD鎶�鏈璁′釜鎬у寲鍩哄彴鍙槸绉嶆璁捐杞欢鍔熻兘鐨勪竴閮ㄥ垎锛屾洿涓昏鐨勫簲鐢ㄥ湪浜庤璁$妞嶈灪涓濆浐浣嶆ˉ銆備紶缁熷�熷姪閾搁�犳妧鏈埗浣滅妞嶈灪涓濆浐浣嶆ˉ锛岀敱浜庤湣鍨嬪彉褰㈤摳閫犵己闄风瓑鍚勭闂闅句互瑙e喅锛屽鑷村埗浣滅簿搴﹂毦浠ユ帶鍒讹紝杈句笉鍒扮妞嶄慨澶嶇簿纭鍔ㄥ氨浣嶇殑涓村簥瑕佹眰锛屽悓鏃朵笉鍙伩鍏嶅嚭鐜伴噾灞炲唴閮ㄧ殑璐ㄩ噺缂洪櫡銆傝�孋AD/CAM鎶�鏈簿纭�佸彲闈犮�佺伒娲荤殑鐗圭偣浣垮緱鍒朵綔绗﹀悎涓村簥闇�姹傜殑绉嶆铻轰笣鍥轰綅妗ュ彉寰楃浉瀵瑰鏄擄紝鏋佸ぇ鍦颁績杩涗簡铻轰笣鍥轰綅鎶�鏈湪涓村簥鐨勫箍娉涘簲鐢ㄣ��
                     </p>
@@ -424,7 +494,6 @@
                 <div class="page-bottom-left">094</div>
             </div>
         </div>
-
         <!-- Page 101 (濂囨暟椤�) -->
         <div class="page-box" page="101">
             <div v-if="showPageList.indexOf(101) > -1">
@@ -433,9 +502,10 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0111-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�4-3-1銆�绉嶆铻轰笣鍥哄畾妗ヨ鍗曡璁�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0111-01.jpg" style="width:70%" alt="鍥�4-3-1銆�绉嶆铻轰笣鍥哄畾妗ヨ鍗曡璁�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-3-1銆�绉嶆铻轰笣鍥哄畾妗ヨ鍗曡璁�</p>
                     </div>
                     <h3 class="thirdTitle">涓�銆佸埗浣滅妞嶇編瀛﹀姛鑳借湣鍨�</h3>
                     <p class="content">CAD璁捐涔嬪墠闇�瑕佸厛鍦ㄧ妞嶇煶鑶忔ā鍨嬩笂鍒朵綔缇庡鍔熻兘铚″瀷銆傚湪绉嶆鍩哄彴涓婂畨瑁呬复鏃跺熀鍙帮紝骞剁敤绾㈣壊鏍戣剛灏嗗熀鍙拌繛鎺ヨ捣鏉ヨ捣鍒板姞寮轰綔鐢紝鐢辨妧甯堟墜宸ュ埗浣滃嚭绉嶆缇庡鍔熻兘铚″瀷銆�</p>
@@ -472,13 +542,13 @@
                     <p class="content">
                         閫夋嫨杞欢鐨勫洖鍒囧姛鑳藉皢绉嶆妗ョ編瀛﹁湣鍨嬬殑瑙e墫褰㈡�佽繘琛屽洖鍒囷紝涓洪グ闈㈢摲棰勭暀鍑鸿冻澶熺殑绌洪棿锛堝浘4-3-2锛夈�傜劧鍚庣敤杞欢鐨勫姞鍑忓褰㈠伐鍏疯繘琛岀簿缁嗙殑澶栧舰淇暣锛屾渶缁堝畬鎴愯灪涓濆浐浣嶆ˉ鐨勫褰㈣璁★紙鍥�4-3-3锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0112-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-3-2銆�鍥炲垏铚″瀷</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0112-01.jpg" style="width:75%" alt="鍥�4-3-2銆�鍥炲垏铚″瀷" active="true" />
+                        <p class="imgdescript-b">鍥�4-3-2銆�鍥炲垏铚″瀷</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0112-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-3-3銆�淇グ瀹屾垚</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0112-02.jpg" style="width:75%" alt="鍥�4-3-3銆�淇グ瀹屾垚" active="true" />
+                        <p class="imgdescript-b">鍥�4-3-3銆�淇グ瀹屾垚</p>
                     </div>
                     <h3 class="thirdTitle">涓冦�佽灪涓濆瓟璁捐</h3>
                     <p class="content">铻轰笣鐨勫紑瀛旀柟鍚戞槸杞欢鏍规嵁绉嶆浣撲綅缃嚜鍔ㄧ敓鎴愮殑锛屾妧甯堝彲浠ユ牴鎹疄闄呴渶瑕佽瀹氥�佹洿鏀硅灪涓濆瓟鐨勭洿寰勫拰楂樺害浣嶇疆銆傚悗鏈熺粡鏁版帶鍒囧墛璁惧鍔犲伐瀹屾垚銆�</p>
@@ -497,20 +567,21 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">璇婃柇铚″瀷鐨勫埗浣�</span></p>
-                    <p class="quotation">
-                        璇婃柇铚″瀷鐨勫埗浣滃浜庝慨澶嶄复搴婂伐浣滄湁鐫�閲嶈鑰岀Н鏋佺殑鎰忎箟銆傞鍏堬紝璇婃柇铚″瀷鍙互甯姪涓村簥鍖荤敓鏇村ソ鍦拌璇嗘不鐤楄璁$殑鍙鎬у拰鍙兘鍑虹幇鐨勯棶棰橈紝鏈夊姪浜庢嫇灞曞拰淇敼娌荤枟璁捐鎬濊矾銆傚挨鍏跺浜庝竴浜涘鏉傜梾渚嬶紝閫氳繃鍒朵綔璇婃柇铚″瀷锛屼复搴婂尰鐢熷彲浠ユ洿濂藉湴鍒嗘瀽鐥呬緥鐗圭偣锛屽苟閫氳繃铚″瀷鎭㈠鎮g墮缇庤涓庡姛鑳芥柟闈㈢殑瑕佹眰锛屼粠涓彂鐜板彲鑳藉嚭鐜扮殑闂锛屼互渚胯繘涓�姝ュ畬鍠勬不鐤楄璁°�傚叾娆★紝璇婃柇铚″瀷鍦ㄧ鐮斿拰鏁欏鏂归潰涔熻暣鍚潃涓板瘜鐨勪环鍊笺�備綔涓烘柊鐨勭鐮斿強鏁欏璧勬枡锛岃瘖鏂湣鍨嬪叿鏈夊舰璞$洿瑙傘�佹槗浜庝繚瀛樺強鏌ラ槄绛変紭鐐癸紝鍏锋湁杈冨ぇ鐨勫彂灞曠┖闂淬�傛渶鍚庯紝璇婃柇铚″瀷鏈夊姪浜庡姞寮哄尰鎮d氦娴侊紝浣挎偅鑰呰兘澶熸洿濂藉湴鐞嗚В娌荤枟璁″垝鍜岄鏈熸晥鏋溿�備娇寰楁偅鑰呭湪鍖荤枟杩囩▼涓綋鐜颁簡涓�瀹氱殑涓诲姩鎬э紝鍦ㄤ竴瀹氱▼搴︿笂鎻愰珮浜嗘偅鑰呯殑婊℃剰搴︺��
-                    </p>
-                    <p class="quotation">
-                        鍒朵綔璇婃柇铚″瀷鎵�闇�鐨勭壒娈婃晥鏋滆湣骞朵笉鏄傝吹锛屽埗浣滆繃绋嬩篃杈冧负绠�鍗曘�佹柟渚匡紝閫氳繃浠樺嚭杈冨皬鐨勬椂闂村拰缁忔祹浠d环鍙互鑾峰緱鍖汇�佹暀銆佺爺绛夊鏂归潰涓板瘜鐨勫簲鐢ㄤ环鍊笺�傚洜姝わ紝璇婃柇铚″瀷鍏锋湁杈冨ぇ鐨勫彂灞曠┖闂村拰搴旂敤鍓嶆櫙锛屽�煎緱鎺ㄥ箍浣跨敤銆�
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">璇婃柇铚″瀷鐨勫埗浣�</span></p>
+                        <p class="quotation">
+                            璇婃柇铚″瀷鐨勫埗浣滃浜庝慨澶嶄复搴婂伐浣滄湁鐫�閲嶈鑰岀Н鏋佺殑鎰忎箟銆傞鍏堬紝璇婃柇铚″瀷鍙互甯姪涓村簥鍖荤敓鏇村ソ鍦拌璇嗘不鐤楄璁$殑鍙鎬у拰鍙兘鍑虹幇鐨勯棶棰橈紝鏈夊姪浜庢嫇灞曞拰淇敼娌荤枟璁捐鎬濊矾銆傚挨鍏跺浜庝竴浜涘鏉傜梾渚嬶紝閫氳繃鍒朵綔璇婃柇铚″瀷锛屼复搴婂尰鐢熷彲浠ユ洿濂藉湴鍒嗘瀽鐥呬緥鐗圭偣锛屽苟閫氳繃铚″瀷鎭㈠鎮g墮缇庤涓庡姛鑳芥柟闈㈢殑瑕佹眰锛屼粠涓彂鐜板彲鑳藉嚭鐜扮殑闂锛屼互渚胯繘涓�姝ュ畬鍠勬不鐤楄璁°�傚叾娆★紝璇婃柇铚″瀷鍦ㄧ鐮斿拰鏁欏鏂归潰涔熻暣鍚潃涓板瘜鐨勪环鍊笺�備綔涓烘柊鐨勭鐮斿強鏁欏璧勬枡锛岃瘖鏂湣鍨嬪叿鏈夊舰璞$洿瑙傘�佹槗浜庝繚瀛樺強鏌ラ槄绛変紭鐐癸紝鍏锋湁杈冨ぇ鐨勫彂灞曠┖闂淬�傛渶鍚庯紝璇婃柇铚″瀷鏈夊姪浜庡姞寮哄尰鎮d氦娴侊紝浣挎偅鑰呰兘澶熸洿濂藉湴鐞嗚В娌荤枟璁″垝鍜岄鏈熸晥鏋溿�備娇寰楁偅鑰呭湪鍖荤枟杩囩▼涓綋鐜颁簡涓�瀹氱殑涓诲姩鎬э紝鍦ㄤ竴瀹氱▼搴︿笂鎻愰珮浜嗘偅鑰呯殑婊℃剰搴︺��
+                        </p>
+                        <p class="quotation">
+                            鍒朵綔璇婃柇铚″瀷鎵�闇�鐨勭壒娈婃晥鏋滆湣骞朵笉鏄傝吹锛屽埗浣滆繃绋嬩篃杈冧负绠�鍗曘�佹柟渚匡紝閫氳繃浠樺嚭杈冨皬鐨勬椂闂村拰缁忔祹浠d环鍙互鑾峰緱鍖汇�佹暀銆佺爺绛夊鏂归潰涓板瘜鐨勫簲鐢ㄤ环鍊笺�傚洜姝わ紝璇婃柇铚″瀷鍏锋湁杈冨ぇ鐨勫彂灞曠┖闂村拰搴旂敤鍓嶆櫙锛屽�煎緱鎺ㄥ箍浣跨敤銆�
+                        </p>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">绉嶆铻轰笣鍥哄畾妗ヨ璁′换鍔¤瘎浠锋爣鍑嗚琛�4-3-1銆�</p>
-                    <p class="imgtitle">琛�4-3-1銆�绉嶆铻轰笣鍥哄畾妗ヨ璁′换鍔¤瘎浠锋爣鍑�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0113-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�4-3-1銆�绉嶆铻轰笣鍥哄畾妗ヨ璁′换鍔¤瘎浠锋爣鍑�</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0113-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="" active="true" /></div>
 
                 </div>
                 <div class="page-bottom-right">097</div>
@@ -527,25 +598,41 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟鍥涖��鏁板瓧鍖栨墜鏈鏉胯璁�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鎺ュ埌璁捐璁㈠崟锛屾偅鑰呯己澶辩墮浣�36锛屽凡瀹屾垚妯″瀷鎵弿鍙婂奖鍍忓妫�鏌ャ�傝鏍规嵁鏁版嵁妯″瀷淇℃伅杩涜36鐨勭妞嶅鏉胯璁°��</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庣妞嶅鏉跨殑绉嶇被閫氬父鏈夊摢浜涳紵绠�鍗曠殑璁捐姝ラ鏄�庢牱鐨勶紵</p>
-                    <p class="content">2锛庨粡鑶滃強娣峰悎鏀寔寮忕妞嶅鏉匡紝涓轰粈涔堣杩涜鍙屾CT鎵弿锛�</p>
-                    <p class="content">3锛庤璁$妞嶅鏉挎槸鍚︿负绉嶆蹇呴渶鐨勭幆鑺傦紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鎺ュ埌璁捐璁㈠崟锛屾偅鑰呯己澶辩墮浣�36锛屽凡瀹屾垚妯″瀷鎵弿鍙婂奖鍍忓妫�鏌ャ�傝鏍规嵁鏁版嵁妯″瀷淇℃伅杩涜36鐨勭妞嶅鏉胯璁°��</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庣妞嶅鏉跨殑绉嶇被閫氬父鏈夊摢浜涳紵绠�鍗曠殑璁捐姝ラ鏄�庢牱鐨勶紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.nine" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庨粡鑶滃強娣峰悎鏀寔寮忕妞嶅鏉匡紝涓轰粈涔堣杩涜鍙屾CT鎵弿锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.ten" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">3锛庤璁$妞嶅鏉挎槸鍚︿负绉嶆蹇呴渶鐨勭幆鑺傦紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.eleven" placeholder="璇疯緭鍏ュ唴瀹�"
+                                    rows="5" @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         绮惧噯銆佸井鍒涚妞嶆槸鍙h厰绉嶆澶栫鐨勫彂灞曟柟鍚戯紝浠ヤ慨澶嶄负瀵煎悜鐨勭妞嶇悊蹇靛凡琚箍娉涘簲鐢ㄤ簬鍙h厰涓村簥銆傜患鍚堝簲鐢ㄨ绠楁満浣撳眰鎵弿鎶�鏈�佸彛鍐呬笁缁存壂鎻忔妧鏈拰妯″瀷涓夌淮鎵弿鎶�鏈紝鍙湪鏁板瓧鍖栫妞嶈璁¤蒋浠朵腑瀹屾垚浠ヤ慨澶嶄负瀵煎悜鐨勭妞嶄綋妞嶅叆鏂规璁捐锛屽苟鍙皢璁捐鏂规杞崲鎴愭寚瀵间复搴婃墜鏈搷浣滅殑绉嶆瀵兼澘锛屽啀閫氳繃涓夌淮鎵撳嵃鎶�鏈埗浣滃鏉匡紝瀹炵幇鏁板瓧鍖栨妧鏈緟鍔╀笅鐨勭妞嶆墜鏈搷浣溿�傚叾涓紝璧峰埌鑷冲叧閲嶈浣滅敤鐨勭妞嶅鏉挎槸涓�绉嶄釜鎬у寲鍙h厰杈呭姪娌荤枟瑁呯疆锛屽畠鍙互鎸夌収鏈墠铏氭嫙璁捐鐨勭妞嶄綋妞嶅叆浣嶇疆绮惧噯鍦板皢绉嶆浣撹浆绉诲埌鎮h�呭彛鍐呫�備笅闈㈠皢鍒嗘璁茶В鍚勭被绉嶆瀵兼澘鐨勮璁℃柟娉曘��
                     </p>
                     <p class="content">
                         绉嶆瀵兼澘鍦ㄧ粨鏋勪笂涓�鑸叿澶囦互涓嬬壒寰侊細鈶犵粍缁囬潰涓庢偅鑰呭彛鑵旇В鍓栫粨鏋勭浉鍚诲悎锛涒憽鍏锋湁鎸囧閽婚拡瀹為檯閽诲瓟鏂瑰悜鍜屾繁搴︾殑瀵煎悜瀛旓紙鍙疆鍏ラ噾灞炲鐜級锛涒憿鍙叿鏈夊喎鍗寸獥鍙c�佸浐浣嶉拤瀛旀柟鍚戞Ы绛夌粨鏋勩�傜妞嶅鏉跨粨鏋勫鍥�4-4-1鎵�绀恒��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0114-01.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0114-01.jpg" style="width:80%" alt="鍥�4-4-1銆�绉嶆瀵兼澘缁撴瀯"
+                            active="true" />
                         <p class="imgdescript-b">鍥�4-4-1銆�绉嶆瀵兼澘缁撴瀯</p>
-                        <p class="imgdescript">A锛庣粍缁囬潰瑙傦紱B锛庡挰鍚堥潰瑙傘��</p>
+                        <p class="imgdescript-l">A锛庣粍缁囬潰瑙傦紱B锛庡挰鍚堥潰瑙傘��</p>
                     </div>
                     <p class="content">绉嶆瀵兼澘闇�瑕佸�熷姪鏁板瓧鍖栫妞嶈蒋浠惰繘琛岃璁★紝鍐嶉�氳繃涓夌淮鎵撳嵃鎶�鏈埗浣溿�傛湰浠诲姟灏嗕互GuideMia杞欢涓轰緥锛岀畝瑕佷粙缁嶇妞嶅鏉跨殑鏁板瓧鍖栬璁″伐鑹烘祦绋嬨��</p>
 
@@ -565,24 +652,24 @@
                     <p class="content">瀵逛簬鐗欓娇缂哄け鏁扮洰涓嶅銆佷綑鐣欏熀鐗欑ǔ鍥轰笖鑳藉缁存寔绋冲畾鍜悎鍏崇郴鐨勬儏鍐碉紝鍙�夋嫨浣跨敤鐗欐敮鎸佸紡绉嶆瀵兼澘銆侀粡鑶滃強娣峰悎鏀寔寮忕妞嶅鏉裤��</p>
                     <h3 class="thirdTitle">涓�銆佺墮鏀寔寮忕妞嶅鏉�</h3>
                     <p class="content">鐗欐敮鎸佸紡绉嶆瀵兼澘鐨勮璁″伐鑹烘祦绋嬪涓嬨��</p>
-                    <p class="content"><span class="bold">1锛庢壂鎻忓苟瀵煎叆鏁版嵁</span></p>
+                    <p class="content"><span class="bold fontGreen">1锛庢壂鎻忓苟瀵煎叆鏁版嵁</span></p>
                     <p class="content">
-                        锛�1锛夋媿鎽勫彛鑵擟BCT鏁版嵁锛欳BCT閲嶅缓瀹圭Н澶у皬涓虹洿寰�16cm銆侀珮13cm锛屼綋绱犲垎杈ㄧ巼0.25mm锛岃幏鍙栨椂闂�147绉掋�傛媿鎽勬椂鍙鎮h�呭弻渚у墠纾ㄧ墮鍖哄煙鍜悎娑堟瘨妫夌悆锛屼娇鍏跺浜庡紑<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鐘舵�侊紝浠ヤ究鍚庢湡澶勭悊鏁版嵁鏃跺彲鍒嗙涓娿�佷笅棰岀墮鍒椼�傝緭鍑洪珮绮惧害鐨凞ICOM鏍煎紡褰卞儚鏂眰鏂囦欢锛堜竴鑸负涓�缁勬寜鐓у懡鍚嶆湁搴忔帓鍒椼�佹墿灞曞悕涓篋CM鐨勬枃浠讹級銆�</p>
+                        锛�1锛夋媿鎽勫彛鑵擟BCT鏁版嵁锛欳BCT閲嶅缓瀹圭Н澶у皬涓虹洿寰�16cm銆侀珮13cm锛屼綋绱犲垎杈ㄧ巼0.25mm锛岃幏鍙栨椂闂�147绉掋�傛媿鎽勬椂鍙鎮h�呭弻渚у墠纾ㄧ墮鍖哄煙鍜悎娑堟瘨妫夌悆锛屼娇鍏跺浜庡紑瓞寳鐘舵�侊紝浠ヤ究鍚庢湡澶勭悊鏁版嵁鏃跺彲鍒嗙涓娿�佷笅棰岀墮鍒椼�傝緭鍑洪珮绮惧害鐨凞ICOM鏍煎紡褰卞儚鏂眰鏂囦欢锛堜竴鑸负涓�缁勬寜鐓у懡鍚嶆湁搴忔帓鍒椼�佹墿灞曞悕涓篋CM鐨勬枃浠讹級銆�
+                    </p>
                     <p class="content">
                         锛�2锛夋壂鎻忓棰屾ā鍨嬫暟鎹細鎸夊伐浣滄ā鍨嬬殑鏍囧噯鍒跺彇绮剧‘鐨勪笂銆佷笅棰岀煶鑶忔ā鍨嬶紝鎵弿宸ヤ綔妯″瀷骞惰緭鍑篠TL鏍煎紡鏁板瓧妯″瀷鏂囦欢銆傛姝ラ涔熷彲閲囩敤鍙h厰鎵弿鐨勬柟寮忥紝鍚屾牱闇�瑕佽緭鍑篠TL鏍煎紡鏂囦欢銆�</p>
                     <p class="content">
                         锛�3锛夊鍏ユ暟鎹細灏嗘偅鑰匔BCT鎵弿鏁版嵁鍜岀墮鍒楁壂鎻忔暟鎹鍏ヨ璁¤蒋浠躲�傝蒋浠剁獥鍙e垎涓�5涓鍥惧尯鍩燂細杞村悜瑙嗗浘銆佺煝鐘惰鍥俱�佸啝鐘惰鍥俱��3D閲嶅缓瑙嗗浘鍜屽綋鍓嶅璞¤鍥俱�傜妞嶇晫闈㈠鍥�4-4-2鎵�绀恒��</p>
                     <p class="content"><span
-                            class="bold">2锛庨銆佺墮妯″瀷閰嶅噯</span>銆�璋冩暣CT闃堝�硷紝瀵笴BCT鏁版嵁杩涜闃堝�煎垎鍓叉搷浣滐紝鎻愬彇骞堕噸寤哄嚭绉嶆渚ч楠ㄤ笁缁存ā鍨嬨�傚湪棰岄妯″瀷鐨勪綑鐣欏熀鐗欑墮灏栦笂鍜屽搴斾晶鐗欏垪鎵弿鏁版嵁鐨勫熀鐗欑墮灏栦笂锛岄�夊彇瀵瑰簲鐨勮嫢骞茬偣瀵癸紙鑷冲皯3缁勶級锛屽熀浜庨楠ㄦā鍨嬪拰鎵弿鐗欏垪妯″瀷鍏卞悓鐨勭墮鍒楀舰鎬佹暟鎹繘琛屾暣浣撻厤鍑嗭紝蹇呰鏃跺彲鎻忚涓嬮绁炵粡锛岃繕鍙繘琛岃櫄鎷熻蒋缁勭粐鏄剧ず銆�
+                            class="bold fontGreen">2锛庨銆佺墮妯″瀷閰嶅噯</span>銆�璋冩暣CT闃堝�硷紝瀵笴BCT鏁版嵁杩涜闃堝�煎垎鍓叉搷浣滐紝鎻愬彇骞堕噸寤哄嚭绉嶆渚ч楠ㄤ笁缁存ā鍨嬨�傚湪棰岄妯″瀷鐨勪綑鐣欏熀鐗欑墮灏栦笂鍜屽搴斾晶鐗欏垪鎵弿鏁版嵁鐨勫熀鐗欑墮灏栦笂锛岄�夊彇瀵瑰簲鐨勮嫢骞茬偣瀵癸紙鑷冲皯3缁勶級锛屽熀浜庨楠ㄦā鍨嬪拰鎵弿鐗欏垪妯″瀷鍏卞悓鐨勭墮鍒楀舰鎬佹暟鎹繘琛屾暣浣撻厤鍑嗭紝蹇呰鏃跺彲鎻忚涓嬮绁炵粡锛岃繕鍙繘琛岃櫄鎷熻蒋缁勭粐鏄剧ず銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0115-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-4-2銆�绉嶆鐣岄潰</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0115-02.jpg" style="width:75%" alt="鍥�4-4-2銆�绉嶆鐣岄潰" active="true" />
+                        <p class="imgdescript-b">鍥�4-4-2銆�绉嶆鐣岄潰</p>
                     </div>
                     <p class="content"><span
-                            class="bold">3锛庨鏈熶慨澶嶄綋璁捐</span>銆�鍦ㄧ妞嶅尯铏氭嫙璁捐棰勬湡淇浣撳舰鎬侊紝鐢ㄦ潵鎸囧鍜岃鍒掔妞嶄綋鐨勬鍏ヤ綅缃拰瑙掑害锛岀湡姝e疄鐜颁慨澶嶅紩瀵肩妞嶇殑璁捐鐞嗗康銆�</p>
+                            class="bold fontGreen">3锛庨鏈熶慨澶嶄綋璁捐</span>銆�鍦ㄧ妞嶅尯铏氭嫙璁捐棰勬湡淇浣撳舰鎬侊紝鐢ㄦ潵鎸囧鍜岃鍒掔妞嶄綋鐨勬鍏ヤ綅缃拰瑙掑害锛岀湡姝e疄鐜颁慨澶嶅紩瀵肩妞嶇殑璁捐鐞嗗康銆�
+                    </p>
                     <p class="content">
                         姝ゆ椂鍙埄鐢ㄨ蒋浠剁殑浜岀淮鍜屼笁缁存祴閲忓姛鑳斤紝娴嬮噺鍒嗘瀽绉嶆鍖哄煙鐨勯閲忚蒋纭粍缁囩粨鏋勩�傝皟鐢ㄨ蒋浠剁妞嶄綋鏁版嵁搴撲腑鐨勭妞嶄綋妯″瀷锛岄�夋嫨涓村簥甯屾湜妞嶅叆鐨勭妞嶄綋鍨嬪彿锛堟槑纭搧鐗屽瀷鍙枫�佸昂瀵镐俊鎭級锛屽皢铏氭嫙鐨勭妞嶄綋妯″瀷妞嶅叆鏁板瓧妯″瀷鐨勯楠ㄤ腑銆傝櫄鎷熸鍏ョ殑浣嶇疆娣卞害鍜岃搴﹂渶瑕佺患鍚堝垎鏋愰鏈熶慨澶嶄綋淇℃伅銆侀偦鐗欏叧绯汇�佸熀鍙拌搴︺�佽窛绂荤缁忕鐨勫畨鍏ㄨ窛绂荤瓑鍥犵礌銆傞鏈熶慨澶嶄綋璁捐瑙勫垝妞嶅叆浣撹搴﹀鍥�4-4-3鎵�绀恒��
                     </p>
@@ -601,24 +688,26 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0116-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�4-4-3銆�棰勬湡淇浣撹璁¤鍒掓鍏ヤ綋瑙掑害</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0116-01.jpg" style="width:75%" alt="鍥�4-4-3銆�棰勬湡淇浣撹璁¤鍒掓鍏ヤ綋瑙掑害"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-4-3銆�棰勬湡淇浣撹璁¤鍒掓鍏ヤ綋瑙掑害</p>
                     </div>
                     <p class="content"><span
-                            class="bold">4锛庣妞嶅鏉垮舰鎬佽璁�</span>銆�瀹屾垚绉嶆浣撹櫄鎷熸鍏ユ搷浣滃悗锛屽湪鎵弿鐗欏垪妯″瀷鐨勯偦鐗欏尯鍩熼�夋嫨绉嶆瀵兼澘闇�瑕佽鐩栫殑缁勭粐鑼冨洿锛屾敮鎸佸尯鍩熺殑閫夋嫨涓�鑸鐩�2锝�3棰楅偦鐗欙紝蹇呰鎯呭喌涓嬩负缁存寔瀵兼澘鐨勫浐浣嶅拰绋冲畾锛屾敮鎸佸尯鍩熺殑鑼冨洿闇�瑕佽鐩栬嚦鐗欏紦瀵逛晶銆傞�夊畾鏀寔鍖哄煙鐨勮寖鍥村悗锛岀偣鍑烩�滄洿鏂板鏉垮氨浣嶆柟鍚戔�濇寜閽紝杞欢浼氳嚜鍔ㄥ~鍏呭�掑嚬骞剁敓鎴愮妞嶅鏉挎暟瀛楁ā鍨嬶紝鍙繚瀛樿緭鍑轰负STL鏍煎紡鐨勬暟鎹紝璇ユ暟鎹彲鐢ㄤ簬鍚庣画3D鎵撳嵃鍒堕�犮��
+                            class="bold fontGreen">4锛庣妞嶅鏉垮舰鎬佽璁�</span>銆�瀹屾垚绉嶆浣撹櫄鎷熸鍏ユ搷浣滃悗锛屽湪鎵弿鐗欏垪妯″瀷鐨勯偦鐗欏尯鍩熼�夋嫨绉嶆瀵兼澘闇�瑕佽鐩栫殑缁勭粐鑼冨洿锛屾敮鎸佸尯鍩熺殑閫夋嫨涓�鑸鐩�2锝�3棰楅偦鐗欙紝蹇呰鎯呭喌涓嬩负缁存寔瀵兼澘鐨勫浐浣嶅拰绋冲畾锛屾敮鎸佸尯鍩熺殑鑼冨洿闇�瑕佽鐩栬嚦鐗欏紦瀵逛晶銆傞�夊畾鏀寔鍖哄煙鐨勮寖鍥村悗锛岀偣鍑烩�滄洿鏂板鏉垮氨浣嶆柟鍚戔�濇寜閽紝杞欢浼氳嚜鍔ㄥ~鍏呭�掑嚬骞剁敓鎴愮妞嶅鏉挎暟瀛楁ā鍨嬶紝鍙繚瀛樿緭鍑轰负STL鏍煎紡鐨勬暟鎹紝璇ユ暟鎹彲鐢ㄤ簬鍚庣画3D鎵撳嵃鍒堕�犮��
                     </p>
                     <p class="content">瀵兼澘鍒朵綔瀹屾垚鍚庯紝鍙牴鎹渶瑕佸湪瀵煎悜瀛斿唴鏀剧疆閲戝睘濂楃幆锛屽苟浣跨敤閰嶅鐨勭妞嶅伐鍏峰畬鎴愪复搴婃鍏ユ搷浣滐紙鍥�4-4-4锛夈��</p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0116-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-4-4銆�瀹屾垚涓村簥妞嶅叆鎿嶄綔</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0116-02.jpg" style="width:70%" alt="鍥�4-4-4銆�瀹屾垚涓村簥妞嶅叆鎿嶄綔"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-4-4銆�瀹屾垚涓村簥妞嶅叆鎿嶄綔</p>
                     </div>
                     <h3 class="thirdTitle">浜屻�侀粡鑶滃強娣峰悎鏀寔寮忕妞嶅鏉�</h3>
                     <p class="content">
                         瀵逛簬鐗欏垪缂哄け鎴栧ぇ閮ㄥ垎鐗欓娇缂哄け锛屽叾浣欑暀鍩虹墮鏁扮洰灏戜笖鏃犳硶缁存寔绋冲畾鐨勫挰鍚堝叧绯伙紱鎶戞垨鍙h厰鍐呮湁澶ч噺閲戝睘鐑ょ摲鍐犵殑鎮h�咃紝閮藉簲鍏堝埗浣滄斁灏勫鏉匡紝鍐嶈繘琛屽弻娆T鎵弿锛屽埗浣滈粡鑶滃強娣峰悎鏀寔寮忕妞嶅鏉裤�傚叾璁捐宸ヨ壓娴佺▼濡備笅銆�
                     </p>
                     <p class="content"><span
-                            class="bold">1锛庡埗浣滄斁灏勫鏉�</span>銆�鏀惧皠瀵兼澘鏄寚缁勭粐闈㈣兘澶熷惢鍚堟偅鑰呯墮榻垮拰/鎴栬蒋缁勭粐锛岀(鍏夐潰涓洪鏈熺殑涔夐娇淇褰㈡�佷笖鍏锋湁鏀惧皠鏄惧奖鏍囪鐐圭殑涔夐娇鏍锋ā鏉裤�傚叾鍒朵綔姝ラ濡備笅銆�
+                            class="bold fontGreen">1锛庡埗浣滄斁灏勫鏉�</span>銆�鏀惧皠瀵兼澘鏄寚缁勭粐闈㈣兘澶熷惢鍚堟偅鑰呯墮榻垮拰/鎴栬蒋缁勭粐锛岀(鍏夐潰涓洪鏈熺殑涔夐娇淇褰㈡�佷笖鍏锋湁鏀惧皠鏄惧奖鏍囪鐐圭殑涔夐娇鏍锋ā鏉裤�傚叾鍒朵綔姝ラ濡備笅銆�
                     </p>
 
                 </div>
@@ -646,21 +735,21 @@
                     <p class="content">2锛夋爣璁版暟閲忎负6锝�8涓紝涓�鍗婁綅浜庡攪渚э紝涓�鍗婁綅浜庤垖渚с��</p>
                     <p class="content">3锛夋爣璁板垎甯冧簬涓嶅悓骞抽潰锛岄渶浣嶄簬鐗欓娇銆佺墮榫堝钩闈互涓嬨��</p>
                     <p class="content">锛�3锛夊埗浣滃彛鍐呭挰鍚堣褰曪細鐢ㄩ潪鏄惧奖纭川鍜悎璁板綍鏉愭枡鍒朵綔瑕嗙洊鍏ㄧ墮寮撹寖鍥寸殑鍜悎璁板綍锛屽鏋滃棰屾湁鐗欓娇缂哄け锛屽垯鐢ㄦ潗鏂欏~鍏呫�傚彛鍐呭挰鍚堣褰曠敤浜庡紩瀵肩妞嶅鏉跨簿纭氨浣嶃��</p>
-                    <p class="content"><span class="bold">2锛庡弻娆T鎵弿</span></p>
+                    <p class="content"><span class="bold fontGreen">2锛庡弻娆T鎵弿</span></p>
                     <p class="content">锛�1锛夎鎮h�呰瘯鎴村鏉垮拰鍙e唴鍜悎璁板綍锛屽挰绱ф斁灏勫鏉垮拰鍜悎璁板綍锛屼娇涔嬪噯纭笖鐗㈠浐灏变綅銆傝姹傚乏鍙充晶鍜悎鍔涘潎鍖�锛岀敤榧诲懠鍚镐繚鎸佺ǔ瀹氾紝瀹屾垚涓�娆BCT鎵弿銆�</p>
                     <p class="content">锛�2锛夊崟鐙鏀惧皠瀵兼澘鎷嶆憚CBCT銆�</p>
                     <p class="content">锛�3锛夊湪GuideMia杞欢涓鍏ユ偅鑰呴厤鎴存斁灏勫鏉跨殑CBCT鏁版嵁鍜屽崟鐙壂鎻忕殑鏀惧皠瀵兼澘CBCT鏁版嵁銆�</p>
                     <p class="content"><span
-                            class="bold">3锛庨楠ㄦā鍨嬩笌鏀惧皠瀵兼澘妯″瀷閰嶅噯</span>銆�鍩轰簬CT闃堝�硷紝瀵笴BCT鏁版嵁杩涜闃堝�煎垎鍓插拰閲嶅缓锛屽垎鍒幏寰楁偅鑰呴楠ㄤ笁缁存ā鍨嬪拰鏀惧皠瀵兼澘涓夌淮妯″瀷銆備袱涓ā鍨嬩笂鐨勭墮鑳堕樆灏勭偣娓呮櫚鍙锛屾牴鎹樆灏勭偣鐨勫垎甯冨拰浣嶇疆锛岄�夋嫨瀵瑰簲鐨勭偣瀵瑰叧绯伙紝瀵归楠ㄦā鍨嬪拰鏀惧皠瀵兼澘妯″瀷杩涜閰嶅噯锛堝浘4-4-5锛夈��
+                            class="bold fontGreen">3锛庨楠ㄦā鍨嬩笌鏀惧皠瀵兼澘妯″瀷閰嶅噯</span>銆�鍩轰簬CT闃堝�硷紝瀵笴BCT鏁版嵁杩涜闃堝�煎垎鍓插拰閲嶅缓锛屽垎鍒幏寰楁偅鑰呴楠ㄤ笁缁存ā鍨嬪拰鏀惧皠瀵兼澘涓夌淮妯″瀷銆備袱涓ā鍨嬩笂鐨勭墮鑳堕樆灏勭偣娓呮櫚鍙锛屾牴鎹樆灏勭偣鐨勫垎甯冨拰浣嶇疆锛岄�夋嫨瀵瑰簲鐨勭偣瀵瑰叧绯伙紝瀵归楠ㄦā鍨嬪拰鏀惧皠瀵兼澘妯″瀷杩涜閰嶅噯锛堝浘4-4-5锛夈��
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庣妞嶅鏉垮舰鎬佽璁�</span>銆�鏍规嵁鏀惧皠瀵兼澘鎵�鍖呭惈鐨勭妞嶄慨澶嶄俊鎭紝鍦ㄨ蒋浠朵腑杩涜绉嶆浣撴鍏ユ柟妗堣璁″拰妯℃嫙锛屽厖鍒嗚�冭檻淇瑕佹眰鏉ョ‘瀹氱妞嶄綋鐨勪綅缃拰瑙掑害锛屼粠鑰岃幏寰楁渶浣崇殑鍜�鍤煎姛鑳藉拰缇庡鏁堟灉銆�
+                            class="bold fontGreen">4锛庣妞嶅鏉垮舰鎬佽璁�</span>銆�鏍规嵁鏀惧皠瀵兼澘鎵�鍖呭惈鐨勭妞嶄慨澶嶄俊鎭紝鍦ㄨ蒋浠朵腑杩涜绉嶆浣撴鍏ユ柟妗堣璁″拰妯℃嫙锛屽厖鍒嗚�冭檻淇瑕佹眰鏉ョ‘瀹氱妞嶄綋鐨勪綅缃拰瑙掑害锛屼粠鑰岃幏寰楁渶浣崇殑鍜�鍤煎姛鑳藉拰缇庡鏁堟灉銆�
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0117-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-4-5銆�棰岄妯″瀷涓庡鏉块厤鍑�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0117-01.jpg" style="width:75%" alt="鍥�4-4-5銆�棰岄妯″瀷涓庡鏉块厤鍑�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-4-5銆�棰岄妯″瀷涓庡鏉块厤鍑�</p>
                     </div>
-
                 </div>
                 <div class="page-bottom-right">101</div>
             </div>
@@ -678,26 +767,28 @@
                     <p class="content">
                         瀹屾垚绉嶆鏂规璁捐鍚庯紝杞欢浼氭牴鎹斁灏勫鏉挎暟鎹嚜鍔ㄧ敓鎴愮妞嶅鏉挎ā鍨嬶紙鍥�4-4-6锛夈�傚彲淇濆瓨杈撳嚭涓篠TL鏍煎紡鐨勬暟鎹紝鐢ㄤ簬鍚庣画3D鎵撳嵃鍒朵綔銆傚鏉垮埗浣滃畬鎴愬悗锛屽彲鏍规嵁闇�瑕佸湪瀵煎悜瀛斿唴鏀剧疆閲戝睘濂楃幆锛屽苟浣跨敤閰嶅鐨勭妞嶅伐鍏峰畬鎴愪复搴婃鍏ユ搷浣溿��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0118-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�4-4-6銆�瀵兼澘妯″瀷鐢熸垚</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0118-01.jpg" style="width:75%" alt="鍥�4-4-6銆�瀵兼澘妯″瀷鐢熸垚"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�4-4-6銆�瀵兼澘妯″瀷鐢熸垚</p>
                     </div>
                     <p class="content">
                         绮剧‘鐨勬暟鎹奖鍍忚祫鏂欍�佹暟瀛楃煶鑶忔ā鍨嬫垨鍙e唴鎵弿鏁版嵁鏄妞嶅鏉胯璁″強鍒朵綔鐨勫墠鎻愶紝鍏崇郴鍒板鏉垮湪鍙h厰涓殑绮剧‘灏变綅銆傚ぇ澶氭暟鎯呭喌涓嬶紝绉嶆璇樊涓昏鏉ヨ嚜瀵兼澘鍦ㄥ彛鑵斿唴灏变綅鍚庣殑浣嶇疆璇樊锛堜笌鐢佃剳璁捐浣嶇疆鐨勫樊寮傦級銆傜墮鏀寔寮忓鏉挎瘮榛忚啘鏀寔寮忓鏉跨殑灏变綅绮剧‘搴﹂珮銆備富瑕佸師鍥犳槸锛孋BCT绮惧害銆佺墮妯℃壂鎻忕簿搴﹀強杞欢鐨勮璁$簿搴﹂兘鏄浉瀵圭ǔ瀹氬彲闈犵殑锛岀郴缁熺簿搴︿富瑕佸彈瀵兼澘灏变綅銆佹搷浣滆宸�侀厤濂楀櫒姊扮瓑鍥犵礌鐨勫奖鍝嶏紝鎵�浠ュ缓璁簲鐢ㄧ妞嶅鏉挎妧鏈椂闇�瑕佸楠ㄩ噺鏈変竴瀹氱殑瀹藉搴︺��
                     </p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">鏁板瓧鍖栧紩瀵间笅鐨勫叏鍙d箟榻垮嵆鍒荤妞嶄慨澶嶆祦绋�</span></p>
-                    <p class="quotation">鍦ㄦ暟瀛楀寲鎵嬫杈呭姪涓嬭涓婁笅棰屽叏鍙d箟榻垮嵆鍒荤妞嶄慨澶嶏紝娌荤枟鍛ㄦ湡鐭紝鎵嬫湳绮剧‘搴﹂珮锛屾偅鑰呮劅鍙楁洿浣炽�傛不鐤楄繃绋嬪涓嬨��</p>
-                    <p class="quotation">锛�1锛夋湳鍓嶅噯澶囷細鈶犱娇鐢ㄨ椈閰哥洂鍙栧垵鍗版ā锛屽埗浣滀釜鎬у寲鎵樼洏锛涒憽鐢ㄤ釜鎬у寲鎵樼洏鍙栫姗¤兌缁堝嵃妯★紝鐏屽埗缁堟ā鍨嬶紱鈶㈠埗浣滃厜鍥哄寲鏍戣剛<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鎵樺強铚″牑锛岀‘瀹氬瀭鐩磋窛绂伙紝纭畾姘村钩鍏崇郴锛岄潰寮撹浆绉绘偅鑰呴浣嶅叧绯伙紝涓�<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鏋讹紱鈶f帓鐗欙紝鍒朵綔鏀惧皠瀵兼澘锛涒懁璇曟埓鏀惧皠瀵兼澘锛屾媿鎽勪袱娆BCT锛堟偅鑰呬僵鎴存斁灏勫鏉挎媿鎽凜BCT鍙婃斁灏勫鏉垮崟鐙媿鎽凜BCT锛夈��</p>
-                    <p class="quotation">锛�2锛夋柟妗堣璁★細鈶犲皢涓ゆCBCT鑾峰彇鐨凞ICOM鏁版嵁瀵煎叆绉嶆璁捐杞欢閲嶅彔锛屼互淇涓哄鍚戞寚瀵间笂涓嬮绉嶆浣撲綅缃憜鏀撅紱鈶$敓鎴愬苟鎵撳嵃鎵嬫湳瀵兼澘銆�</p>
-                    <p class="quotation">锛�3锛夊埄鐢ㄦ墜鏈鏉垮拰瀵兼澘閿侊紝缈诲埗妯″瀷锛屽埗浣滀复鏃朵慨澶嶄綋銆�</p>
-                    <p class="quotation">
-                        锛�4锛変竴鏈熸墜鏈繃绋嬶細閾哄肪娑堟瘨锛屽眬楹诲悗鎷旈櫎涓婁笅棰屼綑鐣欑墮锛屾悢鍒嫈鐗欑獫鍐呯値鎬ц倝鑺界粍缁囷紝浜�34锝�36銆�44锝�46鍖虹墮妲藉荡椤惰繎杩滀腑鍚戝垏寮�鐗欓緢锛岀炕鐡c�傚氨浣嶅苟鍥哄畾鎵嬫湳瀵兼澘锛屼簬11銆�13銆�16銆�22銆�25銆�26銆�32銆�34銆�36銆�42銆�44銆�46鍖哄畾鐐癸紝鎸夋湳鍓嶈璁℃柟妗堟鍏ョ妞嶄綋銆傞櫎26鍖虹妞嶄綋澶栵紝鍏朵綑绉嶆浣撳垵鏈熺ǔ瀹氭�у潎杈惧埌35N*cm浠ヤ笂锛屽氨浣嶅鍚堝熀鍙帮紝鎴村叆淇濇姢甯斤紝淇暣鐗欓緢榛忚啘锛岀紳鍚堢墮榫堛�傛湳鍚庢媿鎽勫叏鏅墖銆傛鏃ュ璇婏紝鍙栦笅淇濇姢甯斤紝鎴村叆棰勫埗鐨勪复鏃朵慨澶嶄綋锛岃皟<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />銆�</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">鏁板瓧鍖栧紩瀵间笅鐨勫叏鍙d箟榻垮嵆鍒荤妞嶄慨澶嶆祦绋�</span></p>
+                        <p class="quotation">鍦ㄦ暟瀛楀寲鎵嬫杈呭姪涓嬭涓婁笅棰屽叏鍙d箟榻垮嵆鍒荤妞嶄慨澶嶏紝娌荤枟鍛ㄦ湡鐭紝鎵嬫湳绮剧‘搴﹂珮锛屾偅鑰呮劅鍙楁洿浣炽�傛不鐤楄繃绋嬪涓嬨��</p>
+                        <p class="quotation">
+                            锛�1锛夋湳鍓嶅噯澶囷細鈶犱娇鐢ㄨ椈閰哥洂鍙栧垵鍗版ā锛屽埗浣滀釜鎬у寲鎵樼洏锛涒憽鐢ㄤ釜鎬у寲鎵樼洏鍙栫姗¤兌缁堝嵃妯★紝鐏屽埗缁堟ā鍨嬶紱鈶㈠埗浣滃厜鍥哄寲鏍戣剛瓞寳鎵樺強铚″牑锛岀‘瀹氬瀭鐩磋窛绂伙紝纭畾姘村钩鍏崇郴锛岄潰寮撹浆绉绘偅鑰呴浣嶅叧绯伙紝涓婐瑢楁灦锛涒懀鎺掔墮锛屽埗浣滄斁灏勫鏉匡紱鈶よ瘯鎴存斁灏勫鏉匡紝鎷嶆憚涓ゆCBCT锛堟偅鑰呬僵鎴存斁灏勫鏉挎媿鎽凜BCT鍙婃斁灏勫鏉垮崟鐙媿鎽凜BCT锛夈��
+                        </p>
+                        <p class="quotation">锛�2锛夋柟妗堣璁★細鈶犲皢涓ゆCBCT鑾峰彇鐨凞ICOM鏁版嵁瀵煎叆绉嶆璁捐杞欢閲嶅彔锛屼互淇涓哄鍚戞寚瀵间笂涓嬮绉嶆浣撲綅缃憜鏀撅紱鈶$敓鎴愬苟鎵撳嵃鎵嬫湳瀵兼澘銆�</p>
+                        <p class="quotation">锛�3锛夊埄鐢ㄦ墜鏈鏉垮拰瀵兼澘閿侊紝缈诲埗妯″瀷锛屽埗浣滀复鏃朵慨澶嶄綋銆�</p>
+                        <p class="quotation">
+                            锛�4锛変竴鏈熸墜鏈繃绋嬶細閾哄肪娑堟瘨锛屽眬楹诲悗鎷旈櫎涓婁笅棰屼綑鐣欑墮锛屾悢鍒嫈鐗欑獫鍐呯値鎬ц倝鑺界粍缁囷紝浜�34锝�36銆�44锝�46鍖虹墮妲藉荡椤惰繎杩滀腑鍚戝垏寮�鐗欓緢锛岀炕鐡c�傚氨浣嶅苟鍥哄畾鎵嬫湳瀵兼澘锛屼簬11銆�13銆�16銆�22銆�25銆�26銆�32銆�34銆�36銆�42銆�44銆�46鍖哄畾鐐癸紝鎸夋湳鍓嶈璁℃柟妗堟鍏ョ妞嶄綋銆傞櫎26鍖虹妞嶄綋澶栵紝鍏朵綑绉嶆浣撳垵鏈熺ǔ瀹氭�у潎杈惧埌35N*cm浠ヤ笂锛屽氨浣嶅鍚堝熀鍙帮紝鎴村叆淇濇姢甯斤紝淇暣鐗欓緢榛忚啘锛岀紳鍚堢墮榫堛�傛湳鍚庢媿鎽勫叏鏅墖銆傛鏃ュ璇婏紝鍙栦笅淇濇姢甯斤紝鎴村叆棰勫埗鐨勪复鏃朵慨澶嶄綋锛岃皟瓞寳銆�
+                        </p>
+
+                    </div>
                 </div>
                 <div class="page-bottom-left">102</div>
             </div>
@@ -711,30 +802,152 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鏁板瓧鍖栨墜鏈鏉胯璁′换鍔¤瘎浠锋爣鍑嗚琛�4-4-1銆�</p>
-                    <p class="imgtitle">琛�4-4-1銆�鏁板瓧鍖栨墜鏈鏉胯璁′换鍔¤瘎浠锋爣鍑�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0119-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0119-03.jpg" style="width:80%" alt=""
-                            active="true" /></div>
+                    <p class="imgtitle bold">琛�4-4-1銆�鏁板瓧鍖栨墜鏈鏉胯璁′换鍔¤瘎浠锋爣鍑�</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0119-02.jpg"
+                            style="width:100%;margin-top: -10px;" alt="琛�4-4-1銆�鏁板瓧鍖栨墜鏈鏉胯璁′换鍔¤瘎浠锋爣鍑�" active="true" /></div>
+
+                    <div class="unitSummary mb-20">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B13'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 涓�у寲鍩哄彴">椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 涓�у寲鍩哄彴</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B14'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 绉嶆瀵兼澘璁捐">椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 绉嶆瀵兼澘璁捐</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B15'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 绉嶆鍩哄彴涓婇儴鍐犵粨鏋�">椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 绉嶆鍩哄彴涓婇儴鍐犵粨鏋�</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B16'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 绉嶆铻轰笣鍥哄畾妗ヨ璁�">椤圭洰鍥� 鑰冭瘯鐭ヨ瘑鐐� 绉嶆铻轰笣鍥哄畾妗ヨ璁�</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="unitSummary">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C14'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰鍥� 鏁板瓧鍖栨墜鏈鏉胯璁� 灏忕粨">椤圭洰鍥� 鏁板瓧鍖栨墜鏈鏉胯璁� 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C15'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰鍥� 绉嶆涓�у寲鍩哄彴璁捐 灏忕粨">椤圭洰鍥� 绉嶆涓�у寲鍩哄彴璁捐 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C16'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰鍥� 绉嶆铻轰笣鍥轰綅妗ヨ璁� 灏忕粨">椤圭洰鍥� 绉嶆铻轰笣鍥轰綅妗ヨ璁� 灏忕粨</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>棰樺簱</span>
+                        </div>
+                        <div class="knowledgeExpansion-box">
+                            <img src="../../assets/images/tuoZhan.svg" alt="" />
+                            <span @click="openQuestion(getResourceInfo('AA5'))">鎷撳睍缁冧範</span>
+                        </div>
+                    </div>
                     <p class="right-info">锛堟潕鏂囧銆�寮犲媷銆�钖涘濮楋級</p>
                 </div>
                 <div class="page-bottom-right">103</div>
             </div>
         </div>
-
+        <preView :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef"></preView>
+        <dialogExaminations :cardList="interfaceQuestion" :questionIDList="questionIDList" :page="questionNum"
+            :questionTitle="questionTitleMain" ref="dialogRef">
+        </dialogExaminations>
     </div>
 </template>
 
 
 <script>
+import preView from "@/components/pdfview/index.vue";
+import bookVideo from "@/components/bookVideo/index.vue";
+import dialogExaminations from "@/components/dialogExaminations/index.vue";
 export default {
     name: "chapterFive",
     props: {
         showPageList: {
             type: Array,
         },
+        getResourceInfo: {
+            type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
+            required: true,
+        },
+        interfaceQuestion: {
+            type: Array,
+            required: true,
+            default: () => [],
+        },
+    },
+    components: {
+        preView,
+        bookVideo,
+        dialogExaminations,
+    },
+    data() {
+        return {
+            p_md5: "",
+            somePdfTitleValue: "",
+            // 棰樼洰鐩稿叧
+            questionNum: 0,
+            questionTitleMain: "",
+            questionIDList: [],
+            questionData: {
+                one: "",
+                two: "",
+                three: "",
+                fore: "",
+                five: "",
+                six: "",
+                seven: "",
+                eight: "",
+                nine: "",
+                ten: "",
+                eleven: ""
+            }
+        };
+    },
+    mounted() {
+        this.getQuestionData()
+    },
+    methods: {
+        toUrl(val) {
+            if (val != null) {
+                this.p_md5 = val.md5;
+                this.somePdfTitleValue = val.resourceName;
+                this.$refs.pdfDialogRef.openDialog();
+            }
+        },
+        openQuestion(val) {
+            if (val != undefined) {
+                this.questionNum = val.pagination;
+                this.questionTitleMain = val.resourceName;
+                this.questionIDList = val.ids;
+                this.$nextTick(() => {
+                    this.$refs.dialogRef.openDialogQuestion();
+                });
+            }
+        },
+        setQuestionData() {
+            localStorage.setItem(
+                "digitalDentalRestorationTechnology-book-chapter05-questionData",
+                JSON.stringify(this.questionData)
+            );
+        },
+        getQuestionData() {
+            let questionData = localStorage.getItem("digitalDentalRestorationTechnology-book-chapter05-questionData");
+            if (questionData) {
+                this.questionData = JSON.parse(questionData);
+            }
+        },
     },
 }
 </script>
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/chapter006.vue b/src/books/digitalDentalRestorationTechnology/view/components/chapter006.vue
index 2f380f3..12c779a 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/chapter006.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/chapter006.vue
@@ -4,33 +4,50 @@
         <div class="page-box" page="110">
             <div v-if="showPageList.indexOf(110) > -1">
                 <div class="bodystyle">
-                    <h1 class="firstTitle-l mb-70 pt-70">椤圭洰浜斻��鏁版帶鍔犲伐涓庡埗浣滃伐鑹�</h1>
-                    <div class="bodyPic"><img src="../../assets/images/0120-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0017-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绱犺川鐩爣</span></p>
-                    <p class="content">锛�1锛夊叿澶囩ぞ浼氳矗浠绘劅锛屾敞閲嶇患鍚堢礌璐ㄧ殑鎻愬崌锛岀粨鍚堜箟榻胯璁$悊蹇靛湪涔夐娇鏁版帶鍔犲伐鏂归潰娉ㄩ噸褰㈡�佸拰鍔熻兘鐨勬湁鏁堢粨鍚堛��</p>
-                    <p class="content">锛�2锛夊叿澶囦弗璋ㄦ墡瀹炵殑宸ヤ綔鎬佸害锛屽叧娉ㄤ箟榻挎墦鍗扮殑缁嗚妭锛屽噺灏戞墦鍗扮殑澶辫触姒傜巼锛屼娇鏉愭枡鏈�澶ч檺搴﹀緱鍒板簲鐢紝閬垮厤娴垂锛屾敞閲嶇幆淇濄��</p>
-                    <p class="center">........................</p>
-                    <p class="center"><span class="bold">鐭ヨ瘑鐩爣</span></p>
-                    <p class="content">锛�1锛夋帉鎻★細鏁版帶鍔犲伐鎶�鏈師鐞嗭紱鏁板瓧鍖栦箟榻垮姞宸ョ殑宸ヨ壓娴佺▼銆�</p>
-                    <p class="content">锛�2锛夌啛鎮夛細涓夌淮鎵撳嵃鎶�鏈師鐞嗭紱鎺掔増杞欢鐨勬搷浣溿��</p>
-                    <p class="center">........................</p>
-                    <p class="content"><span class="bold">鑳藉姏鐩爣</span></p>
-                    <p class="content">锛�1锛夎兘鎸夌収璁捐鍏蜂綋瑕佹眰锛屾墦鍗版爲鑴傛ā鍨嬨��</p>
-                    <p class="content">锛�2锛夎兘姝g‘浣跨敤鍜岀淮鎶ゅ彛鑵斿伐鑹鸿澶囦笌鍣ㄦ锛屽叿澶囦竴瀹氱殑鍙h厰淇宸ヨ壓娴佺▼绠$悊鑳藉姏銆�</p>
-                    <p class="content">锛�3锛夎兘鐢ㄦ�濈淮瀵煎浘鐨勬柟寮忔�荤粨閲戝睘鎵撳嵃鐨勬楠ゃ��</p>
+                    <h1 class="firstTitle-l mb-70 pt-70 oneTitle">椤圭洰浜斻��鏁版帶鍔犲伐涓庡埗浣滃伐鑹�</h1>
+                    <div class="learnGoal">
+                        <img class="learnImg img-h" src="../../assets/images/learnGoal.png" alt="" />
+                        <p class="center learngoalRange"><span class="bold">绱犺川鐩爣</span></p>
+                        <p class="content">锛�1锛夊叿澶囩ぞ浼氳矗浠绘劅锛屾敞閲嶇患鍚堢礌璐ㄧ殑鎻愬崌锛岀粨鍚堜箟榻胯璁$悊蹇靛湪涔夐娇鏁版帶鍔犲伐鏂归潰娉ㄩ噸褰㈡�佸拰鍔熻兘鐨勬湁鏁堢粨鍚堛��</p>
+                        <p class="content">锛�2锛夊叿澶囦弗璋ㄦ墡瀹炵殑宸ヤ綔鎬佸害锛屽叧娉ㄤ箟榻挎墦鍗扮殑缁嗚妭锛屽噺灏戞墦鍗扮殑澶辫触姒傜巼锛屼娇鏉愭枡鏈�澶ч檺搴﹀緱鍒板簲鐢紝閬垮厤娴垂锛屾敞閲嶇幆淇濄��</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鐭ヨ瘑鐩爣</span></p>
+                        <p class="content">锛�1锛夋帉鎻★細鏁版帶鍔犲伐鎶�鏈師鐞嗭紱鏁板瓧鍖栦箟榻垮姞宸ョ殑宸ヨ壓娴佺▼銆�</p>
+                        <p class="content">锛�2锛夌啛鎮夛細涓夌淮鎵撳嵃鎶�鏈師鐞嗭紱鎺掔増杞欢鐨勬搷浣溿��</p>
+                        <p class="center learngoalRange omit">........................</p>
+                        <p class="center learngoalRange"><span class="bold">鑳藉姏鐩爣</span></p>
+                        <p class="content">锛�1锛夎兘鎸夌収璁捐鍏蜂綋瑕佹眰锛屾墦鍗版爲鑴傛ā鍨嬨��</p>
+                        <p class="content">锛�2锛夎兘姝g‘浣跨敤鍜岀淮鎶ゅ彛鑵斿伐鑹鸿澶囦笌鍣ㄦ锛屽叿澶囦竴瀹氱殑鍙h厰淇宸ヨ壓娴佺▼绠$悊鑳藉姏銆�</p>
+                        <p class="content">锛�3锛夎兘鐢ㄦ�濈淮瀵煎浘鐨勬柟寮忔�荤粨閲戝睘鎵撳嵃鐨勬楠ゃ��</p>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>鏁欏璇句欢</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A18'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰浜� 鏁欏璇句欢 鏁版帶鍔犲伐宸ヨ壓</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A19'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰浜� 鏁欏璇句欢 閲戝睘鎵撳嵃</span>
+                        </div>
+                        <div class="knowledgeExpansion-box" @click="toUrl(getResourceInfo('A20'))">
+                            <img src="../../assets/images/jiaoXue.svg" alt="" />
+                            <span>椤圭洰浜� 鏁欏璇句欢 鏍戣剛鎵撳嵃</span>
+                        </div>
+                    </div>
                     <p class="content">鏁板瓧鍖栧埗閫犳妧鏈寜鍘熺悊鍙垎涓烘暟鎺у姞宸ワ紙numerical control
                         processing锛孨C锛夋妧鏈紙鍙堢О鍑忔硶鍔犲伐鎶�鏈級鍜屼笁缁存墦鍗帮紙three-dimensional
                         printing锛�3DP锛夋妧鏈紙鍙堢О鍔犳硶鍔犲伐鎶�鏈級銆傚湪鏁板瓧鍖栧埗閫犻鍩熶腑锛屽箍涔変笂鐨凜AM鎶�鏈簲鍖呮嫭NC鎶�鏈笌3DP鎶�鏈紝浣嗗湪鍙h厰鍖诲鏃╂湡鐨凜AD/CAM浠嬬粛涓紝鍥犲綋鏃�3DP鎶�鏈繕鏈垚鐔燂紝鏁呬範鎯笂灏哊C鎶�鏈О涓篊AM銆�
                     </p>
                     <p class="content">鏈」鐩皢璇︾粏浠嬬粛鍚勭鍙h厰鏁板瓧鍖栧埗閫犳妧鏈殑鍘熺悊锛屽垎鏋愬叾鎶�鏈壒鐐癸紝骞跺鍑犵鍏稿瀷鐨勬妧宸ュ涔夐娇鍔犲伐璁惧鍙婂叾杞‖浠舵搷浣滃伐鑹烘祦绋嬭繘琛岃缁嗕粙缁嶃��</p>
                     <p class="content"><span
-                            class="bold">1锛庢暟瀛楀寲鎵弿鍘熺悊鍒嗘瀽</span>銆�鍙e唴鎵弿浠閲囩敤鍏夊娴嬮噺鎶�鏈紝濡備笁瑙掓祴閲忔硶鎴栧叡鑱氱劍鏄惧井闀滄妧鏈�備笁瑙掓祴閲忔硶閫氳繃鍙戝皠鍏夌嚎鍒扮墿浣撹〃闈紝鍐嶆帴鏀跺弽灏勫厜绾匡紝鏍规嵁鍏夌嚎鐨勮搴﹀彉鍖栬绠楃墿浣撹〃闈㈢殑涓夌淮鍧愭爣銆傚叡鑱氱劍鏄惧井闀滄妧鏈埄鐢ㄧ偣鍏夋簮鐓у皠鐗╀綋锛岄�氳繃灏忓瓟杩囨护鎺夐潪鐒﹀钩闈㈢殑鍏夌嚎锛屾彁楂樺浘鍍忕殑娓呮櫚搴﹀拰鍒嗚鲸鐜囥��
+                            class="bold fontGreen">1锛庢暟瀛楀寲鎵弿鍘熺悊鍒嗘瀽</span>銆�鍙e唴鎵弿浠閲囩敤鍏夊娴嬮噺鎶�鏈紝濡備笁瑙掓祴閲忔硶鎴栧叡鑱氱劍鏄惧井闀滄妧鏈�備笁瑙掓祴閲忔硶閫氳繃鍙戝皠鍏夌嚎鍒扮墿浣撹〃闈紝鍐嶆帴鏀跺弽灏勫厜绾匡紝鏍规嵁鍏夌嚎鐨勮搴﹀彉鍖栬绠楃墿浣撹〃闈㈢殑涓夌淮鍧愭爣銆傚叡鑱氱劍鏄惧井闀滄妧鏈埄鐢ㄧ偣鍏夋簮鐓у皠鐗╀綋锛岄�氳繃灏忓瓟杩囨护鎺夐潪鐒﹀钩闈㈢殑鍏夌嚎锛屾彁楂樺浘鍍忕殑娓呮櫚搴﹀拰鍒嗚鲸鐜囥��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庢暟瀛楀寲璁捐鍘熺悊鍒嗘瀽</span>銆�鍩轰簬CAD杞欢鏉ヨ繘琛岃璁★紝杞欢鍐呭寘鍚彛鑵旇В鍓栨暟鎹簱鍜岃璁¤鍒欍�傚湪璁捐杩囩▼涓紝瑕佷緷鎹偅鑰呯殑鍙h厰鎯呭喌銆佷慨澶嶆垨娌荤枟闇�姹傦紝璋冪敤鏁版嵁搴撲腑鐨勭墮浣撳舰鎬併�佸挰鍚堟洸绾跨瓑淇℃伅杩涜涓�у寲璁捐銆傚悓鏃讹紝璁捐杞欢瑕佽�冭檻鏉愭枡鐨勬�ц兘鍜屽姞宸ュ伐鑹虹殑瑕佹眰锛屼繚璇佽璁$殑鍙埗閫犳�с��
+                            class="bold fontGreen">2锛庢暟瀛楀寲璁捐鍘熺悊鍒嗘瀽</span>銆�鍩轰簬CAD杞欢鏉ヨ繘琛岃璁★紝杞欢鍐呭寘鍚彛鑵旇В鍓栨暟鎹簱鍜岃璁¤鍒欍�傚湪璁捐杩囩▼涓紝瑕佷緷鎹偅鑰呯殑鍙h厰鎯呭喌銆佷慨澶嶆垨娌荤枟闇�姹傦紝璋冪敤鏁版嵁搴撲腑鐨勭墮浣撳舰鎬併�佸挰鍚堟洸绾跨瓑淇℃伅杩涜涓�у寲璁捐銆傚悓鏃讹紝璁捐杞欢瑕佽�冭檻鏉愭枡鐨勬�ц兘鍜屽姞宸ュ伐鑹虹殑瑕佹眰锛屼繚璇佽璁$殑鍙埗閫犳�с��
                     </p>
 
                 </div>
@@ -46,10 +63,10 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">3锛庢暟瀛楀寲鍔犲伐鍘熺悊鍒嗘瀽</span>銆�鏁版帶鍔犲伐涓績瀵逛簬鍙h厰淇浣撶殑鍔犲伐锛屼富瑕佹槸閫氳繃绮剧‘鎺у埗鍒�鍏风殑璺緞鏉ュ垏鍓婃潗鏂欍�傛牴鎹璁℃暟鎹敓鎴愬垁鍏疯矾寰勭▼搴忥紝鎺у埗鍒�鍏峰湪X銆乊銆乑杞存柟鍚戠殑杩愬姩銆�3D鎵撳嵃鎶�鏈紝濡傚厜鍥哄寲3D鎵撳嵃锛屾槸鍒╃敤娑叉�佸厜鏁忔爲鑴傚湪绱鍏夌収灏勪笅閫愬眰鍥哄寲锛岄�氳繃鎺у埗鎵撳嵃骞冲彴鐨勫崌闄嶅拰绱鍏夌殑鐓у皠鍖哄煙鏉ュ爢绉垚鍨嬨�傜啍铻嶆矇绉埗閫犲垯鏄皢涓濈姸鏉愭枡鍔犵儹鐔斿寲鍚庢尋鍑哄爢绉��
+                            class="bold fontGreen">3锛庢暟瀛楀寲鍔犲伐鍘熺悊鍒嗘瀽</span>銆�鏁版帶鍔犲伐涓績瀵逛簬鍙h厰淇浣撶殑鍔犲伐锛屼富瑕佹槸閫氳繃绮剧‘鎺у埗鍒�鍏风殑璺緞鏉ュ垏鍓婃潗鏂欍�傛牴鎹璁℃暟鎹敓鎴愬垁鍏疯矾寰勭▼搴忥紝鎺у埗鍒�鍏峰湪X銆乊銆乑杞存柟鍚戠殑杩愬姩銆�3D鎵撳嵃鎶�鏈紝濡傚厜鍥哄寲3D鎵撳嵃锛屾槸鍒╃敤娑叉�佸厜鏁忔爲鑴傚湪绱鍏夌収灏勪笅閫愬眰鍥哄寲锛岄�氳繃鎺у埗鎵撳嵃骞冲彴鐨勫崌闄嶅拰绱鍏夌殑鐓у皠鍖哄煙鏉ュ爢绉垚鍨嬨�傜啍铻嶆矇绉埗閫犲垯鏄皢涓濈姸鏉愭枡鍔犵儹鐔斿寲鍚庢尋鍑哄爢绉��
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庡彛鑵旀暟瀛楀寲鍒堕�犳妧鏈�</span>銆�CAD杞欢璁捐鐨勪慨澶嶄綋閫氳繃CAM璁惧杩涜鍒堕�犮�傝繖浜涜澶囬�氬父鍒嗕负涓ょ绫诲瀷锛氭暟鎺у姞宸ユ妧鏈拰涓夌淮鎵撳嵃鎶�鏈�傚叾涓暟鎺у姞宸ユ妧鏈洿涓哄父鐢紝瀹冧互浼犵粺鐨勭數鑴戞暟鎺у垏鍓婁负鍩虹锛屼絾鏄�氬父鍙楀埌澶嶆潅鍑犱綍褰㈡�佺殑闄愬埗锛屼笉閫傚悎鐢熶骇鎵�鏈夊舰鐘躲�傝�屼笁缁存墦鍗版妧鏈彲浠ュ埗浣滄洿澶氬鏉傜殑鍣ㄥ畼褰㈡�併��
+                            class="bold fontGreen">4锛庡彛鑵旀暟瀛楀寲鍒堕�犳妧鏈�</span>銆�CAD杞欢璁捐鐨勪慨澶嶄綋閫氳繃CAM璁惧杩涜鍒堕�犮�傝繖浜涜澶囬�氬父鍒嗕负涓ょ绫诲瀷锛氭暟鎺у姞宸ユ妧鏈拰涓夌淮鎵撳嵃鎶�鏈�傚叾涓暟鎺у姞宸ユ妧鏈洿涓哄父鐢紝瀹冧互浼犵粺鐨勭數鑴戞暟鎺у垏鍓婁负鍩虹锛屼絾鏄�氬父鍙楀埌澶嶆潅鍑犱綍褰㈡�佺殑闄愬埗锛屼笉閫傚悎鐢熶骇鎵�鏈夊舰鐘躲�傝�屼笁缁存墦鍗版妧鏈彲浠ュ埗浣滄洿澶氬鏉傜殑鍣ㄥ畼褰㈡�併��
                     </p>
                     <p class="content">锛�1锛夋暟鎺у姞宸ユ妧鏈�</p>
                     <p class="content">
@@ -89,6 +106,9 @@
                         鏁板瓧鍖栧彛鑵斾慨澶嶆妧鏈�
                     </div>
                 </div>
+
+
+
                 <div class="bodystyle">
                     <p class="content">
                         4锛夊疄闄呰繍鐢細鈶犱紭鐐癸細涓�у寲绋嬪害楂橈紝鍙埗閫犲鏉傜粨鏋勶紱鏉愭枡鍒╃敤鐜囬珮锛岀幆淇濊妭鑳斤紱鐢熶骇鍛ㄦ湡鐭紝鑳藉揩閫熶氦浠樹慨澶嶄綋銆傗憽缂虹偣锛氭墦鍗扮簿搴﹀湪鏌愪簺鏂归潰鐣ラ�婁簬鏁版帶鍔犲伐锛涢儴鍒嗘墦鍗版潗鏂欐�ц兘鏈夊緟鎻愬崌锛屽寮哄害銆佽�愮(鎬х瓑锛涜澶囧拰鏉愭枡鎴愭湰鍦ㄤ竴浜涙儏鍐典笅杈冮珮銆�
@@ -97,15 +117,30 @@
                         5锛変富瑕佸簲鐢ㄤ慨澶嶄綋锛氣憼闅愬舰鐭不鍣細鍒╃敤涓夌淮鎵撳嵃鎶�鏈簿纭埗閫犺创鍚堟偅鑰呯墮榻跨殑闅愬舰鐗欏锛屽疄鐜扮墮榻跨煫娌荤殑鐩殑锛岀編瑙備笖浣╂埓鑸掗�傘�傗憽涓�у寲鍩哄彴锛氶拡瀵圭妞嶄慨澶嶏紝涓轰笉鍚屾偅鑰呭畾鍒朵笌绉嶆浣撳拰鐗欓緢褰㈡�侀�傞厤鐨勪釜鎬у寲鍩哄彴锛屾彁楂樼妞嶄慨澶嶇殑缇庡鍜屽姛鑳芥晥鏋溿�傗憿鏍戣剛鐗欏啝鍜屾ˉ浣擄細閫傜敤浜庡缇庤瑕佹眰杈冮珮涓斿彈鍔涚浉瀵硅緝灏忕殑閮ㄤ綅鐨勪慨澶嶏紝鎴愭湰杈冧綆涓斿埗浣滃揩閫熴��
                     </p>
                     <h2 class="secondTitle">浠诲姟涓�銆�鏁版帶鍔犲伐宸ヨ壓</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">涔夐娇璁捐瀹屾垚鍚庯紝瀵规暟棰楀崟鍐犲拰鍥哄畾妗ヨ繘琛屾暟瀛楀寲鎺掔増鍒朵綔銆�</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庢暟鎺у姞宸ョ殑鍩虹鍘熺悊鏄粈涔堬紵瀵规潗鏂欐湁鏃犺姹傦紵鍙h厰绉戝父鐢ㄦ潗鏂欐湁鍝簺锛�</p>
-                    <p class="content">2锛庢暟鎺у姞宸ユ祦绋嬬殑鎿嶄綔姝ラ鏄粈涔堬紵</p>
-                    <p class="content">3锛庡姞宸ュ畬鎴愬悗鐨勬墦纾ㄦ姏鍏夐渶瑕佹敞鎰忎粈涔堬紵鍝簺鐗规畩鏉愭枡闇�瑕佷簩娆$儳缁擄紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">涔夐娇璁捐瀹屾垚鍚庯紝瀵规暟棰楀崟鍐犲拰鍥哄畾妗ヨ繘琛屾暟瀛楀寲鎺掔増鍒朵綔銆�</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庢暟鎺у姞宸ョ殑鍩虹鍘熺悊鏄粈涔堬紵瀵规潗鏂欐湁鏃犺姹傦紵鍙h厰绉戝父鐢ㄦ潗鏂欐湁鍝簺锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.one" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庢暟鎺у姞宸ユ祦绋嬬殑鎿嶄綔姝ラ鏄粈涔堬紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.two" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">3锛庡姞宸ュ畬鎴愬悗鐨勬墦纾ㄦ姏鍏夐渶瑕佹敞鎰忎粈涔堬紵鍝簺鐗规畩鏉愭枡闇�瑕佷簩娆$儳缁擄紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.three" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         闅忕潃鏉愭枡瀛︺�佸姏瀛︺�佸伐绋嬪鍙婄數瀛愬绛夎嚜鐒剁瀛﹀拰宸ョ▼鎶�鏈殑涓嶆柇鍒涙柊鍜屽彂灞曪紝鐢熺墿鍖诲宸ョ▼鍙婄敓鐗╁埗閫犻鍩熻秺鏉ヨ秺鍙楀埌鐮旂┒浜哄憳鐨勯噸瑙嗐�傜敓鐗╁尰瀛︿笌鏉愭枡瀛︾殑缁撳悎锛屼績杩涗簡濡備汉宸ュ櫒瀹樺埗澶囨垨浠跨敓鍒堕�犵瓑澶氭柟闈㈤鍩熺殑鏂扮殑鍙戝睍鍜岀獊鐮淬��
                     </p>
@@ -113,7 +148,8 @@
                         鏁版帶鍔犲伐缂栫▼鏄敓鎴愪緵鏁版帶鏈哄簥杩涜鍙h厰淇浣撳姞宸ョ殑鏁版帶绋嬪簭鐨勮繃绋嬨�傛暟鎺у姞宸ョ紪绋嬫槸瀹炵幇鏁版帶鍔犲伐鐨勯噸瑕佺幆鑺傦紝瀹冨湪寰堝ぇ绋嬪害涓婂喅瀹氫簡鏁版帶鍒囧墛鍔犲伐鏁堢巼銆佽〃闈㈠姞宸ョ簿搴﹀拰宸ヤ綔瀹夊叏鎬с�傜洰鍓嶏紝缂栫▼杞欢寮�鍙戠殑绋嬪簭缂栧埗鍐呭鍖呮嫭瀵煎叆鏁版嵁銆佹瘺鍧璁°�佺‘瀹氬姞宸ュ伐鑹鸿矾绾裤�佹鏌ユ暟鍊笺�佽绠楃▼搴忚緭鍏ョ瓑鐜妭銆傜敤鎴峰彧闇�鐐瑰嚮榧犳爣锛岀粡杩囧嚑涓楠ょ殑杞欢鎿嶄綔锛屽氨鍙互瀹屾垚鍔犲伐缂栫▼銆備笅闈娇鐢╤yperDENT杞欢锛屼互绉嶆铻轰笣鍥轰綅妗ュ姞宸ヤ负渚嬶紝浠嬬粛淇浣撴暟鎺у姞宸ョ紪绋嬬殑瀹炵幇杩囩▼锛屼互鍙婃暟鎺у姞宸ョ殑宸ヨ壓娴佺▼銆�
                     </p>
                     <h3 class="thirdTitle">涓�銆佹暟鎺у姞宸ョ紪绋�</h3>
-                    <p class="content"><span class="bold">1锛庡鍏ユā鍨嬫暟鎹瓹AD杞欢</span>銆�璁捐淇浣撶殑鏁版嵁鏍煎紡鏈夊緢澶氱锛宧yperDENT杞欢鍙敮鎸佸鍏ョ殑鏁版嵁绫诲瀷涓篠TL銆�
+                    <p class="content"><span
+                            class="bold fontGreen">1锛庡鍏ユā鍨嬫暟鎹瓹AD杞欢</span>銆�璁捐淇浣撶殑鏁版嵁鏍煎紡鏈夊緢澶氱锛宧yperDENT杞欢鍙敮鎸佸鍏ョ殑鏁版嵁绫诲瀷涓篠TL銆�
                     </p>
 
                 </div>
@@ -129,7 +165,7 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="content"><span class="bold">2锛庢瘺鍧竷灞�璁捐</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庢瘺鍧竷灞�璁捐</span></p>
                     <p class="content">
                         锛�1锛夐�夋嫨姣涘澂绫诲瀷锛氭牴鎹鍔犲伐淇浣撶殑褰㈢姸鐗瑰緛閫夋嫨鍚堥�傜殑鍔犲伐姣涘澂銆傛鏌ヤ慨澶嶄綋鍦ㄦ瘺鍧潗鏂欎腑鐨勪綅缃紝纭繚姣涘澂鐨勯珮搴﹀繀椤诲ぇ浜庝慨澶嶄綋鐨勯珮搴︼紝鍚﹀垯鏃犳硶鍔犲伐銆備慨澶嶄綋璺濈姣涘澂涓娿�佷笅琛ㄩ潰鍜岃竟鐣岀殑鏈�浣宠窛绂讳负1mm銆�
                     </p>
@@ -150,13 +186,13 @@
                         锛�5锛夋敮鎾戞煴鐨勮缃細鍔犲伐姘у寲閿嗕慨澶嶄綋鏃讹紝鑰冭檻鍒板悗鏈熻繕闇�杩涜浜屾鐑х粨锛屽垏鍓婄殑淇浣撲細鍦ㄧ儳缁撶倝鍐呭彂鐢熺嚎鎬т綋绉敹缂╋紝鍥犳鍦ㄥ姞宸ユ哀鍖栭攩淇浣撴椂涓�鑸渶瑕佹坊鍔犳敮鎾戞煴锛岀敤浜庣儳缁撴椂鏀拺淇浣擄紝闃叉鍥犱綋绉敹缂╂椂閲嶅姏浣滅敤寮曡捣鐨勫彉褰€��
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庤鍒掑姞宸ュ伐鑹�</span>銆�瀹屾垚姣涘澂璁捐鍚庯紝杩橀渶纭畾淇浣撶殑鍔犲伐鏂规硶銆佸姞宸ヨ矾绾垮強鍒囧墛鐢ㄩ噺绛夊伐鑹哄弬鏁帮紝鍗宠鍒掑姞宸ュ伐鑹恒�備箟榻挎暟鎺ф満搴婄敓浜у巶瀹朵竴鑸负浜嗙畝渚挎搷浣滐紝瀵逛笉鍚岀被鍨嬩笌鏉愯川鐨勪慨澶嶄綋棰勫厛璁惧畾鍑洪�傜敤鐨勫伐鑹烘ā鍧楀彲渚涢�夋嫨锛屽姘у寲閿嗗熀搴曞啝銆佺函閽涘叏鍐犮�佺摲宓屼綋銆佸熀鐗欐ā鍨嬬瓑銆備竴鑸帹鑽愪娇鐢ㄥ伐鑹鸿蒋浠朵腑鏍规嵁淇浣撶殑绫诲瀷鍙婃潗璐ㄨ缃殑棰勬垚宸ヨ壓妯℃澘锛屽浜庢満搴婂姞宸ョ粡楠屼赴瀵岀殑鎶�甯堟垨宸ョ▼甯堬紝涔熷彲鏍规嵁鍏蜂綋闇�瑕佽嚜琛岃皟鏁村拰淇敼宸ヨ壓鍙傛暟锛堣蒋浠舵彁渚涚浉鍏冲弬鏁拌缃姛鑳斤級銆傜‘瀹氬姞宸ュ伐鑹哄悗锛屽彲杩愯妯℃嫙鍒�鍏疯矾寰勫姛鑳斤紝鍗冲湪璁$畻鏈轰腑妯℃嫙瀹屾暣鐨勫垁鍏峰垏鍓婅繃绋嬶紝浠ュ叏闈㈡鏌ュ姞宸ヨ缃苟閬垮厤纰版挒锛屽仛鍒扮粨鏋滅殑鍙鍖栨帶鍒躲��
+                            class="bold fontGreen titleLeftmove">3锛庤鍒掑姞宸ュ伐鑹�</span>銆�瀹屾垚姣涘澂璁捐鍚庯紝杩橀渶纭畾淇浣撶殑鍔犲伐鏂规硶銆佸姞宸ヨ矾绾垮強鍒囧墛鐢ㄩ噺绛夊伐鑹哄弬鏁帮紝鍗宠鍒掑姞宸ュ伐鑹恒�備箟榻挎暟鎺ф満搴婄敓浜у巶瀹朵竴鑸负浜嗙畝渚挎搷浣滐紝瀵逛笉鍚岀被鍨嬩笌鏉愯川鐨勪慨澶嶄綋棰勫厛璁惧畾鍑洪�傜敤鐨勫伐鑹烘ā鍧楀彲渚涢�夋嫨锛屽姘у寲閿嗗熀搴曞啝銆佺函閽涘叏鍐犮�佺摲宓屼綋銆佸熀鐗欐ā鍨嬬瓑銆備竴鑸帹鑽愪娇鐢ㄥ伐鑹鸿蒋浠朵腑鏍规嵁淇浣撶殑绫诲瀷鍙婃潗璐ㄨ缃殑棰勬垚宸ヨ壓妯℃澘锛屽浜庢満搴婂姞宸ョ粡楠屼赴瀵岀殑鎶�甯堟垨宸ョ▼甯堬紝涔熷彲鏍规嵁鍏蜂綋闇�瑕佽嚜琛岃皟鏁村拰淇敼宸ヨ壓鍙傛暟锛堣蒋浠舵彁渚涚浉鍏冲弬鏁拌缃姛鑳斤級銆傜‘瀹氬姞宸ュ伐鑹哄悗锛屽彲杩愯妯℃嫙鍒�鍏疯矾寰勫姛鑳斤紝鍗冲湪璁$畻鏈轰腑妯℃嫙瀹屾暣鐨勫垁鍏峰垏鍓婅繃绋嬶紝浠ュ叏闈㈡鏌ュ姞宸ヨ缃苟閬垮厤纰版挒锛屽仛鍒扮粨鏋滅殑鍙鍖栨帶鍒躲��
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庢渶缁堟鏌�</span>銆�鍐嶆妫�鏌ユ墍鎺掑垪鐨勪慨澶嶄綋浣嶇疆鍜岃缃槸鍚︽纭紝鏈夋棤鐗欏啝閲嶅彔鎴栬秴鍑鸿竟鐣岀殑鎯呭喌銆傚鏋滃嚭鐜版帓鍒楀拰璁剧疆涓婄殑閿欒锛屽彲鑳戒細瀵艰嚧姣涘澂鏉愭枡涓叏閮ㄤ慨澶嶄綋鐨勫姞宸ュけ璐ャ��
+                            class="bold fontGreen titleLeftmove">4锛庢渶缁堟鏌�</span>銆�鍐嶆妫�鏌ユ墍鎺掑垪鐨勪慨澶嶄綋浣嶇疆鍜岃缃槸鍚︽纭紝鏈夋棤鐗欏啝閲嶅彔鎴栬秴鍑鸿竟鐣岀殑鎯呭喌銆傚鏋滃嚭鐜版帓鍒楀拰璁剧疆涓婄殑閿欒锛屽彲鑳戒細瀵艰嚧姣涘澂鏉愭枡涓叏閮ㄤ慨澶嶄綋鐨勫姞宸ュけ璐ャ��
                     </p>
                     <p class="content"><span
-                            class="bold">5锛庢満搴婄▼搴忎唬鐮�</span>銆�鏍规嵁褰掑寲鍔犲伐宸ヨ壓姝ラ鎵�纭畾鐨勫澂鏂欑敤閲忥紝鍔犲伐宸ヨ壓杞欢鑷姩璁$畻鏁版帶鏈哄簥鎵�闇�鐨勫垁鍏疯繍鍔ㄨ建杩广�佸潗鏍囧�煎拰鍒囧墛閲忎互鍙婅緟鍔╁姩浣溿�傚伐浠惰疆寤撶殑鍩虹偣鍜岃妭鐐瑰潗鏍囧皢鎵�闇�鍔犲伐鐨勪慨澶嶄綋杞崲鎴愭満搴婃墍鑳借瘑鍒殑绋嬪簭浠g爜銆傜▼搴忎唬鐮佺紪璇戝畬鎴愬悗锛岄渶瑕侀�氳繃涓�瀹氱殑鏂规硶灏嗗叾杈撳叆鏈哄簥鐨勬暟鎺х郴缁熶腑锛岄�氬父鍙�氳繃涓庢満搴婇�氫俊鎺ュ彛鐢电紗鐩磋繛鐨勬柟寮忔垨缃戠粶浼犺緭鐨勬柟寮忓疄鐜般��
+                            class="bold fontGreen titleLeftmove">5锛庢満搴婄▼搴忎唬鐮�</span>銆�鏍规嵁褰掑寲鍔犲伐宸ヨ壓姝ラ鎵�纭畾鐨勫澂鏂欑敤閲忥紝鍔犲伐宸ヨ壓杞欢鑷姩璁$畻鏁版帶鏈哄簥鎵�闇�鐨勫垁鍏疯繍鍔ㄨ建杩广�佸潗鏍囧�煎拰鍒囧墛閲忎互鍙婅緟鍔╁姩浣溿�傚伐浠惰疆寤撶殑鍩虹偣鍜岃妭鐐瑰潗鏍囧皢鎵�闇�鍔犲伐鐨勪慨澶嶄綋杞崲鎴愭満搴婃墍鑳借瘑鍒殑绋嬪簭浠g爜銆傜▼搴忎唬鐮佺紪璇戝畬鎴愬悗锛岄渶瑕侀�氳繃涓�瀹氱殑鏂规硶灏嗗叾杈撳叆鏈哄簥鐨勬暟鎺х郴缁熶腑锛岄�氬父鍙�氳繃涓庢満搴婇�氫俊鎺ュ彛鐢电紗鐩磋繛鐨勬柟寮忔垨缃戠粶浼犺緭鐨勬柟寮忓疄鐜般��
                     </p>
 
                 </div>
@@ -177,28 +213,34 @@
                     <p class="content">
                         鏁版帶鏈哄簥鏄墽琛屽垏鍓婄▼搴忕殑杞戒綋銆傜洰鍓嶅競鍦轰笂鏈哄簥鐨勭绫诲拰瑙勬牸绻佸锛屾寜鐓ф満搴婄殑鍔犲伐鑳藉姏鍙垎涓哄ぇ鍨嬪垏鍓婃満搴婏紙鍥�5-1-1锛夊拰灏忓瀷鍒囧墛鏈哄簥锛堝浘5-1-2锛夈�傚悇绫绘満搴婄殑浣跨敤閮藉簲涓ユ牸渚濈収鍘傚鐨勮姹傛墽琛屻��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0124-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�5-1-1銆�澶у瀷鍒囧墛鏈哄簥</p>
-                    </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0124-02.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�5-1-2銆�灏忓瀷鍒囧墛鏈哄簥</p>
+                    <div class="imgFloat">
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0124-01.jpg" style="width:90%" alt="鍥�5-1-1銆�澶у瀷鍒囧墛鏈哄簥"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�5-1-1銆�澶у瀷鍒囧墛鏈哄簥</p>
+                        </div>
+                        <div class="qrbodyPic openImgBox">
+                            <img src="../../assets/images/0124-02.jpg" style="width:90%" alt="鍥�5-1-2銆�灏忓瀷鍒囧墛鏈哄簥"
+                                active="true" />
+                            <p class="imgdescript-b">鍥�5-1-2銆�灏忓瀷鍒囧墛鏈哄簥</p>
+                        </div>
                     </div>
                     <p class="content"><span
-                            class="bold">1锛庡す鍏蜂笌鍒�鍏�</span>銆�澶瑰叿鏄満搴婁笂涓庝笓鐢ㄥ澂鏂欓厤濂楃殑澶规寔宸ュ叿锛屽湪鏈烘鍔犲伐杩囩▼涓敤鏉ュ浐瀹氬姞宸ュ璞★紝浣夸箣淇濇寔绋冲畾涓嶅姩锛屼互渚挎帴鍙楀姞宸ユ垨妫�娴嬨�傚澂鏂欎竴鑸渶瑕侀�氳繃铻轰笣瑁呭す鍥哄畾浜庢満搴婂す鍏蜂笂锛屽す鍏峰垯涓庢満搴婄殑鏌愪竴杩愬姩杞磋繛鎺ュ畬鎴愬澂鏂欑殑瑁呰浇銆傛牴鎹墍闇�澶规寔鐨勫澂鏂欏舰鐘朵笉鍚岋紝闇�瑕佷笉鍚屽舰鐘剁殑澶瑰叿涓庝箣閰嶅銆�
+                            class="bold fontGreen">1锛庡す鍏蜂笌鍒�鍏�</span>銆�澶瑰叿鏄満搴婁笂涓庝笓鐢ㄥ澂鏂欓厤濂楃殑澶规寔宸ュ叿锛屽湪鏈烘鍔犲伐杩囩▼涓敤鏉ュ浐瀹氬姞宸ュ璞★紝浣夸箣淇濇寔绋冲畾涓嶅姩锛屼互渚挎帴鍙楀姞宸ユ垨妫�娴嬨�傚澂鏂欎竴鑸渶瑕侀�氳繃铻轰笣瑁呭す鍥哄畾浜庢満搴婂す鍏蜂笂锛屽す鍏峰垯涓庢満搴婄殑鏌愪竴杩愬姩杞磋繛鎺ュ畬鎴愬澂鏂欑殑瑁呰浇銆傛牴鎹墍闇�澶规寔鐨勫澂鏂欏舰鐘朵笉鍚岋紝闇�瑕佷笉鍚屽舰鐘剁殑澶瑰叿涓庝箣閰嶅銆�
                     </p>
                     <p class="content">
                         鍒�鍏蜂负鍒囧墛宸ュ叿锛屽父鐢ㄧ殑鍒�鍏蜂富瑕佹槸閾e垁銆傛牴鎹姞宸ュ伐鑹虹殑瑕佹眰锛屽湪淇浣撳姞宸ョ殑涓嶅悓姝ラ闇�瑕佷笉鍚岀洿寰勫拰褰㈢姸锛堥敟鐘躲�佹煴鐘躲�侀樁姊姸绛夛級鐨勫垁鍏锋墽琛屽垏鍓婁换鍔°�備緥濡傦紝绮楀姞宸ユ椂闇�瑕佸ぇ鐩村緞閾e垁瀹屾垚锛屼互鎻愰珮鏁堢巼锛涚簿鍔犲伐鏃讹紝濡傝〃闈㈠舰鎬佺殑绮剧粏闆曞埢锛屽線寰�闇�瑕佸皬鐩村緞閿ュ舰閾e垁瀹屾垚銆備竴涓畬鏁寸殑鍒囧墛杩囩▼寰�寰�闇�瑕佸娆℃洿鎹㈠垁鍏凤紝鍥犳鏁版帶鏈哄簥涓�鑸厤濂楁湁鍒�搴撴垨鍒�搴ф潵鍌ㄥ澶氭妸涓嶅悓鍨嬪彿鐨勫閫夊垁鍏凤紝浠ヤ究鍔犲伐鏃跺彲鍦ㄧ▼搴忔帶鍒朵笅鑷姩鏇存崲鍒�鍏凤紝鎻愰珮鍔犲伐鏁堢巼銆�
                     </p>
                     <p class="content">鏈哄簥鍒�鍏风殑瀵垮懡鏄湁闄愮殑锛屽垏鍓婁竴瀹氭暟閲忕殑淇浣撳悗锛屽垁鍏风殑纾ㄦ崯浼氬姞閲嶏紝褰卞搷鍒囧墛鏁堢巼鍜岃川閲忥紝闇�瑕佸強鏃舵洿鎹㈠垁鍏蜂互淇濊瘉鍔犲伐璐ㄩ噺銆�</p>
-                    <p class="content"><span class="bold">2锛庡姞宸�</span>銆�鍧枡澶规寔鍒颁綅銆佸垁鍏疯杞藉畬鎴愩�佺▼搴忎唬鐮佸鍏ユ満搴婂悗锛屽嵆鍙紑濮嬪淇浣撹繘琛屽垏鍓婂姞宸ワ紙鍥�5-1-3锛夈��
+                    <p class="content"><span
+                            class="bold fontGreen">2锛庡姞宸�</span>銆�鍧枡澶规寔鍒颁綅銆佸垁鍏疯杞藉畬鎴愩�佺▼搴忎唬鐮佸鍏ユ満搴婂悗锛屽嵆鍙紑濮嬪淇浣撹繘琛屽垏鍓婂姞宸ワ紙鍥�5-1-3锛夈��
                     </p>
                     <h3 class="thirdTitle">涓夈�佸悗澶勭悊</h3>
-                    <p class="content"><span class="bold">1锛庡幓鏀拺</span>銆�涓ユ牸鎸夊悇绉嶄慨澶嶄綋鏉愭枡鍑哄巶鏃剁殑瑕佹眰瑙勮寖鍘婚櫎杩炴帴鏌卞拰杩炴帴鏉嗙瓑鏀拺缁撴瀯锛岄伩鍏嶇牬鍧忎慨澶嶄綋鐨勫畬鏁村舰鎬併��
+                    <p class="content"><span
+                            class="bold fontGreen">1锛庡幓鏀拺</span>銆�涓ユ牸鎸夊悇绉嶄慨澶嶄綋鏉愭枡鍑哄巶鏃剁殑瑕佹眰瑙勮寖鍘婚櫎杩炴帴鏌卞拰杩炴帴鏉嗙瓑鏀拺缁撴瀯锛岄伩鍏嶇牬鍧忎慨澶嶄綋鐨勫畬鏁村舰鎬併��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庣儳缁撴垨鍐嶇粨鏅�</span>銆�姘у寲閿嗘潗鏂欑殑淇浣撳湪鏁版帶鍒囧墛鏃朵负瀵嗗害鐤忔澗鐨勮蒋璐ㄧ煶鑶忕姸鏉愭枡锛屽垏鍓婃垚褰㈠悗闇�杩涜浜屾鐑х粨銆傜儳缁撹繃绋嬩細瀵艰嚧姘у寲閿嗕慨澶嶄綋浜х敓涓�瀹氱殑鏀剁缉閲忥紝姝ゆ敹缂╅噺鍦ㄤ慨澶嶄綋CAD闃舵宸茬粡瀹屾垚浜嗗弬鏁扮煫姝c�傜儳缁撲箣鍚庣殑姘у寲閿嗕慨澶嶄綋鍛堢幇楂樺己搴︺�侀珮瀵嗗害鐨勬渶缁堝舰鎬侊紝鎶楀帇寮哄害鎻愬崌鍒�1000MPa宸﹀彸锛屽鍏惰繘琛屾墦纾ㄣ�佹姏鍏夊鐞嗭紝鏈�缁堝畬鎴愬埗浣溿��
+                            class="bold fontGreen">2锛庣儳缁撴垨鍐嶇粨鏅�</span>銆�姘у寲閿嗘潗鏂欑殑淇浣撳湪鏁版帶鍒囧墛鏃朵负瀵嗗害鐤忔澗鐨勮蒋璐ㄧ煶鑶忕姸鏉愭枡锛屽垏鍓婃垚褰㈠悗闇�杩涜浜屾鐑х粨銆傜儳缁撹繃绋嬩細瀵艰嚧姘у寲閿嗕慨澶嶄綋浜х敓涓�瀹氱殑鏀剁缉閲忥紝姝ゆ敹缂╅噺鍦ㄤ慨澶嶄綋CAD闃舵宸茬粡瀹屾垚浜嗗弬鏁扮煫姝c�傜儳缁撲箣鍚庣殑姘у寲閿嗕慨澶嶄綋鍛堢幇楂樺己搴︺�侀珮瀵嗗害鐨勬渶缁堝舰鎬侊紝鎶楀帇寮哄害鎻愬崌鍒�1000MPa宸﹀彸锛屽鍏惰繘琛屾墦纾ㄣ�佹姏鍏夊鐞嗭紝鏈�缁堝畬鎴愬埗浣溿��
                     </p>
 
 
@@ -215,30 +257,44 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0125-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�5-1-3銆�杞﹀簥鍒囧墛</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0125-01.jpg" style="width:65%" alt="鍥�5-1-3銆�杞﹀簥鍒囧墛" active="true" />
+                        <p class="imgdescript-b">鍥�5-1-3銆�杞﹀簥鍒囧墛</p>
                     </div>
                     <p class="content">鏁版帶鍒囧墛鐨勪簩纭呴吀閿傜幓鐠冮櫠鐡穂浠ヤ箟鑾峰槈锛圛PS
                         e.max锛塁AD鐡峰潡涓轰唬琛╙锛屽垏鍓婇樁娈典负钃濈传鑹叉湭缁撴櫠鍧枡锛屽己搴﹁緝浣庯紝渚夸簬鐮旂(銆傚垏鍓婂畬鎴愬悗锛屽湪鐑ょ摲鐐変腑缁忚繃850鈩冦��30鍒嗛挓鐨勭畝鍗曠粨鏅跺鐞嗭紝淇浣撲究鑳借揪鍒扮害400MPa鐨勫己搴︺�傛鍚庝粛闇�浣跨敤閰嶅鐨勬煋鑹插墏杩涜鏌撹壊鍜屼笂閲夌瓑澶勭悊锛堝浘5-1-4锛夈��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0125-02.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript-l-b">鍥�5-1-4銆�鐜荤拑闄剁摲鍏ㄥ啝鍒囧墛銆佺儳缁撱�佷笂閲�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0125-02.jpg" style="width:90%" alt="鍥�5-1-4銆�鐜荤拑闄剁摲鍏ㄥ啝鍒囧墛銆佺儳缁撱�佷笂閲�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�5-1-4銆�鐜荤拑闄剁摲鍏ㄥ啝鍒囧墛銆佺儳缁撱�佷笂閲�</p>
                         <p class="imgdescript-l">A锛庡垏鍓婂悗褰㈡�侊紱B锛庣儳缁撳悗褰㈡�侊紱C锛庝笂閲夊悗褰㈡�併��</p>
                     </div>
                     <p class="content"><span
-                            class="bold">3锛庣爺纾ㄦ姏鍏�</span>銆�閲戝睘淇浣撳垏鍓婂姞宸ュ畬鎴愬悗锛岃繘琛屽父瑙勭爺纾ㄦ姏鍏夈�傚垏鍓婂姞宸ュ苟鐑х粨瀹屾垚鐨勬哀鍖栭攩淇浣擄紙涓�鑸拡瀵硅В鍓栧舰姘у寲閿嗗叏鍐狅級锛岄渶浣跨敤鐧借兌杞繘琛屽垵姝ユ姏鍏夛紝鐒跺悗浣跨敤楝冨埛閰嶅悎鎶涘厜鑶忚繘琛岄珮搴︽姏鍏夈��
+                            class="bold fontGreen">3锛庣爺纾ㄦ姏鍏�</span>銆�閲戝睘淇浣撳垏鍓婂姞宸ュ畬鎴愬悗锛岃繘琛屽父瑙勭爺纾ㄦ姏鍏夈�傚垏鍓婂姞宸ュ苟鐑х粨瀹屾垚鐨勬哀鍖栭攩淇浣擄紙涓�鑸拡瀵硅В鍓栧舰姘у寲閿嗗叏鍐狅級锛岄渶浣跨敤鐧借兌杞繘琛屽垵姝ユ姏鍏夛紝鐒跺悗浣跨敤楝冨埛閰嶅悎鎶涘厜鑶忚繘琛岄珮搴︽姏鍏夈��
                     </p>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">鍏充簬姘у寲閿嗭紝浣犵煡閬撳灏戯紵</span></p>
-                    <p class="quotation">姘у寲閿嗛櫠鐡凤紙zirconia
-                        ceramics锛夋槸鐢遍珮绾哀鍖栭攩鏋勬垚鐨勪竴绉嶈繎浜庢儼鎬х殑鐢熺墿闄剁摲锛屽皢鍚湁灏戦噺绋冲畾鍓傜殑楂樼函姘у寲閿嗛�氳繃楂樻俯鐑х粨鑰屽埗寰楃殑銆傛哀鍖栭攩闄剁摲鐨勫集鏇插己搴﹀彲杈�1000MPa浠ヤ笂锛屼复搴婇�傜敤鑼冨洿杈冧负骞挎硾銆傛哀鍖栭攩澶氭櫠闄剁摲鐢辨哀鍖栭攩銆佺ǔ瀹氬墏銆佸姞宸ュ姪鍓傘�侀鑹茬瓑缁勬垚銆傛哀鍖栭攩闄剁摲鏍规嵁绋冲畾鍓傜绫荤殑涓嶅悓鍜屾櫠浣撶浉缁勬垚鐨勪笉鍚岋紝鍏蜂綋鍒嗙被濡備笅銆傗憼鏍规嵁绋冲畾鍓傜殑绉嶇被锛屽彲鍒嗕负姘у寲閽囩ǔ瀹氱殑姘у寲閿嗐�佹哀鍖栭搱绋冲畾鐨勬哀鍖栭攩銆佹哀鍖栭晛绋冲畾鐨勬哀鍖栭攩銆佹哀鍖栭挋绋冲畾鐨勬哀鍖栭攩绛夈�傗憽鏍规嵁鏅朵綋鐩哥粍鎴愶紝鍙垎涓哄洓鏂圭浉姘у寲閿嗭紙tetragonal
-                        zirconia polycrystals锛孴ZP锛夈�侀儴鍒嗙ǔ瀹氭哀鍖栭攩锛坧artially stabilized zirconia锛孭SZ锛夊拰鍏ㄧǔ瀹氭哀鍖栭攩锛坒ully stabili-zed
-                        zirconia锛孎SZ锛夈��</p>
-
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">鍏充簬姘у寲閿嗭紝浣犵煡閬撳灏戯紵</span></p>
+                        <p class="quotation">姘у寲閿嗛櫠鐡凤紙zirconia
+                            ceramics锛夋槸鐢遍珮绾哀鍖栭攩鏋勬垚鐨勪竴绉嶈繎浜庢儼鎬х殑鐢熺墿闄剁摲锛屽皢鍚湁灏戦噺绋冲畾鍓傜殑楂樼函姘у寲閿嗛�氳繃楂樻俯鐑х粨鑰屽埗寰楃殑銆傛哀鍖栭攩闄剁摲鐨勫集鏇插己搴﹀彲杈�1000MPa浠ヤ笂锛屼复搴婇�傜敤鑼冨洿杈冧负骞挎硾銆傛哀鍖栭攩澶氭櫠闄剁摲鐢辨哀鍖栭攩銆佺ǔ瀹氬墏銆佸姞宸ュ姪鍓傘�侀鑹茬瓑缁勬垚銆傛哀鍖栭攩闄剁摲鏍规嵁绋冲畾鍓傜绫荤殑涓嶅悓鍜屾櫠浣撶浉缁勬垚鐨勪笉鍚岋紝鍏蜂綋鍒嗙被濡備笅銆傗憼鏍规嵁绋冲畾鍓傜殑绉嶇被锛屽彲鍒嗕负姘у寲閽囩ǔ瀹氱殑姘у寲閿嗐�佹哀鍖栭搱绋冲畾鐨勬哀鍖栭攩銆佹哀鍖栭晛绋冲畾鐨勬哀鍖栭攩銆佹哀鍖栭挋绋冲畾鐨勬哀鍖栭攩绛夈�傗憽鏍规嵁鏅朵綋鐩哥粍鎴愶紝鍙垎涓哄洓鏂圭浉姘у寲閿嗭紙tetragonal
+                            zirconia polycrystals锛孴ZP锛夈�侀儴鍒嗙ǔ瀹氭哀鍖栭攩锛坧artially stabilized zirconia锛孭SZ锛夊拰鍏ㄧǔ瀹氭哀鍖栭攩锛坒ully
+                            stabili-zed
+                            zirconia锛孎SZ锛夈��</p>
+                        <p class="quotation">
+                            鍥涙柟鐩告哀鍖栭攩锛氫富瑕佺敱缁嗘櫠绮掔殑鍥涙柟鐩哥粍鎴愮殑鑷村瘑姘у寲閿嗛櫠鐡凤紝涓�鑸哀鍖栭拠鐨勫惈閲忓湪2锝�3mol%銆傚彛鑵旀哀鍖栭攩闄剁摲浠�3mol%姘у寲閽囩ǔ瀹氱殑鍥涙柟姘у寲閿嗘渶涓哄父鐢紝鍙堢О3Y-TZP锛屾槸姘у寲閽囩ǔ瀹氭哀鍖栭攩闄剁摲涓己搴︽渶楂樼殑涓�绉嶏紝鍏跺畬鍏ㄥ己搴︿负900锝�1200Mpa锛屾柇瑁傞煣鎬�8锝�12MPa路m<span
+                                class="super">1/2</span>锛屼富瑕佺敤浜庡熀鍙般�佸墠鍚庣墮鍗曞啝銆佸浐瀹氭ˉ鍙婂鍗曚綅鍥哄畾妗ュ熀搴曠殑鍒朵綔銆�</p>
+                        <p class="quotation">
+                            閮ㄥ垎绋冲畾姘у寲閿嗛櫠鐡凤細褰撴哀鍖栭攩鍔犲叆閫傞噺鐨勭ǔ瀹氬墏鏃讹紙濡傛哀鍖栭拠鍚噺鍦�3锝�6mol%锛夛紝褰㈡垚鐢卞洓鏂圭浉鍜岀珛鏂圭浉娣峰悎缁勬垚鐨勯儴鍒嗙ǔ瀹氭哀鍖栭攩闄剁摲锛屽叾涓珛鏂圭浉鏄ǔ瀹氱殑锛屽洓鏂圭浉鏄簹绋冲畾鐨勶紝鍦ㄥ鍔涗綔鐢ㄤ笅鍙兘璇卞彂鍥涙柟鐩稿悜鍗曟枩鐩哥殑椹皬浣撶浉鍙橈紝浠庤�岃捣鍒板闊х殑浣滅敤銆傞儴鍒嗙ǔ瀹氭哀鍖栭攩鍙堟牴鎹哀鍖栭拠绋冲畾鍓傚惈閲忕殑涓嶅悓鍒嗕负4mol%姘у寲閽囩ǔ瀹氱殑閮ㄥ垎绋冲畾姘у寲閿嗭紙4Y-PSZ锛夊拰5mol%姘у寲閽囩ǔ瀹氱殑閮ㄥ垎绋冲畾姘у寲閿嗭紙5Y-PSZ锛夌瓑銆傞殢鐫�姘у寲閽囧惈閲忕殑澧炲姞锛岀珛鏂圭浉鍚噺澧為珮锛屽洓鏂圭浉鍚噺闄嶄綆锛屾潗鏂欑殑寮哄害闄嶄綆锛岄�忓厜鐜囧鍔犮��
+                        </p>
+                        <p class="quotation">
+                            杩戝勾鏉ワ紝姘у寲閿嗛櫠鐡锋潗鏂欑殑閫忓厜鎬ц兘鍜岀編瀛︽�ц兘閮芥湁鏄庢樉鏀硅繘锛岃�屼笖鐩墠寰堝姘у寲閿嗗叏鐡风郴缁熼兘鍙彁渚涘绉嶄笉鍚岄鑹茬殑鐡峰潡渚涢�夋嫨锛岀敋鑷虫槸棰滆壊娓愬彉鐨勫灞傛哀鍖栭攩鐡峰潡锛涙垨鑰呴�氳繃鏌撹壊鑾峰緱涓庝慨澶嶄綋鐩爣棰滆壊鐩稿崗璋冪殑鍩哄簳鍐犳垨淇浣撱�傛牴鎹哀鍖栭攩闄剁摲鏉愭枡閫忓害鐨勪笉鍚岋紝鍙垎涓轰紶缁熸哀鍖栭攩銆侀珮閫忔哀鍖栭攩鍜岃秴閫忔哀鍖栭攩銆備紶缁熸哀鍖栭攩涓昏涓�3mol%姘у寲閽囩ǔ瀹氬洓鏂圭浉姘у寲閿嗭紙3Y-TZP锛夛紝1mm鍘氬害鐨勬哀鍖栭攩鏉愭枡鐨勯�忓厜鐜囦负35%宸﹀彸銆傞珮閫忓拰瓒呴�忔哀鍖栭攩涓昏鏄�氳繃澧炲姞绋冲畾鍓傦紙姘у寲閽囷級鐨勫惈閲忥紝鎻愰珮绔嬫柟鐩告哀鍖栭攩鏅朵綋鍚噺鏉ュ疄鐜伴�忓厜鎬э紝浣嗘槸寮哄害涔熺浉搴旈檷浣庛�備竴鑸儏鍐典笅锛岄珮閫忔哀鍖栭攩鐨勯�忓厜鐜囧湪40%宸﹀彸锛岃秴閫忔哀鍖栭攩鐨勯�忓厜鐜囧彲楂樿揪50%銆�
+                        </p>
+                    </div>
                 </div>
+
+
+
                 <div class="page-bottom-right">109</div>
             </div>
         </div>
@@ -252,23 +308,11 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="quotation">
-                        鍥涙柟鐩告哀鍖栭攩锛氫富瑕佺敱缁嗘櫠绮掔殑鍥涙柟鐩哥粍鎴愮殑鑷村瘑姘у寲閿嗛櫠鐡凤紝涓�鑸哀鍖栭拠鐨勫惈閲忓湪2锝�3mol%銆傚彛鑵旀哀鍖栭攩闄剁摲浠�3mol%姘у寲閽囩ǔ瀹氱殑鍥涙柟姘у寲閿嗘渶涓哄父鐢紝鍙堢О3Y-TZP锛屾槸姘у寲閽囩ǔ瀹氭哀鍖栭攩闄剁摲涓己搴︽渶楂樼殑涓�绉嶏紝鍏跺畬鍏ㄥ己搴︿负900锝�1200Mpa锛屾柇瑁傞煣鎬�8锝�12MPa路m<span
-                            class="super">1/2</span>锛屼富瑕佺敤浜庡熀鍙般�佸墠鍚庣墮鍗曞啝銆佸浐瀹氭ˉ鍙婂鍗曚綅鍥哄畾妗ュ熀搴曠殑鍒朵綔銆�</p>
-                    <p class="quotation">
-                        閮ㄥ垎绋冲畾姘у寲閿嗛櫠鐡凤細褰撴哀鍖栭攩鍔犲叆閫傞噺鐨勭ǔ瀹氬墏鏃讹紙濡傛哀鍖栭拠鍚噺鍦�3锝�6mol%锛夛紝褰㈡垚鐢卞洓鏂圭浉鍜岀珛鏂圭浉娣峰悎缁勬垚鐨勯儴鍒嗙ǔ瀹氭哀鍖栭攩闄剁摲锛屽叾涓珛鏂圭浉鏄ǔ瀹氱殑锛屽洓鏂圭浉鏄簹绋冲畾鐨勶紝鍦ㄥ鍔涗綔鐢ㄤ笅鍙兘璇卞彂鍥涙柟鐩稿悜鍗曟枩鐩哥殑椹皬浣撶浉鍙橈紝浠庤�岃捣鍒板闊х殑浣滅敤銆傞儴鍒嗙ǔ瀹氭哀鍖栭攩鍙堟牴鎹哀鍖栭拠绋冲畾鍓傚惈閲忕殑涓嶅悓鍒嗕负4mol%姘у寲閽囩ǔ瀹氱殑閮ㄥ垎绋冲畾姘у寲閿嗭紙4Y-PSZ锛夊拰5mol%姘у寲閽囩ǔ瀹氱殑閮ㄥ垎绋冲畾姘у寲閿嗭紙5Y-PSZ锛夌瓑銆傞殢鐫�姘у寲閽囧惈閲忕殑澧炲姞锛岀珛鏂圭浉鍚噺澧為珮锛屽洓鏂圭浉鍚噺闄嶄綆锛屾潗鏂欑殑寮哄害闄嶄綆锛岄�忓厜鐜囧鍔犮��
-                    </p>
-                    <p class="quotation">
-                        杩戝勾鏉ワ紝姘у寲閿嗛櫠鐡锋潗鏂欑殑閫忓厜鎬ц兘鍜岀編瀛︽�ц兘閮芥湁鏄庢樉鏀硅繘锛岃�屼笖鐩墠寰堝姘у寲閿嗗叏鐡风郴缁熼兘鍙彁渚涘绉嶄笉鍚岄鑹茬殑鐡峰潡渚涢�夋嫨锛岀敋鑷虫槸棰滆壊娓愬彉鐨勫灞傛哀鍖栭攩鐡峰潡锛涙垨鑰呴�氳繃鏌撹壊鑾峰緱涓庝慨澶嶄綋鐩爣棰滆壊鐩稿崗璋冪殑鍩哄簳鍐犳垨淇浣撱�傛牴鎹哀鍖栭攩闄剁摲鏉愭枡閫忓害鐨勪笉鍚岋紝鍙垎涓轰紶缁熸哀鍖栭攩銆侀珮閫忔哀鍖栭攩鍜岃秴閫忔哀鍖栭攩銆備紶缁熸哀鍖栭攩涓昏涓�3mol%姘у寲閽囩ǔ瀹氬洓鏂圭浉姘у寲閿嗭紙3Y-TZP锛夛紝1mm鍘氬害鐨勬哀鍖栭攩鏉愭枡鐨勯�忓厜鐜囦负35%宸﹀彸銆傞珮閫忓拰瓒呴�忔哀鍖栭攩涓昏鏄�氳繃澧炲姞绋冲畾鍓傦紙姘у寲閽囷級鐨勫惈閲忥紝鎻愰珮绔嬫柟鐩告哀鍖栭攩鏅朵綋鍚噺鏉ュ疄鐜伴�忓厜鎬э紝浣嗘槸寮哄害涔熺浉搴旈檷浣庛�備竴鑸儏鍐典笅锛岄珮閫忔哀鍖栭攩鐨勯�忓厜鐜囧湪40%宸﹀彸锛岃秴閫忔哀鍖栭攩鐨勯�忓厜鐜囧彲楂樿揪50%銆�
-                    </p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鏁版帶鍔犲伐宸ヨ壓浠诲姟璇勪环鏍囧噯瑙佽〃5-1-1銆�</p>
-                    <p class="imgtitle">琛�5-1-1銆�鏁版帶鍔犲伐宸ヨ壓浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0126-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-
-
-
+                    <p class="imgtitle bold">琛�5-1-1銆�鏁版帶鍔犲伐宸ヨ壓浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0126-01.jpg" style="width:100%"
+                            alt="琛�5-1-1銆�鏁版帶鍔犲伐宸ヨ壓浠诲姟璇勪环鏍囧噯" active="true" /></div>
                 </div>
                 <div class="page-bottom-left">110</div>
             </div>
@@ -281,18 +325,37 @@
                     <span class="header-title">椤圭洰浜斻��鏁版帶鍔犲伐涓庡埗浣滃伐鑹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
+
+
+
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟浜屻��閲戝睘涓夌淮鎵撳嵃宸ヨ壓</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鏌愰棬璇婂畬鎴愮妞嶆墜鏈簩鏈熸剤鍚堝熀鍙扮殑瀹夎锛屾暟瀛楀寲鎵弿鍚庤繘琛屾暟鎹紶杈擄紝鎺ユ敹鏁版嵁鍚庯紝瑕佹眰鎶�宸ュ瀹屾垚鍚庢湡淇浣撳埗浣溿�傛偅鑰呭彛鍐呴粡鑶滄甯革紝缂虹墮鍖轰笌瀵归鐨勪慨澶嶇┖闂翠负4mm銆�
-                    </p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">1锛庢暟瀛楀寲鍏夊鍗版ā閲囬泦瀹屾垚鍚庯紝鍚庢湡淇浣撳埗浣滈渶瑕佸厛瀹屾垚鍝簺姝ラ锛�</p>
-                    <p class="content">2锛庢湰鐥呬緥鎮h�呯殑淇绌洪棿鏄惁婊¤冻淇瑕佹眰锛熷鏋滀慨澶嶇┖闂村挰鍚堥潰涓嶅锛屾湁浠�涔堜慨澶嶅缓璁紵</p>
-                    <p class="content">3锛庤嫢閲囩敤绾挍閲戝睘鍐犱慨澶嶏紝涓夌淮鎵撳嵃娴佺▼鍜屾敞鎰忎簨椤规槸浠�涔堬紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">
+                                鏌愰棬璇婂畬鎴愮妞嶆墜鏈簩鏈熸剤鍚堝熀鍙扮殑瀹夎锛屾暟瀛楀寲鎵弿鍚庤繘琛屾暟鎹紶杈擄紝鎺ユ敹鏁版嵁鍚庯紝瑕佹眰鎶�宸ュ瀹屾垚鍚庢湡淇浣撳埗浣溿�傛偅鑰呭彛鍐呴粡鑶滄甯革紝缂虹墮鍖轰笌瀵归鐨勪慨澶嶇┖闂翠负4mm銆�
+                            </p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">1锛庢暟瀛楀寲鍏夊鍗版ā閲囬泦瀹屾垚鍚庯紝鍚庢湡淇浣撳埗浣滈渶瑕佸厛瀹屾垚鍝簺姝ラ锛�</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.fore" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">2锛庢湰鐥呬緥鎮h�呯殑淇绌洪棿鏄惁婊¤冻淇瑕佹眰锛熷鏋滀慨澶嶇┖闂村挰鍚堥潰涓嶅锛屾湁浠�涔堜慨澶嶅缓璁紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.five" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                            <p class="content">3锛庤嫢閲囩敤绾挍閲戝睘鍐犱慨澶嶏紝涓夌淮鎵撳嵃娴佺▼鍜屾敞鎰忎簨椤规槸浠�涔堬紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.six" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">鍙h厰棰嗗煙鐨勯噾灞炰笁缁存墦鍗版妧鏈父閲囩敤閫夋嫨鎬ф縺鍏夌啍铻嶏紙selective laser
                         melting锛孲LM锛夋妧鏈紝璇ユ妧鏈槸鍒╃敤閲戝睘绮夋湯鍦ㄦ縺鍏夋潫鐨勭儹浣滅敤涓嬪畬鍏ㄧ啍鍖栫粡鍐峰嵈鍑濆浐鑰屾垚褰㈢殑涓�绉嶆妧鏈�備负浜嗗畬鍏ㄧ啍鍖栭噾灞炵矇鏈紝瑕佹眰婵�鍏夎兘閲忓瘑搴﹁秴杩�106W/cm<span
                             class="super">2</span>銆傜洰鍓嶇敤SLM鎶�鏈殑婵�鍏夊櫒涓昏鏈塏d-YAG婵�鍏夊櫒銆丆O<span
@@ -304,7 +367,7 @@
                         涓嶯C鎶�鏈疌AM缂栫▼鐨勭洰鐨勭浉浼硷紝3D鎵撳嵃鏈虹殑CAM缂栫▼涔熸槸涓轰簡缁欏姞宸ヨ澶囷紙3D鎵撳嵃鏈猴級鎻愪緵鍔犲伐鎺у埗浠g爜銆傛濡�3D鎵撳嵃鍘熺悊鎵�杩帮紝CAM杞欢灏辨槸瑕佸皢淇浣撶殑CAD涓夌淮鏁版嵁杩涜鍒嗗眰鍒囩墖锛岃幏寰楀悇鎴潰褰㈢姸鐨勪簩缁翠俊鎭紝骞舵渶缁堝皢鍚勫眰浜岀淮淇℃伅杞崲鎴�3D鎵撳嵃鏈虹殑婵�鍏夎建杩硅矾寰勩�傝繖涓繃绋嬬洿鎺ュ喅瀹氶噾灞�3D鎵撳嵃鎴愬舰鐨勫伐鑹鸿川閲忥紝鏁呭悇鍏抽敭鎺у埗鍙傛暟鐨勮瀹氳嚦鍏抽噸瑕併�傚彲涓�3D鎵撳嵃鏈鸿澶囨彁渚涚紪绋嬫湇鍔$殑CAM杞欢鏈夊緢澶氱锛屼竴鑸儏鍐典笅锛屽悇鍘傚閮戒細鎻愪緵閽堝璁惧瀹氬埗鐨勬帓鐗堢紪绋嬭蒋浠躲�備笅闈互Cambridge杞欢涓轰緥杩涜浠嬬粛銆�
                     </p>
                     <p class="content"><span
-                            class="bold">1锛庡鍏ユā鍨嬫暟鎹�</span>銆�灏嗛渶瑕佹墦鍗扮殑淇浣撴暟鎹鍏ambridge杞欢锛屽彲鏀寔鐨勬暟鎹牸寮忎负STL鍙�3Shape鍏徃鐨凞CM鏍煎紡銆傚彲鍚屾椂瀵煎叆涓�娆℃墦鍗版墍闇�鐨勫涓暟鎹繘琛屾帓鐗堛��
+                            class="bold fontGreen">1锛庡鍏ユā鍨嬫暟鎹�</span>銆�灏嗛渶瑕佹墦鍗扮殑淇浣撴暟鎹鍏ambridge杞欢锛屽彲鏀寔鐨勬暟鎹牸寮忎负STL鍙�3Shape鍏徃鐨凞CM鏍煎紡銆傚彲鍚屾椂瀵煎叆涓�娆℃墦鍗版墍闇�鐨勫涓暟鎹繘琛屾帓鐗堛��
                     </p>
 
                 </div>
@@ -322,13 +385,15 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">2锛庢帓鐗�</span>銆�鎶婂崟鍐犲拰鍥哄畾妗ョ殑鏁版嵁杩涜鍒嗙粍锛屽垎鍒憜鏀惧湪鍒嗗紑鐨勫尯鍩燂紝浠ヤ究鍚庣画鎵撳嵃瀹屾垚鍚庢妸涓嶉渶瑕佽繘琛屽簲鍔涢噴鏀剧殑鍗曞啝鍗曠嫭鍒囧壊涓嬫潵銆傛牴鎹崟鍐犲拰妗ユ灦鏁版嵁閫夌敤鐩稿簲鐨勬敮鎵挎ā鏉胯繘琛屾帓鐗堛�傛寜鐓ф帓鐗堟墦鍗板畬鎴愮殑妯″瀷濡傚浘5-2-1鎵�绀恒��
+                            class="bold fontGreen">2锛庢帓鐗�</span>銆�鎶婂崟鍐犲拰鍥哄畾妗ョ殑鏁版嵁杩涜鍒嗙粍锛屽垎鍒憜鏀惧湪鍒嗗紑鐨勫尯鍩燂紝浠ヤ究鍚庣画鎵撳嵃瀹屾垚鍚庢妸涓嶉渶瑕佽繘琛屽簲鍔涢噴鏀剧殑鍗曞啝鍗曠嫭鍒囧壊涓嬫潵銆傛牴鎹崟鍐犲拰妗ユ灦鏁版嵁閫夌敤鐩稿簲鐨勬敮鎵挎ā鏉胯繘琛屾帓鐗堛�傛寜鐓ф帓鐗堟墦鍗板畬鎴愮殑妯″瀷濡傚浘5-2-1鎵�绀恒��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0128-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript-l">鍥�5-2-1銆�鎸夌収鎺掔増鎵撳嵃瀹屾垚鐨勬ā鍨�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0128-01.jpg" style="width:60%" alt="鍥�5-2-1銆�鎸夌収鎺掔増鎵撳嵃瀹屾垚鐨勬ā鍨�"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�5-2-1銆�鎸夌収鎺掔増鎵撳嵃瀹屾垚鐨勬ā鍨�</p>
                     </div>
-                    <p class="content"><span class="bold">3锛庝慨澶嶄綋浣嶅Э璋冩暣</span>銆�涓轰簡淇濊瘉淇浣撶殑鏈�浼樻墦鍗拌川閲忥紝闇�瑕佷娇鐢�3D鏃嬭浆璋冭妭宸ュ叿瀵规瘡涓慨澶嶄綋杩涜浣嶅Э璋冩暣锛岃姹傚涓嬨��
+                    <p class="content"><span
+                            class="bold fontGreen">3锛庝慨澶嶄綋浣嶅Э璋冩暣</span>銆�涓轰簡淇濊瘉淇浣撶殑鏈�浼樻墦鍗拌川閲忥紝闇�瑕佷娇鐢�3D鏃嬭浆璋冭妭宸ュ叿瀵规瘡涓慨澶嶄綋杩涜浣嶅Э璋冩暣锛岃姹傚涓嬨��
                     </p>
                     <p class="content">锛�1锛夊悓涓�鐗堜笂鍚勪慨澶嶄綋搴曢潰鍒版墦鍗板熀鏉跨殑楂樺害灏介噺淇濇寔涓�鑷淬��</p>
                     <p class="content">锛�2锛夊啝妗ユā鍨嬪簲缁勭粐闈㈡湞涓娿�佺(鍏夐潰鏈濅笅鎽嗘斁銆�</p>
@@ -336,7 +401,7 @@
                     <p class="content">锛�4锛夊敖閲忓皢鍚庣墮鍩哄簳鍐狅紙鍗曞啝锛夊氨浣嶉亾鏂瑰悜鍨傜洿浜庢墦鍗板熀鏉挎憜鏀俱��</p>
                     <p class="content">锛�5锛夋ˉ鏋舵暣浣撳簲灏介噺淇濇寔鍚屼竴姘村钩楂樺害锛岄渚у拰鑸屼晶鐨勫�炬枩瑙掑害璁剧疆搴旂患鍚堣�冭檻鍚勭粍浠跺舰鎬併��</p>
                     <p class="content"><span
-                            class="bold">4锛庢坊鍔犳敮鎾�</span>銆�Cambridge杞欢鍏峰鑷姩璁$畻骞剁敓鎴愭敮鎾戠殑鍔熻兘锛屾瀬澶х畝鍖栦簡鎿嶄綔鑰呯殑鎵嬪姩娣诲姞杩囩▼銆傜粰妯″瀷娣诲姞鏀拺鐨勭洰鐨勬槸瑕佹妸淇浣撶墷鍥哄湴鍥哄畾鍦ㄦ墦鍗板熀鏉跨殑涓�瀹氫綅缃紝涓旇淇濊瘉缁撴瀯鏀拺鐨勭ǔ瀹氬拰鍧囪 锛岄槻姝㈡墦鍗拌繃绋嬩腑鍥犵己灏戞敮鐐硅�屼骇鐢熺粨鏋勫潔濉岋紝鎴栨槸鍥犳縺鍏夌儳缁撲骇鐢熸敹缂╁姏鑰屽彂鐢熷彉褰€��
+                            class="bold fontGreen">4锛庢坊鍔犳敮鎾�</span>銆�Cambridge杞欢鍏峰鑷姩璁$畻骞剁敓鎴愭敮鎾戠殑鍔熻兘锛屾瀬澶х畝鍖栦簡鎿嶄綔鑰呯殑鎵嬪姩娣诲姞杩囩▼銆傜粰妯″瀷娣诲姞鏀拺鐨勭洰鐨勬槸瑕佹妸淇浣撶墷鍥哄湴鍥哄畾鍦ㄦ墦鍗板熀鏉跨殑涓�瀹氫綅缃紝涓旇淇濊瘉缁撴瀯鏀拺鐨勭ǔ瀹氬拰鍧囪 锛岄槻姝㈡墦鍗拌繃绋嬩腑鍥犵己灏戞敮鐐硅�屼骇鐢熺粨鏋勫潔濉岋紝鎴栨槸鍥犳縺鍏夌儳缁撲骇鐢熸敹缂╁姏鑰屽彂鐢熷彉褰€��
                     </p>
                     <p class="content">
                         杞欢鑷姩鐢熸垚鏀拺鐨勫墠鎻愭槸闇�瑕侀鍏堣瀹氬ソ鐩稿叧鐨勬敮鎾戞帶鍒跺弬鏁帮紙濡傛敮鎾戠被鍨嬪帤搴︺�佹帓鍒楀瘑搴︺�佹帴瑙﹂潰绉�佹偓杈硅搴︾瓑锛夈�傝繖濡傚悓NC鍔犲伐涓殑宸ヨ壓瑙勫垝姝ラ涓�鏍凤紝涓�鑸笓鐢ㄨ蒋浠朵細鎻愪緵閽堝涓嶅悓鏉愭枡鍜屼慨澶嶄綋鐨勬帹鑽愭敮鎾戝弬鏁帮紝鎶�甯堜篃鍙�熷姪閫氱敤CAM杞欢鐨勫姛鑳戒慨鏀瑰拰鑷畾涔夋敮鎾戝弬鏁拌繘琛屼釜鎬у寲甯冨眬銆傝嚜鍔ㄦ坊鍔犵殑鏀拺寰�寰�涓嶈兘瀹屽叏婊¤冻淇浣撴墦鍗扮殑闇�瑕侊紝涓�鑸兘闇�瑕佽繘琛屾墜鍔ㄤ慨鏀广�備慨鏀规敮鎾戦渶瑕佹敞鎰忎互涓嬪嚑鐐广��
@@ -361,10 +426,10 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">5锛庢鏌ユ敮鎾�</span>銆�璁剧疆瀹屾垚鍚庯紝浣跨敤杞欢鍒嗗眰鍔熻兘鎶婁笁缁存暟鎹浆鎹㈡垚浜岀淮鏂眰鏁版嵁锛堜竴鑸负SLI鏍煎紡锛夛紝浜岀淮鏁版嵁鐩存帴鍐冲畾鐗欏啝鍦ㄦ縺鍏夋垚褰㈡椂鐨勫伐鑹鸿川閲忋�傜‘璁ゆ棤璇悗锛屽皢鏁版嵁浼犺緭鍒颁笁缁存墦鍗版満锛屽嵆鍙紑濮嬭繘琛屾縺鍏夌儳缁撱��
+                            class="bold fontGreen">5锛庢鏌ユ敮鎾�</span>銆�璁剧疆瀹屾垚鍚庯紝浣跨敤杞欢鍒嗗眰鍔熻兘鎶婁笁缁存暟鎹浆鎹㈡垚浜岀淮鏂眰鏁版嵁锛堜竴鑸负SLI鏍煎紡锛夛紝浜岀淮鏁版嵁鐩存帴鍐冲畾鐗欏啝鍦ㄦ縺鍏夋垚褰㈡椂鐨勫伐鑹鸿川閲忋�傜‘璁ゆ棤璇悗锛屽皢鏁版嵁浼犺緭鍒颁笁缁存墦鍗版満锛屽嵆鍙紑濮嬭繘琛屾縺鍏夌儳缁撱��
                     </p>
                     <h3 class="thirdTitle">浜屻�佹墦鍗版垚褰�</h3>
-                    <p class="content"><span class="bold">1锛庢墦鍗版満鍑嗗</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庢墦鍗版満鍑嗗</span></p>
                     <p class="content">锛�1锛夋墦鍗版満妫�鏌ワ細妫�鏌ュ苟娓呯悊骞插噣鎵撳嵃鏈哄伐浣滆埍鍐呯殑绮夊皹鍜岀儫闆剧瓑鏉傝川锛屼互闃叉鍦ㄥ姞宸ヨ繃绋嬩腑姹℃煋鏂版坊鍔犵殑绮夋湯瀵艰嚧鍔犲伐淇浣撶殑璐ㄩ噺涓嬮檷銆�</p>
                     <p class="content">
                         锛�2锛夎皟鑺傚熀鏉匡細鏀惧叆鎵撳嵃鍩烘澘锛屾鏌ュ熀鏉夸笌鍒垁X銆乊鍜孼鍚戠殑骞宠搴︼紝璇樊鎺у埗鍦ㄦ墦鍗版満瑕佹眰鐨勫叕宸寖鍥村唴銆傚鏋滃熀鏉夸笌鍒垁鐨勫钩琛屽害娆犱匠锛屼細瀵艰嚧鍔犲伐杩囩▼涓敮鎾戠粨鏋勬柇瑁傦紝浣挎墦鍗版ā鍨嬪嚭鐜板彉褰㈢幇璞°��</p>
@@ -374,18 +439,18 @@
                     </p>
                     <p class="content">閫氳繃浣跨敤鏈哄簥涓婄殑宸ヤ綔鑸辨皵浣撴垚鍒嗘娴嬪姛鑳斤紝纭繚鎶�宸ュ鍐呮哀姘旀祿搴﹂檷浣庡埌鏉愭枡瑕佹眰鐨勬寚瀹氬�硷紙涓�鑸负0.8%锛変互涓嬶紝鏂瑰彲寮�濮嬫墦鍗拌繘绋嬨��</p>
                     <p class="content"><span
-                            class="bold">2锛庢ā鍨嬫墦鍗�</span>銆�瀹屾垚鏈哄簥鐨勫噯澶囧伐浣滃悗锛屽皢缂栫▼濂界殑宸ヨ壓鏂囦欢浼犻�佽嚦閲戝睘鎵撳嵃鏈猴紙鍥�5-2-2锛夛紝閫氳繃鎷夊姩鍨傜洿宸ュ叿鏉★紝閫愬眰棰勮妫�鏌ュ悇灞傚垏鐗囧浘鍍忥紝纭繚鍚勫眰涔嬮棿鐨勬潗鏂欏彔鍔犲闀裤�佸叧绯绘纭�佹棤鏂眰銆�
+                            class="bold fontGreen">2锛庢ā鍨嬫墦鍗�</span>銆�瀹屾垚鏈哄簥鐨勫噯澶囧伐浣滃悗锛屽皢缂栫▼濂界殑宸ヨ壓鏂囦欢浼犻�佽嚦閲戝睘鎵撳嵃鏈猴紙鍥�5-2-2锛夛紝閫氳繃鎷夊姩鍨傜洿宸ュ叿鏉★紝閫愬眰棰勮妫�鏌ュ悇灞傚垏鐗囧浘鍍忥紝纭繚鍚勫眰涔嬮棿鐨勬潗鏂欏彔鍔犲闀裤�佸叧绯绘纭�佹棤鏂眰銆�
                     </p>
                     <p class="content">
                         閲戝睘3D鎵撳嵃杩囩▼涓烘縺鍏夊彂鍑虹殑鍏夋潫鍦ㄨ绠楁満鎺у埗涓嬶紝鏍规嵁鍑犱綍褰綋鍚勫眰鎴潰鐨勫潗鏍囨暟鎹湁閫夋嫨鍦板閲戝睘绮夋湯灞傝繘琛屾壂鎻忥紝閲戝睘寰矑鍦ㄦ縺鍏変綔鐢ㄧ殑浣嶇疆涓婄儳缁撳湪涓�璧凤紝鐑х粨瀹岋紝灞傚熀鏉夸笅娌変竴灞傦紝琛ュ厖閾虹矇鍚庤繘琛屼笅涓�灞傛壂鎻忕儳缁擄紝鏂扮殑涓�灞傚拰鍓嶄竴灞傚湪鐑х粨鏃惰嚜鐒剁啍铻嶏紝鏈�缁堢敓鎴愭墍闇�鐨勪笁缁村疄浣撴ā鍨嬨��
                     </p>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0129-01.jpg" style="width:50%" alt="" active="true" />
-                        <p class="imgdescript">鍥�5-2-2銆�閲戝睘鎵撳嵃鏈�</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0129-01.jpg" style="width:50%" alt="鍥�5-2-2銆�閲戝睘鎵撳嵃鏈�" active="true" />
+                        <p class="imgdescript-b">鍥�5-2-2銆�閲戝睘鎵撳嵃鏈�</p>
                     </div>
                     <p class="content">鍔犲伐瀹屾瘯鍚庡崌璧峰熀鏉垮苟鍙栧嚭绮夋湯鑸变腑鏈儳缁撶殑鍓╀綑鏉愭枡锛岀粡杩囩瓫绮夊櫒绛涘垎鍚庯紝杩囨护鎺夎繃绋嬩骇鐢熺殑鏉傝川鍚庯紝鍊掑洖鍌ㄥ瓨瀹瑰櫒涓紝浠ュ涓嬫浣跨敤銆�</p>
                     <p class="content"><span
-                            class="bold">3锛庢ā鍨嬫鏌�</span>銆�妫�鏌ュ熀鏉夸笂鐨勪慨澶嶄綋涓庡熀鏉胯繛鎺ユ槸鍚﹀畬鏁达紝鏈夋棤鏂鐜拌薄銆傝嫢鍗曢鐗欏啝鏀拺鏌辨湁1锝�2鏍规柇瑁傦紝涓烘甯哥幇璞★紱鑻ュ嚭鐜版暣鎺掓柇瑁傦紝鍒欑墮鍐犲舰鎬佺殑鍑嗙‘鎬т笉鑳戒繚璇侊紝鍙戠敓鍙樺舰鐨勫彲鑳芥�у緢楂橈紝闇�鍒嗘瀽鎵撳嵃澶辫触鐨勫師鍥犲悗璋冩暣鎵撳嵃宸ヨ壓锛岄噸鏂板姞宸ャ��
+                            class="bold fontGreen">3锛庢ā鍨嬫鏌�</span>銆�妫�鏌ュ熀鏉夸笂鐨勪慨澶嶄綋涓庡熀鏉胯繛鎺ユ槸鍚﹀畬鏁达紝鏈夋棤鏂鐜拌薄銆傝嫢鍗曢鐗欏啝鏀拺鏌辨湁1锝�2鏍规柇瑁傦紝涓烘甯哥幇璞★紱鑻ュ嚭鐜版暣鎺掓柇瑁傦紝鍒欑墮鍐犲舰鎬佺殑鍑嗙‘鎬т笉鑳戒繚璇侊紝鍙戠敓鍙樺舰鐨勫彲鑳芥�у緢楂橈紝闇�鍒嗘瀽鎵撳嵃澶辫触鐨勫師鍥犲悗璋冩暣鎵撳嵃宸ヨ壓锛岄噸鏂板姞宸ャ��
                     </p>
 
 
@@ -406,34 +471,50 @@
                     <h3 class="thirdTitle">涓夈�佸悗澶勭悊</h3>
                     <p class="content">鍚庡鐞嗙殑姝ラ鍖呮嫭鍠风爞銆佸簲鍔涢噴鏀俱�佺浜屾鍠风爞鍜屽幓鏀拺锛岄『搴忎笉鍙鍊掞紝鍚﹀垯浼氬紩璧烽噾灞炰慨澶嶄綋鐨勫彉褰€��</p>
                     <p class="content"><span
-                            class="bold">1锛庡柗鐮�</span>銆�淇浣撲粠鍩烘澘涓婂垏鍓蹭笅鏉ヤ箣鍓嶉渶瑕佸厛杩涜琛ㄩ潰鍠风爞澶勭悊锛屽幓闄ゆ畫鐣欏湪淇浣撹〃闈㈢殑閲戝睘绮夋湯锛屼娇琛ㄩ潰鍏夋粦銆傚柗鐮傚畬鎴愬悗锛屾寜鐓ч噾灞炵矇鏈巶瀹跺浜庤鏉愭枡搴斿姏閲婃斁鐨勮姹傦紝鍙互鎶婁笉闇�瑕佸簲鍔涢噴鏀剧殑淇浣撲粠鍩烘澘涓婂垏涓嬫潵銆�
+                            class="bold fontGreen">1锛庡柗鐮�</span>銆�淇浣撲粠鍩烘澘涓婂垏鍓蹭笅鏉ヤ箣鍓嶉渶瑕佸厛杩涜琛ㄩ潰鍠风爞澶勭悊锛屽幓闄ゆ畫鐣欏湪淇浣撹〃闈㈢殑閲戝睘绮夋湯锛屼娇琛ㄩ潰鍏夋粦銆傚柗鐮傚畬鎴愬悗锛屾寜鐓ч噾灞炵矇鏈巶瀹跺浜庤鏉愭枡搴斿姏閲婃斁鐨勮姹傦紝鍙互鎶婁笉闇�瑕佸簲鍔涢噴鏀剧殑淇浣撲粠鍩烘澘涓婂垏涓嬫潵銆�
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庡簲鍔涢噴鏀�</span>銆�搴斿姏閲婃斁鐨勭洰鐨勬槸瑕佸幓闄や慨澶嶄綋涓殑鍐呭簲鍔涖�傚湪婵�鍏夌儳缁撴垚褰㈡椂锛岄噾灞炵矇鏈湪婵�鍏夋潫鐨勮兘閲忎綔鐢ㄤ笅鍙戠敓鐔旇瀺銆傜敱浜庡瓨鍦ㄥ喎鍗存敹缂╃幇璞★紝淇浣撳唴閮ㄤ細浜х敓涓�瀹氬簲鍔涳紝浣嗙敱浜庢敮鎾戠粨鏋勭殑瀛樺湪锛屽唴搴斿姏鏃犳硶鏈夋晥鍦伴噴鏀惧嚭鏉ャ�傚湪澶氬崟浣嶄慨澶嶄綋鐗瑰埆鏄暱妗ヤ腑锛屽唴搴斿姏闂灏や负绐佸嚭锛屽涓嶈繘琛屽簲鍔涢噴鏀惧氨鍒囧壊鏀拺淇浣擄紝鍒欎慨澶嶄綋浼氬洜鍐呭簲鍔涚殑閲婃斁鑰屼骇鐢熷彉褰€�備竴鑸�氳繃鍔犵儹澶勭悊锛屼娇閲戝睘鍐呭湪鐨勫師瀛愮粨鏋勯噸鏂版帓鍒楋紝浠庤�屾秷闄ゅ唴搴斿姏锛岄槻姝㈠彉褰㈢幇璞°�備笉鍚屽搧鐗岄噾灞炴潗鏂欑殑鍚庡鐞嗘俯搴︾暐鏈変笉鍚岋紝寤鸿鎸夐噾灞炵矇鏈巶瀹舵彁渚涚殑鍚庡鐞嗘俯搴﹁繘琛屾搷浣滐紝鎿嶄綔杩囩▼濡備笅銆�
+                            class="bold fontGreen">2锛庡簲鍔涢噴鏀�</span>銆�搴斿姏閲婃斁鐨勭洰鐨勬槸瑕佸幓闄や慨澶嶄綋涓殑鍐呭簲鍔涖�傚湪婵�鍏夌儳缁撴垚褰㈡椂锛岄噾灞炵矇鏈湪婵�鍏夋潫鐨勮兘閲忎綔鐢ㄤ笅鍙戠敓鐔旇瀺銆傜敱浜庡瓨鍦ㄥ喎鍗存敹缂╃幇璞★紝淇浣撳唴閮ㄤ細浜х敓涓�瀹氬簲鍔涳紝浣嗙敱浜庢敮鎾戠粨鏋勭殑瀛樺湪锛屽唴搴斿姏鏃犳硶鏈夋晥鍦伴噴鏀惧嚭鏉ャ�傚湪澶氬崟浣嶄慨澶嶄綋鐗瑰埆鏄暱妗ヤ腑锛屽唴搴斿姏闂灏や负绐佸嚭锛屽涓嶈繘琛屽簲鍔涢噴鏀惧氨鍒囧壊鏀拺淇浣擄紝鍒欎慨澶嶄綋浼氬洜鍐呭簲鍔涚殑閲婃斁鑰屼骇鐢熷彉褰€�備竴鑸�氳繃鍔犵儹澶勭悊锛屼娇閲戝睘鍐呭湪鐨勫師瀛愮粨鏋勯噸鏂版帓鍒楋紝浠庤�屾秷闄ゅ唴搴斿姏锛岄槻姝㈠彉褰㈢幇璞°�備笉鍚屽搧鐗岄噾灞炴潗鏂欑殑鍚庡鐞嗘俯搴︾暐鏈変笉鍚岋紝寤鸿鎸夐噾灞炵矇鏈巶瀹舵彁渚涚殑鍚庡鐞嗘俯搴﹁繘琛屾搷浣滐紝鎿嶄綔杩囩▼濡備笅銆�
                     </p>
                     <p class="content">锛�1锛夋妸闇�瑕侀噴鏀惧簲鍔涚殑淇浣撹繛鍚岄噾灞炲熀鏉夸竴璧锋斁鍏ュ簲鍔涢噴鏀剧倝涓紝骞冲彴鍦ㄧ倝涓簲绋冲畾鏀剧疆锛岄槻姝㈠姞鐑彉褰€��</p>
                     <p class="content">锛�2锛夊簲鍔涢噴鏀剧倝涓厖鍏ユ儼鎬ф皵浣撹繘琛屼繚鎶わ紝涓�鑸噰鐢ㄦ癌姘斾繚鎶ゃ��</p>
                     <p class="content">锛�3锛変娇鐢ㄤ笌鍔犲伐鏉愭枡鐩哥鍚堢殑鍔犵儹绋嬪簭鍙婃俯搴﹁缃繘琛屽簲鍔涢噴鏀俱��</p>
                     <p class="content">锛�4锛夊姞鐑畬鎴愬悗鑷劧鍐峰嵈锛屽彇鍑哄熀鏉裤��</p>
-                    <p class="content"><span class="bold">3锛庣浜屾鍠风爞</span>銆�骞冲彴浠庡簲鍔涢噴鏀剧倝涓彇鍑哄悗锛屽彲鏀惧叆鍠风爞鏈哄唴杩涜绗簩娆″柗鐮傦紝鍘绘帀鍔犵儹杩囩▼涓慨澶嶄綋琛ㄩ潰浜х敓鐨勬哀鍖栫墿銆�
+                    <p class="content"><span
+                            class="bold fontGreen">3锛庣浜屾鍠风爞</span>銆�骞冲彴浠庡簲鍔涢噴鏀剧倝涓彇鍑哄悗锛屽彲鏀惧叆鍠风爞鏈哄唴杩涜绗簩娆″柗鐮傦紝鍘绘帀鍔犵儹杩囩▼涓慨澶嶄綋琛ㄩ潰浜х敓鐨勬哀鍖栫墿銆�
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庡幓鏀拺</span>銆�鍙厛浣跨敤绾垮垏鍓叉満娌跨潃鍩烘澘骞抽潰鍒囨柇澶ч潰绉殑鏀拺缁撴瀯锛屽彇涓嬩慨澶嶄綋锛屼箣鍚庡啀鐢ㄦ妧宸ヨ溅閽堜粩缁嗙(闄よ〃闈㈢殑鏀拺锛堝浘5-2-3锛夈�傛墦鍗板悗鐨勫熀鏉块渶瑕佽繘琛岀爺纾ㄥ鐞嗭紝灏嗛檮鐫�鐨勬敮鎾戝幓闄ゅ共鍑�骞朵娇鍩烘澘琛ㄩ潰鍏夋磥骞虫暣锛屼箣鍚庡鍩烘澘杩涜琛ㄩ潰鍠风爞锛岀暀寰呬笅娆′娇鐢ㄣ��
+                            class="bold fontGreen">4锛庡幓鏀拺</span>銆�鍙厛浣跨敤绾垮垏鍓叉満娌跨潃鍩烘澘骞抽潰鍒囨柇澶ч潰绉殑鏀拺缁撴瀯锛屽彇涓嬩慨澶嶄綋锛屼箣鍚庡啀鐢ㄦ妧宸ヨ溅閽堜粩缁嗙(闄よ〃闈㈢殑鏀拺锛堝浘5-2-3锛夈�傛墦鍗板悗鐨勫熀鏉块渶瑕佽繘琛岀爺纾ㄥ鐞嗭紝灏嗛檮鐫�鐨勬敮鎾戝幓闄ゅ共鍑�骞朵娇鍩烘澘琛ㄩ潰鍏夋磥骞虫暣锛屼箣鍚庡鍩烘澘杩涜琛ㄩ潰鍠风爞锛岀暀寰呬笅娆′娇鐢ㄣ��
                     </p>
                     <div class="qrbodyPic">
-                        <img src="../../assets/images/0130-01.jpg" style="width:80%" alt="" active="true" />
+                        <img src="../../assets/images/0130-01.jpg" style="width:80%" alt="鍥�5-2-3銆�鍘绘敮鎾戝墠鍜屽幓鏀拺鍚�"
+                            active="true" />
                         <p class="imgdescript-b">鍥�5-2-3銆�鍘绘敮鎾戝墠鍜屽幓鏀拺鍚�</p>
-                        <p class="imgdescript">A锛庡幓鏀拺鍓嶏紱B锛庡幓鏀拺鍚�</p>
+                        <p class="imgdescript-l">A锛庡幓鏀拺鍓嶏紱B锛庡幓鏀拺鍚�</p>
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">绉嶆浣撹〃闈㈡妧鏈爺绌惰繘灞�</span></p>
-                    <p class="quotation">
-                        鍙h厰绉嶆鎶�鏈洜鍏惰壇濂界殑淇鏁堟灉鍜屾瀬楂樼殑鎴愬姛鐜囷紝鍦ㄤ复搴婂簲鐢ㄤ腑澶囧彈鎺ㄥ磭銆備负浜嗗彇寰楁洿濂界殑绉嶆鏁堟灉锛岄渶瑕佸绉嶆浣撹繘琛屽悇鏂归潰鐨勬敼鑹紝鍖呮嫭绉嶆浣撶殑璁捐銆佹潗鏂欑殑閫夋嫨鍙婂鐞嗙瓑銆傚叾涓绉嶆浣撴潗鏂欑殑澶勭悊锛屽嵆绉嶆浣撹〃闈㈡敼鎬ф妧鏈殑鐮旂┒锛屾槸褰撳墠绉嶆浣撶爺绌堕鍩熺殑鐑偣銆備竴涓湡姝g鍚堜复搴婅姹傜殑绉嶆浣撻渶瑕佹弧瓒冲涓嬫潯浠讹細瀵逛汉浣撴棤鍒烘縺銆佹棤瀹炽�佹棤姣掞紝骞跺簲鏈変竴瀹氱殑鐢熺墿娲绘�у拰鎶楄弻鑳藉姏锛岃繕鑳藉埡婵�鏂伴褰㈡垚锛屼笌绉嶆浣撹〃闈㈠舰鎴愰缁撳悎銆�
-                    </p>
-                    <p class="quotation">涓�銆佺妞嶄綋琛ㄩ潰鏀规�х殑鏂规硶</p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">绉嶆浣撹〃闈㈡妧鏈爺绌惰繘灞�</span></p>
+                        <p class="quotation">
+                            鍙h厰绉嶆鎶�鏈洜鍏惰壇濂界殑淇鏁堟灉鍜屾瀬楂樼殑鎴愬姛鐜囷紝鍦ㄤ复搴婂簲鐢ㄤ腑澶囧彈鎺ㄥ磭銆備负浜嗗彇寰楁洿濂界殑绉嶆鏁堟灉锛岄渶瑕佸绉嶆浣撹繘琛屽悇鏂归潰鐨勬敼鑹紝鍖呮嫭绉嶆浣撶殑璁捐銆佹潗鏂欑殑閫夋嫨鍙婂鐞嗙瓑銆傚叾涓绉嶆浣撴潗鏂欑殑澶勭悊锛屽嵆绉嶆浣撹〃闈㈡敼鎬ф妧鏈殑鐮旂┒锛屾槸褰撳墠绉嶆浣撶爺绌堕鍩熺殑鐑偣銆備竴涓湡姝g鍚堜复搴婅姹傜殑绉嶆浣撻渶瑕佹弧瓒冲涓嬫潯浠讹細瀵逛汉浣撴棤鍒烘縺銆佹棤瀹炽�佹棤姣掞紝骞跺簲鏈変竴瀹氱殑鐢熺墿娲绘�у拰鎶楄弻鑳藉姏锛岃繕鑳藉埡婵�鏂伴褰㈡垚锛屼笌绉嶆浣撹〃闈㈠舰鎴愰缁撳悎銆�
+                        </p>
+                        <p class="quotation">涓�銆佺妞嶄綋琛ㄩ潰鏀规�х殑鏂规硶</p>
+                        <p class="quotation">1锛庡寲瀛︽柟娉曘��閫氳繃鏀瑰彉绉嶆浣撹〃闈㈢殑鍖栧鐗规�э紝浣夸箣浜х敓涓庣粏鑳炶〃闈㈠垎瀛愪箣闂寸殑鐗瑰紓鐩镐簰浣滅敤銆備緥濡傦紝閰歌殌澶勭悊娉曘�佺⒈鐑鐞嗘硶銆侀槼鏋佹哀鍖栨硶銆佸井寮ф哀鍖栨硶銆�</p>
+                        <p class="quotation">2锛庣墿鐞嗘柟娉曘��涓昏鎸囩妞嶄綋瓒呭井缁撴瀯鐨勬敼鍙樸�備緥濡傦紝绛夌瀛愬柗娑傘�佺瀛愭敞鍏ユ硶銆佹縺鍏夌啍瑕嗐��</p>
+                        <p class="quotation">3锛庣敓鐗╁寲瀛︽柟娉曘��閫氳繃灏嗙壒瀹氱殑铔嬬櫧銆侀叾銆佽偨鍥哄畾浜庣妞嶄綋琛ㄩ潰锛屾潵璇卞楠ㄧ粏鑳炲娈栧垎鍖栵紝淇冭繘楠ㄧ粨鍚堛�傝鏂规硶涓昏鍖呮嫭鍚搁檮銆佸鍚堟秱灞傘�侀敭缁撳悎3绉嶃��</p>
+                        <p class="quotation">浜屻�佺妞嶄綋琛ㄩ潰鏀规�х殑鐮旂┒</p>
+                        <p class="quotation">
+                            绉嶆浣撹〃闈㈡敼鎬х殑鐮旂┒澶у鏄洿缁曚互涓嬩袱涓柟闈㈠睍寮�锛氫竴鏄寮虹妞嶄綋涓庨缁勭粐鐨勯鎬х粨鍚堬紝鑾峰緱绉嶆浣撶殑鍒濇湡绋冲畾鎬э紝澧炲姞妞嶅叆鐨勬垚鍔熺巼锛涗簩鏄鎶楃妞嶄綋鍛ㄥ洿鐐庣棁鐨勫彂鐢熴�傛劅鏌撴槸澶辫触鐨勪竴涓噸瑕佸洜绱狅紝閽涚妞嶄綋琛ㄩ潰鎸佺画鐨勬姉鑿屾�т篃鏄妞嶄綋琛ㄩ潰鏀规�х殑涓�涓噸鐐规柟鍚戙��
+                        </p>
+                        <p class="quotation">闅忕潃閽涚妞嶄綋琛ㄩ潰鐗╃悊缁撴瀯鍙婂寲瀛︽秱灞傜殑瀹屽杽锛屼互鍙婄妞嶄綋琛ㄩ潰鐢熺墿缁撳悎鑳藉姏鍜屾姉鑿岃兘鍔涚殑鎻愰珮锛岀妞嶄綋鍦ㄤ繚璇佸畬缇庣殑鍒濇湡绋冲畾鎬х殑鍚屾椂锛屼篃蹇呭皢杩芥眰闀挎湡鐨勭ǔ瀹氭�с��
+                        </p>
+
+                    </div>
 
                 </div>
+
+
+
                 <div class="page-bottom-left">114</div>
             </div>
         </div>
@@ -446,21 +527,11 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="quotation">1锛庡寲瀛︽柟娉曘��閫氳繃鏀瑰彉绉嶆浣撹〃闈㈢殑鍖栧鐗规�э紝浣夸箣浜х敓涓庣粏鑳炶〃闈㈠垎瀛愪箣闂寸殑鐗瑰紓鐩镐簰浣滅敤銆備緥濡傦紝閰歌殌澶勭悊娉曘�佺⒈鐑鐞嗘硶銆侀槼鏋佹哀鍖栨硶銆佸井寮ф哀鍖栨硶銆�</p>
-                    <p class="quotation">2锛庣墿鐞嗘柟娉曘��涓昏鎸囩妞嶄綋瓒呭井缁撴瀯鐨勬敼鍙樸�備緥濡傦紝绛夌瀛愬柗娑傘�佺瀛愭敞鍏ユ硶銆佹縺鍏夌啍瑕嗐��</p>
-                    <p class="quotation">3锛庣敓鐗╁寲瀛︽柟娉曘��閫氳繃灏嗙壒瀹氱殑铔嬬櫧銆侀叾銆佽偨鍥哄畾浜庣妞嶄綋琛ㄩ潰锛屾潵璇卞楠ㄧ粏鑳炲娈栧垎鍖栵紝淇冭繘楠ㄧ粨鍚堛�傝鏂规硶涓昏鍖呮嫭鍚搁檮銆佸鍚堟秱灞傘�侀敭缁撳悎3绉嶃��</p>
-                    <p class="quotation">浜屻�佺妞嶄綋琛ㄩ潰鏀规�х殑鐮旂┒</p>
-                    <p class="quotation">
-                        绉嶆浣撹〃闈㈡敼鎬х殑鐮旂┒澶у鏄洿缁曚互涓嬩袱涓柟闈㈠睍寮�锛氫竴鏄寮虹妞嶄綋涓庨缁勭粐鐨勯鎬х粨鍚堬紝鑾峰緱绉嶆浣撶殑鍒濇湡绋冲畾鎬э紝澧炲姞妞嶅叆鐨勬垚鍔熺巼锛涗簩鏄鎶楃妞嶄綋鍛ㄥ洿鐐庣棁鐨勫彂鐢熴�傛劅鏌撴槸澶辫触鐨勪竴涓噸瑕佸洜绱狅紝閽涚妞嶄綋琛ㄩ潰鎸佺画鐨勬姉鑿屾�т篃鏄妞嶄綋琛ㄩ潰鏀规�х殑涓�涓噸鐐规柟鍚戙��
-                    </p>
-                    <p class="quotation">闅忕潃閽涚妞嶄綋琛ㄩ潰鐗╃悊缁撴瀯鍙婂寲瀛︽秱灞傜殑瀹屽杽锛屼互鍙婄妞嶄綋琛ㄩ潰鐢熺墿缁撳悎鑳藉姏鍜屾姉鑿岃兘鍔涚殑鎻愰珮锛岀妞嶄綋鍦ㄤ繚璇佸畬缇庣殑鍒濇湡绋冲畾鎬х殑鍚屾椂锛屼篃蹇呭皢杩芥眰闀挎湡鐨勭ǔ瀹氭�с��</p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">閲戝睘涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯瑙佽〃5-2-1銆�</p>
-                    <p class="imgtitle">琛�5-2-1銆�閲戝睘涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0131-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-
-
+                    <p class="imgtitle bold">琛�5-2-1銆�閲戝睘涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic openImgBox"><img src="../../assets/images/0131-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="琛�5-2-1銆�閲戝睘涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯" active="true" /></div>
                 </div>
                 <div class="page-bottom-right">115</div>
             </div>
@@ -474,15 +545,25 @@
                         鏁板瓧鍖栧彛鑵斾慨澶嶆妧鏈�
                     </div>
                 </div>
+
+
+
                 <div class="bodystyle">
                     <h2 class="secondTitle">浠诲姟涓夈��鏍戣剛涓夌淮鎵撳嵃宸ヨ壓</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0022-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="content"><span class="bold">銆愭渚嬨��</span></p>
-                    <p class="content">鏌愰棬璇婂畬鎴愮妞嶆墜鏈簩鏈熸剤鍚堝熀鍙扮殑瀹夎锛岃繘琛屾暟瀛楀寲鎵弿鍚庤繘琛屾暟鎹紶杈擄紝鎺ユ敹鏁版嵁鍚庯紝瑕佹眰鎶�宸ュ瀹屾垚鍚庢湡淇浣撳埗浣溿��</p>
-                    <p class="content"><span class="bold">銆愰棶棰樸��</span></p>
-                    <p class="content">鏍戣剛涓夌淮鎵撳嵃鐨勬牳蹇冩楠ゆ槸浠�涔堬紵</p>
-                    <p class="titleQuot-1">銆愪换鍔″垎鏋愩��</p>
+                    <div class="CaseStudy">
+                        <div class="CaseStudy-title">妗堜緥瀵煎叆</div>
+                        <div class="CaseStudy-content">
+                            <p class="titleQuot-1">銆愭渚嬨��</p>
+                            <p class="content">鏌愰棬璇婂畬鎴愮妞嶆墜鏈簩鏈熸剤鍚堝熀鍙扮殑瀹夎锛岃繘琛屾暟瀛楀寲鎵弿鍚庤繘琛屾暟鎹紶杈擄紝鎺ユ敹鏁版嵁鍚庯紝瑕佹眰鎶�宸ュ瀹屾垚鍚庢湡淇浣撳埗浣溿��</p>
+                            <p class="titleQuot-1">銆愰棶棰樸��</p>
+                            <p class="content">鏍戣剛涓夌淮鎵撳嵃鐨勬牳蹇冩楠ゆ槸浠�涔堬紵</p>
+                            <p class="content">
+                                <textarea class="textarea-box" v-model="questionData.seven" placeholder="璇疯緭鍏ュ唴瀹�" rows="5"
+                                    @change="setQuestionData"></textarea>
+                            </p>
+                        </div>
+                    </div>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔″垎鏋愩��</p>
                     <p class="content">
                         鏍戣剛涓夌淮鎵撳嵃宸ヨ壓鍦ㄧ妞嶃�佺墮鍛ㄣ�佹鐣搞�佷慨澶嶇瓑棰嗗煙骞挎硾搴旂敤銆傛爲鑴備笁缁存墦鍗扮殑鍏蜂綋鎿嶄綔姝ラ涓庨噾灞炴墦鍗版湁浣曚笉鍚岋紵鏈変綍鑱旂郴锛熸湰浠诲姟灏嗗姣斾袱鑰呬箣闂寸殑宸紓鍜岀浉浼间箣澶勶紝涓轰复搴婁慨澶嶄綋鐨勫埗浣滄彁渚涙洿澶氭暟瀛楀寲鏀寔銆�
                     </p>
@@ -492,14 +573,15 @@
                             class="s-pic" src="../../assets/images/0026_02.png" alt="" />鍨�佹鐣告墭妲界矘鎺ュ鏉跨瓑鍒朵綔銆�</p>
                     <p class="content">涓嬮潰浠ュ埗浣滀慨澶嶅伐浣滄ā鍨嬩负渚嬶紝浠嬬粛Objet鏍戣剛涓夌淮鎵撳嵃鏈虹殑宸ヨ壓娴佺▼銆�</p>
                     <h3 class="thirdTitle">涓�銆佹暟鎹帓鐗�</h3>
-                    <p class="content"><span class="bold">1锛庡鍏ユā鍨嬫暟鎹�</span>銆�鎵撳紑Objet鎵撳嵃鏈洪厤濂楃殑Objet
+                    <p class="content"><span class="bold fontGreen">1锛庡鍏ユā鍨嬫暟鎹�</span>銆�鎵撳紑Objet鎵撳嵃鏈洪厤濂楃殑Objet
                         Studio鎺掔増宸ヨ壓杞欢锛屽鍏ヨ璁″ソ鐨凷TL鏍煎紡妯″瀷鏁版嵁銆傚涓暟鎹彲鍚屾椂瀵煎叆锛屾渶缁堜竴娆℃墦鍗般��</p>
-                    <p class="content"><span class="bold">2锛庢ā鍨嬫帓鐗�</span>銆�鍙娇鐢ㄨ蒋浠剁殑鑷姩鎺掔増鍔熻兘灏嗘墍鏈夋ā鍨嬭嚜鍔ㄦ帓鍒楀埌铏氭嫙鎴愬舰鎵樼洏涓婏紝鎺掑垪杩囩▼鐨勬敞鎰忎簨椤瑰涓嬨��</p>
+                    <p class="content"><span
+                            class="bold fontGreen">2锛庢ā鍨嬫帓鐗�</span>銆�鍙娇鐢ㄨ蒋浠剁殑鑷姩鎺掔増鍔熻兘灏嗘墍鏈夋ā鍨嬭嚜鍔ㄦ帓鍒楀埌铏氭嫙鎴愬舰鎵樼洏涓婏紝鎺掑垪杩囩▼鐨勬敞鎰忎簨椤瑰涓嬨��</p>
                     <p class="content">锛�1锛夋ā鍨嬫帓鍒楀簲灏介噺闆嗕腑锛屼互缂╃煭鎵撳嵃鍠峰ご鐨勭Щ鍔ㄨ矾寰勶紝鎻愰珮鎵撳嵃鏁堢巼銆�</p>
                     <p class="content">锛�2锛夋ā鍨嬩笉鑳借秴鍑烘垚褰㈡墭鐩樿竟鐣岋紝濡傛灉瓒呭嚭杈圭晫灏嗕互绾㈣壊鎻愮ず浣嶇疆閿欒銆�</p>
                     <p class="content">锛�3锛夊湪澶氳瑙掕鍥句笅瑙傚療妯″瀷鎽嗘斁濮挎�侊紝浣挎ā鍨嬪簳閮ㄥ敖閲忔斁骞筹紝浠ラ檷浣庢墦鍗伴珮搴︼紝鑺傜害鎵撳嵃鏃堕棿銆�</p>
                     <p class="content"><span
-                            class="bold">3锛庤缃墦鍗拌〃闈㈠厜娲佸害</span>銆�Objet鎵撳嵃鏈鸿杞芥湁妯″瀷鏉愭枡鍜屾敮鎾戞潗鏂欍�傛ā鍨嬫潗鏂欑敤浜庢垚褰㈠疄鐗╂ā鍨嬶紱鏀拺鏉愭枡鐢ㄤ簬鏀拺妯″瀷搴曢儴鍜屾偓绌洪儴浣嶏紝骞跺~鍏呮ā鍨嬬┖鑵旈儴浣嶃�傞�氳繃璁剧疆鏀拺鏉愭枡鐨勫寘瑁规ā寮忓彲鎺у埗鎵撳嵃妯″瀷鐨勮〃闈㈠厜娲佸害銆傝蒋浠舵彁渚涗簡涓ょ妯″紡锛屽彲鏍规嵁瀹為檯搴旂敤杩涜閫夋嫨銆�
+                            class="bold fontGreen">3锛庤缃墦鍗拌〃闈㈠厜娲佸害</span>銆�Objet鎵撳嵃鏈鸿杞芥湁妯″瀷鏉愭枡鍜屾敮鎾戞潗鏂欍�傛ā鍨嬫潗鏂欑敤浜庢垚褰㈠疄鐗╂ā鍨嬶紱鏀拺鏉愭枡鐢ㄤ簬鏀拺妯″瀷搴曢儴鍜屾偓绌洪儴浣嶏紝骞跺~鍏呮ā鍨嬬┖鑵旈儴浣嶃�傞�氳繃璁剧疆鏀拺鏉愭枡鐨勫寘瑁规ā寮忓彲鎺у埗鎵撳嵃妯″瀷鐨勮〃闈㈠厜娲佸害銆傝蒋浠舵彁渚涗簡涓ょ妯″紡锛屽彲鏍规嵁瀹為檯搴旂敤杩涜閫夋嫨銆�
                     </p>
 
                 </div>
@@ -517,11 +599,13 @@
                 <div class="bodystyle">
                     <p class="content">锛�1锛夊厜娲佽〃闈細鏀拺灏嗗寘瑁规ā鍨嬫憜鏀捐搴︿笅澶栧舰楂樼偣杞粨绾夸互涓嬬殑鍖哄煙锛岃疆寤撶嚎浠ヤ笂娌℃湁鏀拺鐨勯儴鍒嗕负楂樺害鍏夋磥琛ㄩ潰锛岃疆寤撶嚎浠ヤ笅鍖呰9鏀拺鐨勯儴鍒嗕负纾ㄧ爞闈㈡晥鏋溿��</p>
                     <p class="content">锛�2锛夌(鐮傝〃闈細鏀拺灏嗗寘瑁规ā鍨嬬殑鍏ㄩ儴琛ㄩ潰锛屾ā鍨嬭〃闈㈠叏閮ㄤ负纾ㄧ爞闈㈡晥鏋溿��</p>
-                    <p class="content"><span class="bold">4锛庤缃墦鍗板搧璐�</span>銆�鏍规嵁鎵撳嵃绮惧害鍜屾椂闂存湡闄愮殑鍏蜂綋鏉′欢锛屽彲閫夋嫨楂橀�燂紙HS锛夋垨楂樿川閲忥紙HQ锛夋ā寮忋��</p>
                     <p class="content"><span
-                            class="bold">5锛庨浼版墦鍗版椂闂村拰鏉愭枡娑堣��</span>銆�涓轰簡浜嗚В鎵撳嵃鏉愭枡娑堣�楁儏鍐典互渚胯瘎浼版墦鍗版垚鏈紝杞欢鍙牴鎹缃畬鎴愮殑鏁版嵁锛屽垵姝ラ浼板嚭妯″瀷鏉愭枡娑堣�椼�佹敮鎾戞潗鏂欐秷鑰楀強鎵撳嵃鎵�闇�瑕佺殑鏃堕棿銆�
+                            class="bold fontGreen">4锛庤缃墦鍗板搧璐�</span>銆�鏍规嵁鎵撳嵃绮惧害鍜屾椂闂存湡闄愮殑鍏蜂綋鏉′欢锛屽彲閫夋嫨楂橀�燂紙HS锛夋垨楂樿川閲忥紙HQ锛夋ā寮忋��</p>
+                    <p class="content"><span
+                            class="bold fontGreen">5锛庨浼版墦鍗版椂闂村拰鏉愭枡娑堣��</span>銆�涓轰簡浜嗚В鎵撳嵃鏉愭枡娑堣�楁儏鍐典互渚胯瘎浼版墦鍗版垚鏈紝杞欢鍙牴鎹缃畬鎴愮殑鏁版嵁锛屽垵姝ラ浼板嚭妯″瀷鏉愭枡娑堣�椼�佹敮鎾戞潗鏂欐秷鑰楀強鎵撳嵃鎵�闇�瑕佺殑鏃堕棿銆�
                     </p>
-                    <p class="content"><span class="bold">6锛庢鏌�</span>銆�鍏ㄩ儴璁剧疆瀹屾垚鍚庯紝鏍稿妫�鏌ュ悇涓幆鑺傜殑璁剧疆锛岀‘淇濇棤璇悗寮�濮嬫墦鍗帮紝灏嗘帓鐗堢粨鏋滃彂閫佺粰鎵撳嵃鏈恒��</p>
+                    <p class="content"><span
+                            class="bold fontGreen">6锛庢鏌�</span>銆�鍏ㄩ儴璁剧疆瀹屾垚鍚庯紝鏍稿妫�鏌ュ悇涓幆鑺傜殑璁剧疆锛岀‘淇濇棤璇悗寮�濮嬫墦鍗帮紝灏嗘帓鐗堢粨鏋滃彂閫佺粰鎵撳嵃鏈恒��</p>
                     <h3 class="thirdTitle">浜屻�佹ā鍨嬫墦鍗�</h3>
                     <p class="content">浠bjet
                         Eden260鎵撳嵃鏈轰负渚嬶紝鍏跺伐浣滃師鐞嗘槸PolyJet鎶�鏈�侽bjet鎵撳嵃鏈虹殑鑷姩鍖栫▼搴﹁緝楂橈紝鎿嶄綔姣旇緝绠�渚匡紝鍙湪杞欢涓洃鎺ф暣涓墦鍗拌繃绋嬨�侾olyJet鎶�鏈殑鍘熺悊锛氭墦鍗拌澶囩殑鎵撳嵃鍠峰ご鍏锋湁涓�缁勫瘑闆嗘帓鍒楃殑鎵撳嵃鍠峰槾锛屾瘡灞傛墦鍗版椂锛屾墦鍗板柗澶存部X杞存柟鍚戠Щ鍔紝鍚屾椂鍦ㄧ簿瀵嗘帶鍒朵笅浠ゆ墍鏈夊柗鍢村崗璋冭繍浣滐紝鍚屾鍚戞垚褰㈡墭鐩樼殑鐩稿簲杞粨浣嶇疆灏勫嚭涓�灞傚ぇ绾�0.016mm鐨勮秴钖勫厜鏁忔爲鑴傘�傚柗澶存灦涓婄殑绱绾跨伅鍦ㄦ爲鑴傚柗灏勭殑鍚屾椂鍙戝皠鐩稿簲娉㈤暱鐨勭传澶栫嚎鍏夛紝蹇�熷浐鍖栧綋鍓嶅眰鐨勫厜鏁忔爲鑴傦紝杩欑鍚屾鍥哄寲鐨勬柟妗堝ぇ澶ф彁楂樹簡鎵撳嵃鏁堢巼銆傛瘡娆℃墦鍗板畬鎴愬悗锛岀郴缁熷唴鐨勬垚褰㈡墭鐩樺皢涓嬮檷0.016mm锛堜竴灞傦級锛屽弽澶嶈繘琛岀洿鍒版ā鍨嬫墦鍗板畬鎴愩�傚叿浣撴搷浣滄楠ゅ涓嬨��
@@ -551,27 +635,30 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0134-01.jpg" style="width:80%" alt="" active="true" />
-                        <p class="imgdescript">鍥�5-3-1銆�鎵撳嵃涓殑妯″瀷</p>
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0134-01.jpg" style="width:80%" alt="鍥�5-3-1銆�鎵撳嵃涓殑妯″瀷"
+                            active="true" />
+                        <p class="imgdescript-b">鍥�5-3-1銆�鎵撳嵃涓殑妯″瀷</p>
                     </div>
-                    <div class="qrbodyPic">
-                        <img src="../../assets/images/0134-02.jpg" style="width:80%" alt="" active="true" />
+                    <div class="qrbodyPic openImgBox">
+                        <img src="../../assets/images/0134-02.jpg" style="width:80%" alt="鍥�5-3-2銆�鎵撳嵃瀹屾垚鐨勬爲鑴傛ā鍨�"
+                            active="true" />
                         <p class="imgdescript-b">鍥�5-3-2銆�鎵撳嵃瀹屾垚鐨勬爲鑴傛ā鍨�</p>
                         <p class="imgdescript-l">A锛庢爣璁扮墮榫堢殑妯″瀷鎵撳嵃瀹屾垚锛汢锛庢櫘閫氭ā鍨嬫墦鍗板畬鎴愩��</p>
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0026-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="center"><span class="bold">3D鎵撳嵃鏉愭枡鐨勭爺绌惰繘灞�</span></p>
-                    <p class="quotation">
-                        鐩墠鐢熺墿3D鎵撳嵃鍦ㄥ彛鑵斿尰瀛︿富瑕佸搴斿揩閫熷埗閫犲眰闈㈠拰蹇�熸垚鍨嬪眰闈紝鍖呮嫭妯″瀷銆佸鏉裤�佷慨澶嶄綋銆佹鐣搁檮浠剁瓑闈炴鍏ョ墿鐨勫埗浣滐紝浠ュ強涓嶅彲闄嶈В閲戝睘鐨勬鍏ョ墿鐨勫埗浣溿�備富瑕佺殑3D鎵撳嵃鏉愭枡鏈夊厜鍥哄寲鏍戣剛銆侀挻閾悎閲戙�佺函閽涘強鍏跺悎閲戠瓑銆傝繖浜涙潗鏂欒櫧鑳芥弧瓒充复搴婂簲鐢ㄧ殑闇�姹傦紝浣嗕篃鏈夌浉搴旂殑闂銆備緥濡傦紝鐩墠澶у鏁板晢涓氬寲绉嶆浣撳潎浠ョ函閽涙垨閽涘悎閲戜负鍘熸潗鏂欏姞宸ュ埗閫犺�屾垚锛屾绉嶇妞嶄綋涓庝汉浣撶粍缁囨湁鑹ソ鐨勭敓鐗╃浉瀹规�э紝浣嗘槸鍦ㄧ妞嶄綋涓庣墮榫堜氦鐣屽寰�寰�瀛樺湪閲戝睘棰滆壊鐨勬毚闇诧紝灏ゅ叾鏄湪鍑虹幇涓嶅悓绋嬪害鐨勭妞嶄綋鍛ㄥ洿鐐庣棁鐨勬儏鍐典笅锛岀編瑙傞棶棰樻洿鏄樉钁楋紱鍚屾椂閽涢噾灞炲紩璧风殑瀹夸富鍏嶇柅鍙嶅簲銆侀摑鍜岄拻绛夐噾灞炲厓绱犵殑閲婃斁绛夐棶棰樹篃浠や汉鎷呭咖銆�
-                    </p>
-                    <p class="quotation">
-                        闄剁摲鏉愭枡鍏锋湁浼樼鐨勭編瑙傛晥鏋滃拰鐢熺墿鐩稿鎬э紝浣嗗湪婵�鍏夌洿鎺ュ揩閫熺儳缁撴椂娑茬浉琛ㄩ潰寮犲姏澶э紝鍦ㄥ揩閫熷嚌鍥鸿繃绋嬩腑浼氫骇鐢熻緝澶х殑鐑簲鍔涳紝浠庤�屽舰鎴愯緝澶氬井瑁傜汗銆傜洰鍓嶏紝闄剁摲鐩存帴蹇�熸垚鍨嬪伐鑹哄皻鏈垚鐔燂紝鍥藉唴澶栨澶勪簬鐮旂┒闃舵锛岃繕娌℃湁瀹炵幇鍟嗗搧鍖栥��
-                    </p>
-                    <p class="quotation">
-                        閽涢攩鍚堥噾浣滀负涓�绉嶆柊鍨嬮挍鍚堥噾鏉愭枡锛屽讥琛ヤ簡浼犵粺閽涚妞嶄綋鏈烘寮哄害鏂归潰鐨勪笉瓒筹紝涓旀姉鑵愯殌鎬у拰鐢熺墿鐩稿鎬ф洿浣筹紝涓嶅惈鍙兘瀵逛汉浣撴湁瀹崇殑閾濆拰閽掔瓑鎴愬垎锛屽湪鍙h厰绉嶆棰嗗煙鍏锋湁骞块様鐨勫簲鐢ㄥ墠鏅�傜洰鍓嶉挍閿嗗悎閲戠獎鐩村緞绉嶆浣撳凡鍒濇搴旂敤浜庝复搴婏紝浣嗗彲鐢ㄤ簬3D鎵撳嵃鐨勫晢鍝佸寲鐨勯挍閿嗗悎閲戠矇鏈潗鏂欏嵈灏氭湭涓婂競銆�
-                    </p>
+                    <div class="knowledgeExpansion">
+                        <img class="knowledgeExpansion-img" src="../../assets/images/knowledgeExpansion.png" alt="" />
+                        <p class="center"><span class="bold">3D鎵撳嵃鏉愭枡鐨勭爺绌惰繘灞�</span></p>
+                        <p class="quotation">
+                            鐩墠鐢熺墿3D鎵撳嵃鍦ㄥ彛鑵斿尰瀛︿富瑕佸搴斿揩閫熷埗閫犲眰闈㈠拰蹇�熸垚鍨嬪眰闈紝鍖呮嫭妯″瀷銆佸鏉裤�佷慨澶嶄綋銆佹鐣搁檮浠剁瓑闈炴鍏ョ墿鐨勫埗浣滐紝浠ュ強涓嶅彲闄嶈В閲戝睘鐨勬鍏ョ墿鐨勫埗浣溿�備富瑕佺殑3D鎵撳嵃鏉愭枡鏈夊厜鍥哄寲鏍戣剛銆侀挻閾悎閲戙�佺函閽涘強鍏跺悎閲戠瓑銆傝繖浜涙潗鏂欒櫧鑳芥弧瓒充复搴婂簲鐢ㄧ殑闇�姹傦紝浣嗕篃鏈夌浉搴旂殑闂銆備緥濡傦紝鐩墠澶у鏁板晢涓氬寲绉嶆浣撳潎浠ョ函閽涙垨閽涘悎閲戜负鍘熸潗鏂欏姞宸ュ埗閫犺�屾垚锛屾绉嶇妞嶄綋涓庝汉浣撶粍缁囨湁鑹ソ鐨勭敓鐗╃浉瀹规�э紝浣嗘槸鍦ㄧ妞嶄綋涓庣墮榫堜氦鐣屽寰�寰�瀛樺湪閲戝睘棰滆壊鐨勬毚闇诧紝灏ゅ叾鏄湪鍑虹幇涓嶅悓绋嬪害鐨勭妞嶄綋鍛ㄥ洿鐐庣棁鐨勬儏鍐典笅锛岀編瑙傞棶棰樻洿鏄樉钁楋紱鍚屾椂閽涢噾灞炲紩璧风殑瀹夸富鍏嶇柅鍙嶅簲銆侀摑鍜岄拻绛夐噾灞炲厓绱犵殑閲婃斁绛夐棶棰樹篃浠や汉鎷呭咖銆�
+                        </p>
+                        <p class="quotation">
+                            闄剁摲鏉愭枡鍏锋湁浼樼鐨勭編瑙傛晥鏋滃拰鐢熺墿鐩稿鎬э紝浣嗗湪婵�鍏夌洿鎺ュ揩閫熺儳缁撴椂娑茬浉琛ㄩ潰寮犲姏澶э紝鍦ㄥ揩閫熷嚌鍥鸿繃绋嬩腑浼氫骇鐢熻緝澶х殑鐑簲鍔涳紝浠庤�屽舰鎴愯緝澶氬井瑁傜汗銆傜洰鍓嶏紝闄剁摲鐩存帴蹇�熸垚鍨嬪伐鑹哄皻鏈垚鐔燂紝鍥藉唴澶栨澶勪簬鐮旂┒闃舵锛岃繕娌℃湁瀹炵幇鍟嗗搧鍖栥��
+                        </p>
+                        <p class="quotation">
+                            閽涢攩鍚堥噾浣滀负涓�绉嶆柊鍨嬮挍鍚堥噾鏉愭枡锛屽讥琛ヤ簡浼犵粺閽涚妞嶄綋鏈烘寮哄害鏂归潰鐨勪笉瓒筹紝涓旀姉鑵愯殌鎬у拰鐢熺墿鐩稿鎬ф洿浣筹紝涓嶅惈鍙兘瀵逛汉浣撴湁瀹崇殑閾濆拰閽掔瓑鎴愬垎锛屽湪鍙h厰绉嶆棰嗗煙鍏锋湁骞块様鐨勫簲鐢ㄥ墠鏅�傜洰鍓嶉挍閿嗗悎閲戠獎鐩村緞绉嶆浣撳凡鍒濇搴旂敤浜庝复搴婏紝浣嗗彲鐢ㄤ簬3D鎵撳嵃鐨勫晢鍝佸寲鐨勯挍閿嗗悎閲戠矇鏈潗鏂欏嵈灏氭湭涓婂競銆�
+                        </p>
+                    </div>
 
                 </div>
                 <div class="page-bottom-left">118</div>
@@ -586,30 +673,143 @@
                 </div>
                 <div class="bodystyle">
                     <p class="quotation">鍙檷瑙f潗鏂欏拰娲讳綋缁嗚優鐨�3D鎵撳嵃锛屼篃鏄棩鍚�3D鎵撳嵃鍦ㄥ彛鑵斿尰瀛﹂鍩熷簲鐢ㄦ帰绱㈢殑涓�涓噸瑕佹柟鍚戙��</p>
-                    <p class="titleQuot-1">銆愪换鍔¤瘎浠枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愪换鍔¤瘎浠枫��</p>
                     <p class="content">鏍戣剛涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯瑙佽〃5-3-1銆�</p>
-                    <p class="imgtitle">琛�5-3-1銆�鏍戣剛涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯</p>
-                    <div class="bodyPic"><img src="../../assets/images/0135-01.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <div class="bodyPic"><img src="../../assets/images/0135-02.jpg" style="width:80%" alt=""
-                            active="true" /></div>
-                    <p class="right-info">锛堥粍纰у潳銆�榛勮搲銆�鍚曠鑿婏級</p>
+                    <p class="imgtitle bold">琛�5-3-1銆�鏍戣剛涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯</p>
+                    <div class="bodyPic"><img src="../../assets/images/0135-01.jpg"
+                            style="width:100%;margin-top: -10px;" alt="琛�5-3-1銆�鏍戣剛涓夌淮鎵撳嵃宸ヨ壓浠诲姟璇勪环鏍囧噯" active="true" /></div>
 
+                    <div class="unitSummary mb-20">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B17'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 閲戝睘涓夌淮鎵撳嵃">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 閲戝睘涓夌淮鎵撳嵃</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B18'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鏍戣剛涓夌淮鎵撳嵃">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鏍戣剛涓夌淮鎵撳嵃</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('B19'))">
+                                <img class="theme-color" src="../../assets/images/tuoZhan.svg" alt="" />
+                                <span title="椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鏁版帶鍔犲伐宸ヨ壓">椤圭洰浜� 鑰冭瘯鐭ヨ瘑鐐� 鏁版帶鍔犲伐宸ヨ壓</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="unitSummary">
+                        <div class="summary-content">
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C17'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 閲戝睘涓夌淮鎵撳嵃 灏忕粨">椤圭洰浜� 閲戝睘涓夌淮鎵撳嵃 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C18'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 鏍戣剛涓夌淮鎵撳嵃 灏忕粨">椤圭洰浜� 鏍戣剛涓夌淮鎵撳嵃 灏忕粨</span>
+                            </div>
+                            <div class="summary-content-box" @click="toUrl(getResourceInfo('C19'))">
+                                <img class="theme-color" src="../../assets/images/zongJie.svg" alt="" />
+                                <span title="椤圭洰浜� 鏁版帶鍔犲伐宸ヨ壓 灏忕粨">椤圭洰浜� 鏁版帶鍔犲伐宸ヨ壓 灏忕粨</span>
+                            </div>
+                        </div>
+                    </div>
+                    <div class="knowledgeExpansion">
+                        <div class="questionBank">
+                            <img src="../../assets/images/sanJiao.svg" alt="" />
+                            <span>棰樺簱</span>
+                        </div>
+                        <div class="knowledgeExpansion-box">
+                            <img src="../../assets/images/tuoZhan.svg" alt="" />
+                            <span @click="openQuestion(getResourceInfo('AA6'))">鎷撳睍缁冧範</span>
+                        </div>
+                    </div>
+                    <p class="right-info">锛堥粍纰у潳銆�榛勮搲銆�鍚曠鑿婏級</p>
                 </div>
                 <div class="page-bottom-right">119</div>
             </div>
         </div>
+        <preView :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef"></preView>
+        <dialogExaminations :cardList="interfaceQuestion" :questionIDList="questionIDList" :page="questionNum"
+            :questionTitle="questionTitleMain" ref="dialogRef">
+        </dialogExaminations>
     </div>
 </template>
 
 
 <script>
+import preView from "@/components/pdfview/index.vue";
+import dialogExaminations from "@/components/dialogExaminations/index.vue";
 export default {
     name: "chapterSix",
     props: {
         showPageList: {
             type: Array,
         },
+        getResourceInfo: {
+            type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
+            required: true,
+        },
+        interfaceQuestion: {
+            type: Array,
+            required: true,
+            default: () => [],
+        },
+    },
+    components: {
+        preView,
+        dialogExaminations,
+    },
+    data() {
+        return {
+            p_md5: "",
+            somePdfTitleValue: "",
+            // 棰樼洰鐩稿叧
+            questionNum: 0,
+            questionTitleMain: "",
+            questionIDList: [],
+            questionData: {
+                one: "",
+                two: "",
+                three: "",
+                fore: "",
+                five: "",
+                six: "",
+                seven: ""
+            }
+        };
+    },
+    mounted() {
+        this.getQuestionData()
+    },
+    methods: {
+
+        toUrl(val) {
+            if (val != null) {
+                this.p_md5 = val.md5;
+                this.somePdfTitleValue = val.resourceName;
+                this.$refs.pdfDialogRef.openDialog();
+            }
+        },
+        openQuestion(val) {
+            if (val != undefined) {
+                this.questionNum = val.pagination;
+                this.questionTitleMain = val.resourceName;
+                this.questionIDList = val.ids;
+                this.$nextTick(() => {
+                    this.$refs.dialogRef.openDialogQuestion();
+                });
+            }
+        },
+        setQuestionData() {
+            localStorage.setItem(
+                "digitalDentalRestorationTechnology-book-chapter06-questionData",
+                JSON.stringify(this.questionData)
+            );
+        },
+        getQuestionData() {
+            let questionData = localStorage.getItem("digitalDentalRestorationTechnology-book-chapter06-questionData");
+            if (questionData) {
+                this.questionData = JSON.parse(questionData);
+            }
+        },
     },
 }
 </script>
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/chapter007.vue b/src/books/digitalDentalRestorationTechnology/view/components/chapter007.vue
index 1a76083..1123a17 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/chapter007.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/chapter007.vue
@@ -5,31 +5,29 @@
             <div v-if="showPageList.indexOf(126) > -1">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l mb-70 pt-70">椤圭洰鍏��瀹炶鏁欑▼</h1>
+                    <bookVideo :videoInfo="getResourceInfo('D18')" :BookId="config.activeBook.bookId"></bookVideo>
                     <h2 class="secondTitle">宸ヤ綔璁粌涓�銆�鍙e唴鎵弿鍙婃ā鍨嬪鍏�</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0136-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庤兘澶熺啛缁冨垱寤哄彛鍐呮壂鎻忚鍗曘��</p>
                     <p class="content">2锛庣啛鎮夊彛鍐呮壂鎻忕殑鎿嶄綔姝ラ銆�</p>
                     <p class="content">3锛庢帉鎻″彛鍐呮壂鎻忎华鐨勬牎鍑嗘柟娉曘��</p>
                     <p class="content">4锛庤兘澶熺啛缁冨鍑烘暟鎹��</p>
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">瀹屾垚鍙e唴鎵弿銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">2瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
                     <p class="content">1锛庡疄璁澶囥��鍙e唴鎵弿浠強杞欢銆佺數鑴戙��</p>
                     <p class="content">2锛庡疄璁潗鏂欍��涓婁笅棰岀墮鍒椼�佷豢澶存ā銆佷竴娆℃�у彛鑵斿櫒姊扮洅銆佹墜濂椼�佹鐞冦�佷笁鐢ㄦ灙澶淬�佸惛鍞剧銆侀伩姹¤啘銆�</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
                     <p class="poemtitle-l">涓�銆佹壂鎻忓墠鍑嗗</p>
                     <p class="content"><span
-                            class="bold">1锛庡惎鍔ㄦ壂鎻忎华骞舵牎鍑�</span>銆�寮�鍚數鑴戯紝杩炴帴鎵弿浠�傚弻鍑绘墦寮�鎵弿绋嬪簭锛屾鏌ョ▼搴忔洿鏂板拰鏍″噯鎯呭喌銆傛牎鍑嗘椂锛屽皢鎵弿澶村彇涓嬶紝杩炴帴鏍″噯澶淬�傛牴鎹郴缁熸彁绀猴紝瀹屾垚鏍″噯銆傞儴鍒嗗巶瀹剁殑鎵弿浠渶瑕佸崟鐙繘琛岄鑹叉牎鍑嗭紝鏈夌殑鍘傚灏嗙偣浣嶆牎鍑嗗拰棰滆壊鏍″噯鍚堝苟涓烘爣瀹氫华銆傚彲浠ユ牴鎹叿浣撹澶囦笉鍚岋紝杩涜璋冩暣銆傛壂鎻忎华鏍″噯鎿嶄綔涓�鑸嚑鍒嗛挓鍗冲彲瀹屾垚銆�
+                            class="bold fontGreen">1锛庡惎鍔ㄦ壂鎻忎华骞舵牎鍑�</span>銆�寮�鍚數鑴戯紝杩炴帴鎵弿浠�傚弻鍑绘墦寮�鎵弿绋嬪簭锛屾鏌ョ▼搴忔洿鏂板拰鏍″噯鎯呭喌銆傛牎鍑嗘椂锛屽皢鎵弿澶村彇涓嬶紝杩炴帴鏍″噯澶淬�傛牴鎹郴缁熸彁绀猴紝瀹屾垚鏍″噯銆傞儴鍒嗗巶瀹剁殑鎵弿浠渶瑕佸崟鐙繘琛岄鑹叉牎鍑嗭紝鏈夌殑鍘傚灏嗙偣浣嶆牎鍑嗗拰棰滆壊鏍″噯鍚堝苟涓烘爣瀹氫华銆傚彲浠ユ牴鎹叿浣撹澶囦笉鍚岋紝杩涜璋冩暣銆傛壂鎻忎华鏍″噯鎿嶄綔涓�鑸嚑鍒嗛挓鍗冲彲瀹屾垚銆�
                     </p>
                 </div>
                 <div class="page-bottom-left">120</div>
             </div>
         </div>
-
         <!-- Page 127 (濂囨暟椤�) -->
         <div class="page-box" page="127">
             <div v-if="showPageList.indexOf(127) > -1">
@@ -39,37 +37,34 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">2锛庢劅鏌撻槻鎺�</span>銆�鎿嶄綔鍓嶏紝鍖荤敓搴旇韩鐫�鐧藉ぇ琛o紝甯﹀ソ甯藉瓙銆佸彛缃╁拰鎵嬪锛屽皢鍙e唴鎵弿浠墜鏌勭矘濂介伩姹¤啘锛屼负鎮h�呭噯澶囦竴娆℃�т娇鐢ㄧ殑鎵弿鍙i暅鎴栦繚鎶ゅ銆�</p>
-                    <p class="content"><span
-                            class="bold">3锛庤皟鑺備綋浣�</span>銆�鍖荤敓浣嶄簬鎮h�呭彸鍚庢柟銆傛偅鑰呭彇浠板崸浣嶏紝澶撮儴涓庡尰鐢熻倶閮ㄥ钩琛屻�傛壂鎻忎笂棰岀墮鏃讹紝鎮h�呭挰鍚堝钩闈笌鍦伴潰鎴�45掳锝�90掳锛涙壂鎻忎笅棰岀墮鏃讹紝鍜悎骞抽潰灏介噺涓庡湴闈㈠钩琛屻��
+                            class="bold fontGreen">2锛庢劅鏌撻槻鎺�</span>銆�鎿嶄綔鍓嶏紝鍖荤敓搴旇韩鐫�鐧藉ぇ琛o紝甯﹀ソ甯藉瓙銆佸彛缃╁拰鎵嬪锛屽皢鍙e唴鎵弿浠墜鏌勭矘濂介伩姹¤啘锛屼负鎮h�呭噯澶囦竴娆℃�т娇鐢ㄧ殑鎵弿鍙i暅鎴栦繚鎶ゅ銆�
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庡尰鎮f矡閫�</span>銆�鍖荤敓闇�鍚戞偅鑰呰В閲婃壂鎻忔搷浣滆繃绋嬶紝璇存槑鎿嶄綔杩囩▼涓殑娉ㄦ剰浜嬮」锛屽槺鎮h�呭敖閲忎繚鎸侀潤姝笉鍔紱鎵弿鍓嶈鎮h�呮急鍙e幓闄ゅ彛鍐呯殑娈嬫福锛屾斁缃惛鍞剧鎴栨鍗凤紝鍚稿共鎵弿鍖哄煙鐨勫斁娑层��
+                            class="bold fontGreen">3锛庤皟鑺備綋浣�</span>銆�鍖荤敓浣嶄簬鎮h�呭彸鍚庢柟銆傛偅鑰呭彇浠板崸浣嶏紝澶撮儴涓庡尰鐢熻倶閮ㄥ钩琛屻�傛壂鎻忎笂棰岀墮鏃讹紝鎮h�呭挰鍚堝钩闈笌鍦伴潰鎴�45掳锝�90掳锛涙壂鎻忎笅棰岀墮鏃讹紝鍜悎骞抽潰灏介噺涓庡湴闈㈠钩琛屻��
+                    </p>
+                    <p class="content"><span
+                            class="bold fontGreen">4锛庡尰鎮f矡閫�</span>銆�鍖荤敓闇�鍚戞偅鑰呰В閲婃壂鎻忔搷浣滆繃绋嬶紝璇存槑鎿嶄綔杩囩▼涓殑娉ㄦ剰浜嬮」锛屽槺鎮h�呭敖閲忎繚鎸侀潤姝笉鍔紱鎵弿鍓嶈鎮h�呮急鍙e幓闄ゅ彛鍐呯殑娈嬫福锛屾斁缃惛鍞剧鎴栨鍗凤紝鍚稿共鎵弿鍖哄煙鐨勫斁娑层��
                     </p>
                     <p class="poemtitle-l">浜屻�佸彛鍐呮壂鎻�</p>
                     <p class="content">鍙e唴鎵弿鐨勪复搴婃搷浣滀富瑕佸寘鎷笁涓楠わ細鍒涘缓璁㈠崟銆佽幏鍙栧浘鍍忋�佹暟鎹鐞嗗強涓婁紶銆�</p>
-                    <p class="content"><span class="bold">1锛庡垱寤鸿鍗�</span>銆�寤虹珛鏂版偅鑰咃紝濉啓鎮h�呭熀鏈俊鎭紝鍒涘缓鏂扮梾渚嬭鍗曪紝璇︾粏濉啓鐗欎綅鍙婂叾淇鐨勮璁℃柟妗堛�佷慨澶嶆潗鏂欑瓑淇℃伅銆�
+                    <p class="content"><span
+                            class="bold fontGreen">1锛庡垱寤鸿鍗�</span>銆�寤虹珛鏂版偅鑰咃紝濉啓鎮h�呭熀鏈俊鎭紝鍒涘缓鏂扮梾渚嬭鍗曪紝璇︾粏濉啓鐗欎綅鍙婂叾淇鐨勮璁℃柟妗堛�佷慨澶嶆潗鏂欑瓑淇℃伅銆�
                     </p>
-                    <p class="content"><span class="bold">2锛庤幏鍙栧浘鍍�</span>銆�鎸夌収涓嬮鈫掍笂棰屸啋鍜悎鐨勯『搴忥紝渚濇瀹屾垚鍙h厰鎵弿銆�</p>
-                    <p class="content">锛�1锛夋壂鎻�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈細鎵弿澶村鍑嗘湯绔(鐗�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈紝寮�濮嬫壂鎻忥紝鐢变竴渚у悜鍙︿竴渚ф壂鎻�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈€�傚悗鐗欏尯闀滃ご骞宠浜�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈紝鍓嶇墮鍖洪暅澶村仛灏忓箙搴﹀攪鑸屼晶缈昏浆銆�</p>
+                    <p class="content"><span class="bold fontGreen">2锛庤幏鍙栧浘鍍�</span>銆�鎸夌収涓嬮鈫掍笂棰屸啋鍜悎鐨勯『搴忥紝渚濇瀹屾垚鍙h厰鎵弿銆�</p>
+                    <p class="content">锛�1锛夋壂鎻忦瑢楅潰锛氭壂鎻忓ご瀵瑰噯鏈纾ㄧ墮瓞寳闈紝寮�濮嬫壂鎻忥紝鐢变竴渚у悜鍙︿竴渚ф壂鎻忦瑢楅潰銆傚悗鐗欏尯闀滃ご骞宠浜庰瑢楅潰锛屽墠鐗欏尯闀滃ご鍋氬皬骞呭害鍞囪垖渚х炕杞��</p>
                     <p class="content">
                         锛�2锛夋壂鎻忚垖闈細灏嗛暅澶存湞鍚戠墮寮撹垖渚э紝浣挎壂鎻忔灙灏介噺鍨傜洿浜庣墮寮擄紝閫傚綋鎵浆闀滃ご纭繚鎵弿鍒拌垖渚ц繎杩滀腑閭婚潰銆傛壂鎻忔湯绔(鐗欒繙涓潰鏃讹紝鍢辨偅鑰呭槾宸村井闂紝闀滃ご灏介噺浼稿悜鏈纾ㄧ墮杩滀腑锛屽仛灏忓箙搴︾殑棰婅垖渚ц浆鍔紝纭繚鎵叏杩滀腑闈㈢殑淇℃伅銆�
                     </p>
-                    <p class="content">锛�3锛夋壂鎻忓攪棰婇潰锛氫粠纾ㄧ墮杩滀腑鍚戜腑绾胯繘琛屾壂鎻忥紝鍚庣墮鍖洪暅澶翠笌<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />闈㈡垚澶х害45掳銆傛壂鍓嶇墮鏃讹紝鎵弿鏋彲浠ユí鍚戞彙鎸併��</p>
+                    <p class="content">锛�3锛夋壂鎻忓攪棰婇潰锛氫粠纾ㄧ墮杩滀腑鍚戜腑绾胯繘琛屾壂鎻忥紝鍚庣墮鍖洪暅澶翠笌瓞寳闈㈡垚澶х害45掳銆傛壂鍓嶇墮鏃讹紝鎵弿鏋彲浠ユí鍚戞彙鎸併��</p>
                     <p class="content">
                         锛�4锛夋壂鎻忓挰鍚堬細鍢辨偅鑰呭仛姝d腑鍜悎锛岀敤鍙i暅鐗垫媺鍙h锛屾壂鎻忓ご缃簬鐗欏紦棰婁晶锛岄暅澶翠綅浜庝笂涓嬮涓棿锛屽彇鏅櫒鍐呰兘鍚屾椂鐪嬪埌涓婁笅棰岀墮鍙婂叾鍜悎鐘舵�併�備粠鍚庡悜鍓嶆尝娴紡绉诲姩锛屼緷娆″畬鎴愬弻渚у挰鍚堟壂鎻忋��</p>
                     <p class="content">
                         锛�5锛夋鏌ュ強淇暣锛氬崟棰屾壂鎻忓畬鎴愬悗锛屼粠鍓嶅悜鍚庡疄鏃舵鏌ユ壂鎻忓浘鍍忥紝濡傛湁閬楁紡鎴栨ā绯婄殑鍖哄煙锛屽彲閲嶆柊鎵弿銆傚鏋滃浘鍍忓畬鏁达紝鍙鎵弿鍥惧儚鐨勮竟缂樿繘琛岄�傚綋淇暣銆傚叏鍙f壂鎻忓畬鎴愬悗锛屾鏌ユ暣浣撴暟鎹槸鍚﹀瓨鍦ㄧ己澶辨垨閲嶅彔銆�
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庢暟鎹鐞嗗強涓婁紶</span>銆�鍦ㄨ蒋浠朵腑缂栬緫鍜屼紭鍖栨壂鎻忔暟鎹紝鐢熸垚涓夌淮鏁板瓧妯″瀷锛屽鍑哄紑鏀捐緭鍑烘牸寮忕殑妯″瀷鏂囦欢銆傚皢鎵弿鏁版嵁淇濆瓨鍦ㄦ偅鑰呯梾渚嬫。妗堜腑銆傚皢鏁版嵁鍙戦�佺粰鎶�宸ュ杩涜鍚庣画3D妯″瀷鎵撳嵃鎴朇AD/CAM鎿嶄綔銆�
+                            class="bold fontGreen">3锛庢暟鎹鐞嗗強涓婁紶</span>銆�鍦ㄨ蒋浠朵腑缂栬緫鍜屼紭鍖栨壂鎻忔暟鎹紝鐢熸垚涓夌淮鏁板瓧妯″瀷锛屽鍑哄紑鏀捐緭鍑烘牸寮忕殑妯″瀷鏂囦欢銆傚皢鎵弿鏁版嵁淇濆瓨鍦ㄦ偅鑰呯梾渚嬫。妗堜腑銆傚皢鏁版嵁鍙戦�佺粰鎶�宸ュ杩涜鍚庣画3D妯″瀷鎵撳嵃鎴朇AD/CAM鎿嶄綔銆�
                     </p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庤繘琛屽彛鍐呮壂鎻忓墠锛屽簲妫�鏌ヨ蒋浠舵槸鍚︽洿鏂帮紝骞跺鎵弿浠繘琛屾牎鍑嗐��</p>
                     <p class="content">2锛庝弗鏍兼寜鐓ф搷浣滄楠や娇鐢ㄥ彛鍐呮壂鎻忎华銆�</p>
                     <p class="content">3锛庢搷浣滃墠涓庢偅鑰呰繘琛屾矡閫氾紝璇存槑娉ㄦ剰浜嬮」銆�</p>
@@ -91,24 +86,24 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">宸ヤ綔璁粌浜屻��姘у寲閿嗚В鍓栧啝璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0138-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <bookVideo :videoInfo="getResourceInfo('D8')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庣啛鎮夆�淓xocad鈥濇搷浣滅郴缁燂紝浠ュ強杞欢涓悇绉嶅伐鍏风殑鍔熻兘鍙婁娇鐢ㄦ柟娉曘��</p>
                     <p class="content">2锛庢帉鎻♀�淓xocad鈥濊В鍓栧啝鐨勮璁℃祦绋嬪強璁捐瑕佺偣銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">璁捐16姘у寲閿嗚В鍓栧啝銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">4瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
-                    <p class="content"><span class="bold">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆佺數鑴戙��</p>
-                    <p class="content"><span class="bold">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷鎴栨壂鎻忔暟鎹寘銆�</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
-                    <p class="content"><span class="bold">1锛庡惎鍔ㄥ伐浣�</span>銆�鎺ラ�氱數婧愶紝鍚姩鐢佃剳妗岄潰锛屽弻鍑烩�淓XO鈥濆浘鏍囪繘鍏ヨ蒋浠剁晫闈紝杩涜淇浣撹璁°��</p>
-                    <p class="content"><span
-                            class="bold">2锛庡缓绔嬭鍗�</span>銆�鏍规嵁鎶�宸ュ崟淇℃伅寤虹珛璁㈠崟锛屽湪鍙抽敭鑿滃崟涓嬮�夋嫨鈥滃鍏ユ壂鎻忔暟鎹�濆畬鎴愮涓夋柟鏁版嵁鐨勫鍏ワ紙鏁版嵁鏍煎紡鍙互鏄疭TL銆丳LY銆丏CM锛夈�傛寜鐓у乏涓婅鏁版嵁瀵煎叆鎻愮ず锛屽鍏ュ伐浣滄ā鍨嬪強瀵归妯″瀷銆�
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆佺數鑴戙��</p>
+                    <p class="content"><span class="bold fontGreen">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷鎴栨壂鎻忔暟鎹寘銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡惎鍔ㄥ伐浣�</span>銆�鎺ラ�氱數婧愶紝鍚姩鐢佃剳妗岄潰锛屽弻鍑烩�淓XO鈥濆浘鏍囪繘鍏ヨ蒋浠剁晫闈紝杩涜淇浣撹璁°��
                     </p>
-                    <p class="content"><span class="bold">3锛庤璁�</span>銆�鐐瑰嚮鈥滆璁♀�濇寜閽紝杩涘叆璁捐鐣岄潰銆�</p>
+                    <p class="content"><span
+                            class="bold fontGreen">2锛庡缓绔嬭鍗�</span>銆�鏍规嵁鎶�宸ュ崟淇℃伅寤虹珛璁㈠崟锛屽湪鍙抽敭鑿滃崟涓嬮�夋嫨鈥滃鍏ユ壂鎻忔暟鎹�濆畬鎴愮涓夋柟鏁版嵁鐨勫鍏ワ紙鏁版嵁鏍煎紡鍙互鏄疭TL銆丳LY銆丏CM锛夈�傛寜鐓у乏涓婅鏁版嵁瀵煎叆鎻愮ず锛屽鍏ュ伐浣滄ā鍨嬪強瀵归妯″瀷銆�
+                    </p>
+                    <p class="content"><span class="bold fontGreen">3锛庤璁�</span>銆�鐐瑰嚮鈥滆璁♀�濇寜閽紝杩涘叆璁捐鐣岄潰銆�</p>
                     <p class="content">
                         锛�1锛夌‘瀹氶缂樼嚎锛氬湪妯″瀷鐨勯缂樺鍗曞嚮锛岀郴缁熶細鑷姩璇嗗埆棰堢紭绾裤�傚彲浠ラ�氳繃鎷栧姩棰堢紭绾夸笂鐨勫渾鐐硅繘琛屼慨鏁达紝涔熷彲浠ラ�氳繃鐢荤嚎鐨勬柟寮忓揩閫熺紪杈戦缂樼殑浣嶇疆銆傞缂樼嚎涓�鏃﹁繘鍏ュ�掑嚬鍖猴紝灏变細鍙樻垚绾㈣壊锛堟甯镐负缁胯壊锛夈��
                     </p>
@@ -135,35 +130,31 @@
                     <p class="content">鑷敱閫夐」涓殑鈥滃鍔�/鍑忓皯鈥濃�滃厜婊�/骞虫暣鈥濈瓑宸ュ叿锛屽彲閫氳繃璋冩暣鐢荤瑪寮哄害鍜岀敾绗旇寖鍥达紝瀵逛慨澶嶄綋褰㈡�佽繘琛屼慨鏀广��</p>
                     <p class="content">瑙e墫褰㈡�侀�夐」涓殑鈥滅墮灏栤�濃�滈儴鍒嗙墮榻库�濃�滄暣涓墮榻库�濃�滃荡鈥濈瓑宸ュ叿锛屽彲浠ュ淇浣撳舰鎬佽繘琛屼慨鏀广��</p>
                     <p class="content">鈥滈�傚簲璋冩暣鈥濋�夐」涓紝閫氳繃鏅鸿兘鍙傛暟璋冩暣淇浣撹Е鐐规澗绱у害涓庡挰鍚堛��</p>
-                    <p class="content"><span class="bold">4锛庢鏌ヨ璁�</span>銆�妫�鏌ヤ慨澶嶄綋澶栧睍闅欍�佸褰㈤珮鐐广�侀偦鎺ュ尯绛夋槸鍚︾鍚堣姹傦紝鏄惁绗﹀悎鐗欏垪鐨勫崗璋冩�с��</p>
+                    <p class="content"><span class="bold fontGreen">4锛庢鏌ヨ璁�</span>銆�妫�鏌ヤ慨澶嶄綋澶栧睍闅欍�佸褰㈤珮鐐广�侀偦鎺ュ尯绛夋槸鍚︾鍚堣姹傦紝鏄惁绗﹀悎鐗欏垪鐨勫崗璋冩�с��
+                    </p>
                     <p class="content"><span
-                            class="bold">5锛庝繚瀛樿璁$粨鏋�</span>銆�鍗曞嚮鈥滀繚瀛樷�濓紝淇濆瓨璁捐缁撴灉锛屽畬鎴怌AD璁捐銆傚湪鎸囧畾鐨勬枃浠跺す涓紝鎵惧埌DCM鎴朣TL鏍煎紡鐨勬暟鎹紝浼犻�佺粰閾e簥宸ヤ綔浜哄憳鍗冲彲銆�</p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                            class="bold fontGreen">5锛庝繚瀛樿璁$粨鏋�</span>銆�鍗曞嚮鈥滀繚瀛樷�濓紝淇濆瓨璁捐缁撴灉锛屽畬鎴怌AD璁捐銆傚湪鎸囧畾鐨勬枃浠跺す涓紝鎵惧埌DCM鎴朣TL鏍煎紡鐨勬暟鎹紝浼犻�佺粰閾e簥宸ヤ綔浜哄憳鍗冲彲銆�
+                    </p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庘�淓xocad鈥濊璁¤蒋浠跺ぇ澶氭暟娴佺▼閮芥槸鑷姩鍖栫殑鎿嶄綔锛屼絾鎿嶄綔鑰呭簲鏍规嵁淇浣撳疄闄呮儏鍐典笌杩囧線缁忛獙锛屼釜鎬у寲鍦板淇浣撹繘琛岃璁°��</p>
                     <p class="content">2锛庡缓绔嬭鍗曟椂搴斾弗鏍兼寜鐓у尰鐢熸彁渚涚殑璁捐鍗曢�夋嫨淇浣撶被鍨嬶紝鍒朵綔鐗欎綅鍜屾潗鏂欍�傝鍗曠紪鐮佷笌璁捐鍗曠紪鐮佽涓�鑷达紝鏂逛究鏃ュ悗鏌ユ壘銆�</p>
                     <p class="content">3锛庡湪姣忎釜娴佺▼鐨勬搷浣滆繃绋嬩腑锛堝纭畾棰堢紭绾裤�佷慨澶嶄綋褰㈡�佽璁$瓑锛夛紝鎿嶄綔鑰呭簲璇ヤ粠澶氫釜瑙掑害杩涜瑙傛祴锛屼笉鍙粠鍗曚竴瑙掑害瀹屾垚淇浣撶殑璁捐銆�</p>
-                    <p class="content">4锛庤缃棿闅欏墏鏃讹紝瀵逛簬杈冨皷閿愮殑鍓嶇墮锛堝涓嬮鍓嶇墮锛夛紝鍙皢绮樻帴鍓傚帤搴﹂�傚綋澧炲ぇ锛涘浜�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />榫堝緞鐭�佽仛鍚堣搴﹀皬鐨勫熀鐗欙紝鍙皢绮樻帴鍓傚帤搴﹂�傚綋璋冨皬銆�</p>
+                    <p class="content">4锛庤缃棿闅欏墏鏃讹紝瀵逛簬杈冨皷閿愮殑鍓嶇墮锛堝涓嬮鍓嶇墮锛夛紝鍙皢绮樻帴鍓傚帤搴﹂�傚綋澧炲ぇ锛涘浜庰瑢楅緢寰勭煭銆佽仛鍚堣搴﹀皬鐨勫熀鐗欙紝鍙皢绮樻帴鍓傚帤搴﹂�傚綋璋冨皬銆�</p>
                     <p class="content">5锛庡湪杩涜淇浣撳舰鎬佽璁℃椂锛屽簲杩愮敤澶氱宸ュ叿锛屼笉鍚岀殑宸ュ叿鏈変笉鍚岀殑鎿嶄綔鏁堟灉銆�</p>
                     <p class="content">6锛庣‘淇濇瘡涓�姝ョ殑姝ラ姝g‘锛屾纭湁鏁堢殑鎿嶄綔鏄笅涓�涓祦绋嬪畬濂借繘琛岀殑鍓嶆彁銆�</p>
                     <p class="content">7锛庡熀鐗欐湁鍊掑嚬鏃讹紝鍦ㄤ笉褰卞搷杈圭紭瀵嗗悎搴︾殑鎯呭喌涓嬶紝瑕佸嬀閫夆�滅Щ闄ゅ�掑嚬鈥濆姛鑳姐��</p>
                     <p class="content">8锛庤璁$墮鍐犲舰鎬佽鏁翠綋鑰冭檻鏁翠釜鐗欏垪鐨勫崗璋冩�с��</p>
-                    <p class="content">9锛庢牴鎹偅鑰�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />鎺ヨЕ绫诲瀷纭畾鎺ヨЕ鏂瑰紡锛岃璁℃椂搴旇�冭檻鍓嶆鎺ヨЕ鍜屽悗姝㈡帴瑙︺�傚鏋滅妞嶄慨澶嶆垨鐗欏懆鐘跺喌涓嶄匠锛屽簲鍑忓皯鍜悎鎺ヨЕ鐐圭殑鏁伴噺锛屽噺灏�<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鍔涖��</p>
+                    <p class="content">9锛庢牴鎹偅鑰咅瑢楁帴瑙︾被鍨嬬‘瀹氭帴瑙︽柟寮忥紝璁捐鏃跺簲鑰冭檻鍓嶆鎺ヨЕ鍜屽悗姝㈡帴瑙︺�傚鏋滅妞嶄慨澶嶆垨鐗欏懆鐘跺喌涓嶄匠锛屽簲鍑忓皯鍜悎鎺ヨЕ鐐圭殑鏁伴噺锛屽噺灏戰瑢楀姏銆�</p>
                     <p class="right-info">锛堝粬娓呬笁锛�</p>
                     <h2 class="secondTitle">宸ヤ綔璁粌涓夈��鍏ㄧ摲妗AD璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0139-04.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <bookVideo :videoInfo="getResourceInfo('D12')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庣啛鎮夎В鍓栧浐瀹氭ˉ鐨勮璁℃楠ゃ��</p>
                     <p class="content">2锛庣啛鎮夎蒋浠朵腑鐨勫悇绉嶅伐鍏峰強鍙傛暟鐨勮皟鏀逛娇鐢ㄦ柟娉曘��</p>
-
                 </div>
                 <div class="page-bottom-right">123</div>
             </div>
         </div>
-
         <!-- Page 130 (鍋舵暟椤�) -->
         <div class="page-box" page="130">
             <div v-if="showPageList.indexOf(130) > -1">
@@ -173,31 +164,30 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">浠�3鍗曚綅鍥哄畾妗ヤ慨澶嶄负渚嬶紙濡�25缂哄け锛屼互24銆�26涓哄熀鐗欙級锛屼娇鐢‥xocad璁捐杞欢杩涜瑙e墫寮忓叏鐡锋ˉCAD鐨勮璁°��</p>
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">4瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
-                    <p class="content"><span class="bold">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆佺數鑴戙��</p>
-                    <p class="content"><span class="bold">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷鎴栨壂鎻忔暟鎹寘銆�</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
-                    <p class="content"><span class="bold">1锛庡垱寤鸿鍗�</span>銆�杈撳叆璁㈠崟鍙枫�佸鎴蜂俊鎭強鍒朵綔鎶�甯堢瓑鍐呭銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆佺數鑴戙��</p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷鎴栨壂鎻忔暟鎹寘銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">1锛庡垱寤鸿鍗�</span>銆�杈撳叆璁㈠崟鍙枫�佸鎴蜂俊鎭強鍒朵綔鎶�甯堢瓑鍐呭銆�</p>
                     <p class="content"><span
-                            class="bold">2锛庨�夋嫨鐗欎綅銆佺‘瀹氫慨澶嶄綋绉嶇被</span>銆�鍦‥xocad鐗欎綅鍥剧數瀛愭妧宸ュ崟涓婄偣鍑�24鐗欎綅锛岄�夋嫨瑙e墫鍏ㄥ啝锛屾牴鎹尰鐢熸彁渚涚殑璁捐鍗曡姹傞�夋嫨姘у寲閿嗘潗鏂欙紝纭畾淇℃伅銆傜偣鍑�26鐗欎綅瀹屾垚鍚屾牱璁惧畾銆傜偣鍑�25鐗欎綅锛岄�夋嫨瑙e墫缂哄け鐗欍�佹哀鍖栭攩鏉愭枡锛岀‘瀹氫俊鎭�傜偣鍑诲棰岀墮鍙婇偦鐗欏畬鎴愯瀹氥�備繚瀛樺凡璁惧畾鐨勪俊鎭紝鐒跺悗鐐瑰嚮鍙充晶鈥滆璁♀�濇寜閽繘鍏ヨ璁¢〉闈€��
+                            class="bold fontGreen titleLeftmove">2锛庨�夋嫨鐗欎綅銆佺‘瀹氫慨澶嶄綋绉嶇被</span>銆�鍦‥xocad鐗欎綅鍥剧數瀛愭妧宸ュ崟涓婄偣鍑�24鐗欎綅锛岄�夋嫨瑙e墫鍏ㄥ啝锛屾牴鎹尰鐢熸彁渚涚殑璁捐鍗曡姹傞�夋嫨姘у寲閿嗘潗鏂欙紝纭畾淇℃伅銆傜偣鍑�26鐗欎綅瀹屾垚鍚屾牱璁惧畾銆傜偣鍑�25鐗欎綅锛岄�夋嫨瑙e墫缂哄け鐗欍�佹哀鍖栭攩鏉愭枡锛岀‘瀹氫俊鎭�傜偣鍑诲棰岀墮鍙婇偦鐗欏畬鎴愯瀹氥�備繚瀛樺凡璁惧畾鐨勪俊鎭紝鐒跺悗鐐瑰嚮鍙充晶鈥滆璁♀�濇寜閽繘鍏ヨ璁¢〉闈€��
                     </p>
-                    <p class="content"><span class="bold">3锛庡鍏ユ暟鎹�</span>銆�鎵弿妯″瀷鎴栧鍏ュ凡鏈夋暟鎹紙鏂规硶鍚屽伐浣滆缁冧簩锛夈��</p>
-                    <p class="content"><span
-                            class="bold">4锛庣‘瀹氳竟缂樼嚎浣嶇疆鍙婂叡鍚屽氨浣嶉亾鏂瑰悜</span>銆�浣跨敤杈圭紭绾挎娴嬪櫒缁樺埗鍩虹墮杈圭紭鑼冨洿锛屽苟淇敼鍚勫熀鐗欒竟缂樼嚎褰㈡�侊紝鏂规硶鍚屽崟鍐犱慨澶嶃�傚垽鏂�夋嫨鐨勫叡鍚屽氨浣嶉亾鏄惁鍚堥�傦紝褰撶敓鎴愮殑灏变綅閬撴柟鍚戜笉鐞嗘兂鏃跺彲浠ユ墜鍔ㄨ皟鏁达紝浠ヤ粠<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈刊瑙嗚瀵熷彲浠ョ湅鍒版墍鏈夊熀鐗欒竟缂樼嚎涓婄殑缁跨偣涓轰匠銆傛渶鍚庝慨鏀规墍閫夊熀鐗欑殑棰堢紭绾垮舰鎬侊紝浣块缂樼嚎褰㈡�佸噯纭�侀『婊戙��</p>
-                    <p class="content"><span
-                            class="bold">5锛庡簳閮ㄥ弬鏁拌瀹�</span>銆�鍦‥xocad杞欢鈥滃簳閮ㄥ弬鏁扳�濆伐鍏锋爮璁剧疆闂撮殭鍓傚帤搴︺�佸啝杈圭紭鍙傛暟銆佸�掑嚬澶勭悊涓庡垁鍏疯ˉ鍋跨殑鍙傛暟銆傛柟娉曞弬鑰冨叏鍐犺璁°�傞噾灞炲熀搴曠矘鎺ラ棿闅欎竴鑸彲璁惧畾涓�0.02mm锛岄噾灞炲熀搴曞啝杈圭紭鍘氬害鍙缃负0.1锝�0.3mm銆傜敱浜庡浐瀹氭ˉ鐨勫氨浣嶈緝鍗曞啝鍥伴毦锛屾墍浠ラ棿闅欏墏鍘氬害璁惧畾鍙瘮鍗曞啝绋嶅帤锛屾暟鎹瀹氬弬鑰冨叏鍐犺璁¢儴鍒嗐��
+                    <p class="content"><span class="bold fontGreen titleLeftmove">3锛庡鍏ユ暟鎹�</span>銆�鎵弿妯″瀷鎴栧鍏ュ凡鏈夋暟鎹紙鏂规硶鍚屽伐浣滆缁冧簩锛夈��
                     </p>
-                    <p class="content"><span class="bold">6锛庝慨澶嶄綋褰㈡�佽璁�</span></p>
+                    <p class="content"><span
+                            class="bold fontGreen titleLeftmove">4锛庣‘瀹氳竟缂樼嚎浣嶇疆鍙婂叡鍚屽氨浣嶉亾鏂瑰悜</span>銆�浣跨敤杈圭紭绾挎娴嬪櫒缁樺埗鍩虹墮杈圭紭鑼冨洿锛屽苟淇敼鍚勫熀鐗欒竟缂樼嚎褰㈡�侊紝鏂规硶鍚屽崟鍐犱慨澶嶃�傚垽鏂�夋嫨鐨勫叡鍚屽氨浣嶉亾鏄惁鍚堥�傦紝褰撶敓鎴愮殑灏变綅閬撴柟鍚戜笉鐞嗘兂鏃跺彲浠ユ墜鍔ㄨ皟鏁达紝浠ヤ粠瓞寳闈刊瑙嗚瀵熷彲浠ョ湅鍒版墍鏈夊熀鐗欒竟缂樼嚎涓婄殑缁跨偣涓轰匠銆傛渶鍚庝慨鏀规墍閫夊熀鐗欑殑棰堢紭绾垮舰鎬侊紝浣块缂樼嚎褰㈡�佸噯纭�侀『婊戙��
+                    </p>
+                    <p class="content"><span
+                            class="bold fontGreen titleLeftmove">5锛庡簳閮ㄥ弬鏁拌瀹�</span>銆�鍦‥xocad杞欢鈥滃簳閮ㄥ弬鏁扳�濆伐鍏锋爮璁剧疆闂撮殭鍓傚帤搴︺�佸啝杈圭紭鍙傛暟銆佸�掑嚬澶勭悊涓庡垁鍏疯ˉ鍋跨殑鍙傛暟銆傛柟娉曞弬鑰冨叏鍐犺璁°�傞噾灞炲熀搴曠矘鎺ラ棿闅欎竴鑸彲璁惧畾涓�0.02mm锛岄噾灞炲熀搴曞啝杈圭紭鍘氬害鍙缃负0.1锝�0.3mm銆傜敱浜庡浐瀹氭ˉ鐨勫氨浣嶈緝鍗曞啝鍥伴毦锛屾墍浠ラ棿闅欏墏鍘氬害璁惧畾鍙瘮鍗曞啝绋嶅帤锛屾暟鎹瀹氬弬鑰冨叏鍐犺璁¢儴鍒嗐��
+                    </p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">6锛庝慨澶嶄綋褰㈡�佽璁�</span></p>
                     <p class="content">
-                        锛�1锛夊熀鐗欑墮鍐犲舰鎬佽璁★細鏍规嵁鎮h�呬俊鎭強閭荤墮銆佸棰岀墮鐘跺喌锛屼粠鐗欓娇褰㈡�佸簱涓�夋嫨涓庝箣鍖归厤鐨勮В鍓栫墮鍐犵疆鍏ョ墮鍒楃浉搴旈儴浣嶏紝涔熷彲澶嶅埗鐩镐技鐗欏啝銆備娇鐢ㄢ�滄帓鍒楃墮榻夸綅缃�濆簲鐢ㄥ伐鍏锋爮閲岀殑绉诲姩銆佹棆杞�佺缉鏀惧姛鑳斤紝鍙牎姝g墮鍐犳憜浣嶏紝浣垮叾涓庤竟缂樼嚎瀵嗗悎锛屼笌閭荤墮銆佸棰岀墮鍗忚皟锛岀偣鍑烩�滅敓鎴愮墮鍐犫�濄�傚�熷姪鈥滆嚜鐢遍�犲瀷鈥濆伐鍏锋爮涓嬬殑鈥滆В鍓栧舰鎬佲�濊繘涓�姝ヨ皟鏁寸墮鍐犵殑褰㈡�佸拰鍑稿害锛岃皟鏁磋繃楂樻帴瑙︾偣锛屼笌瀵归鐗欏缓绔嬫甯哥殑瑕�<img
-                            class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />銆佽鐩栧叧绯汇�傜敤鈥滆嚜鐢遍�犲瀷鈥濆伐鍏锋爮涓嬬殑鈥滈�傚簲璋冩暣鈥濆伐鍏凤紝璋冩暣闈欐�佸挰鍚堬紝鍒囬櫎鏃╂帴瑙︾偣骞惰皟鏁翠笌閭荤墮鎺ヨЕ鐐圭殑鏉剧揣搴︺��</p>
+                        锛�1锛夊熀鐗欑墮鍐犲舰鎬佽璁★細鏍规嵁鎮h�呬俊鎭強閭荤墮銆佸棰岀墮鐘跺喌锛屼粠鐗欓娇褰㈡�佸簱涓�夋嫨涓庝箣鍖归厤鐨勮В鍓栫墮鍐犵疆鍏ョ墮鍒楃浉搴旈儴浣嶏紝涔熷彲澶嶅埗鐩镐技鐗欏啝銆備娇鐢ㄢ�滄帓鍒楃墮榻夸綅缃�濆簲鐢ㄥ伐鍏锋爮閲岀殑绉诲姩銆佹棆杞�佺缉鏀惧姛鑳斤紝鍙牎姝g墮鍐犳憜浣嶏紝浣垮叾涓庤竟缂樼嚎瀵嗗悎锛屼笌閭荤墮銆佸棰岀墮鍗忚皟锛岀偣鍑烩�滅敓鎴愮墮鍐犫�濄�傚�熷姪鈥滆嚜鐢遍�犲瀷鈥濆伐鍏锋爮涓嬬殑鈥滆В鍓栧舰鎬佲�濊繘涓�姝ヨ皟鏁寸墮鍐犵殑褰㈡�佸拰鍑稿害锛岃皟鏁磋繃楂樻帴瑙︾偣锛屼笌瀵归鐗欏缓绔嬫甯哥殑瑕嗮瑢椼�佽鐩栧叧绯汇�傜敤鈥滆嚜鐢遍�犲瀷鈥濆伐鍏锋爮涓嬬殑鈥滈�傚簲璋冩暣鈥濆伐鍏凤紝璋冩暣闈欐�佸挰鍚堬紝鍒囬櫎鏃╂帴瑙︾偣骞惰皟鏁翠笌閭荤墮鎺ヨЕ鐐圭殑鏉剧揣搴︺��
+                    </p>
                     <p class="content">锛�2锛夋ˉ浣撳舰鎬佽璁★細鍦ㄢ�滆嚜鐢遍�犲瀷鈥旈�傚簲璋冩暣鈥旂己澶辩墮鈥濆伐鍏锋爮灏嗏�滃埌鐗欓緢璺濈鈥濇暟鍊艰皟鏁翠负鈥�0鈥濇垨鑰呭井灏忕殑璐熷�硷紝浣挎ˉ浣撶粍缁囬潰涓庣墮妲藉荡淇濇寔鎺ヨЕ銆�</p>
 
                 </div>
@@ -213,39 +203,33 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="content">锛�3锛夊褰㈢粏鑺備慨鏁达細瀵�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈢殑娌熺獫銆佺墮灏栧荡銆佸褰㈤珮鐐圭瓑閮ㄤ綅杩涜绮剧粏璋冩暣锛屾牴鎹棰岀墮鍦ㄤ富鍔ㄤ腑浣嶈瀹氱殑<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />鎺ヨЕ鐐癸紝浣夸慨澶嶄綋鍦ㄧ墮灏栦氦閿欎綅杈惧埌绋冲畾鐨�<img class="s-pic"
-                            src="../../assets/images/0026_02.png"
-                            alt="" />鎺ヨЕ銆傛渶鍚庡皢淇浣撹〃闈㈡暣浣撲慨鏁村厜椤猴紝浣胯В鍓栨ˉ鑾峰緱婊℃剰鐨勫褰€�傚鍩虹墮鎯呭喌涓嶈壇锛屽彲閫傚綋鍑忓皯<img class="s-pic"
-                            src="../../assets/images/0026_02.png" alt="" />闈㈡帴瑙︾偣鐨勬暟閲忋�傝璁℃ˉ浣撴椂闇�瑕佹敞鎰忓噺寰勶紝搴旈伒鐓у尰鐢熺殑璁捐瑕佹眰銆�</p>
-                    <p class="content"><span
-                            class="bold">7锛庤繛鎺ヤ綋璁捐</span>銆�鍦ㄢ�滆繛鎺ユ潌鈥濈晫闈紝鏍规嵁涓嶅悓鐗欎綅锛岃缃繛鎺ヤ綋鐨勬渶灏忔í鎴潰绉�佽繛鎺ユ潌鐨勫搴﹀拰鍘氬害绛変俊鎭弬鏁帮紝閫氳繃鈥滆嚜鐢辫璁♀�濊皟鏁磋繛鎺ヤ綋鐨勫舰鎬併�佸ぇ灏忓強浣嶇疆銆傚簲鏍规嵁瀹為檯鎯呭喌閫傚綋澧炲姞杩炴帴浣撴埅闈㈢Н鐨勯粯璁ゅ�硷紝浠ヤ繚璇佸浐瀹氭ˉ鐨勭粨鏋勫己搴︺��
+                    <p class="content">
+                        锛�3锛夊褰㈢粏鑺備慨鏁达細瀵桂瑢楅潰鐨勬矡绐濄�佺墮灏栧荡銆佸褰㈤珮鐐圭瓑閮ㄤ綅杩涜绮剧粏璋冩暣锛屾牴鎹棰岀墮鍦ㄤ富鍔ㄤ腑浣嶈瀹氱殑瓞寳鎺ヨЕ鐐癸紝浣夸慨澶嶄綋鍦ㄧ墮灏栦氦閿欎綅杈惧埌绋冲畾鐨勷瑢楁帴瑙︺�傛渶鍚庡皢淇浣撹〃闈㈡暣浣撲慨鏁村厜椤猴紝浣胯В鍓栨ˉ鑾峰緱婊℃剰鐨勫褰€�傚鍩虹墮鎯呭喌涓嶈壇锛屽彲閫傚綋鍑忓皯瓞寳闈㈡帴瑙︾偣鐨勬暟閲忋�傝璁℃ˉ浣撴椂闇�瑕佹敞鎰忓噺寰勶紝搴旈伒鐓у尰鐢熺殑璁捐瑕佹眰銆�
                     </p>
                     <p class="content"><span
-                            class="bold">8锛庣粍浠惰瀺鍚�</span>銆�杩炴帴浣撹璁″畬鎴愬悗锛屽湪鈥滃悎骞跺苟淇濆瓨淇浣撯�濈晫闈㈠皢鍓嶅簭姝ラ璁捐鐨勬墍鏈夌粍浠惰瀺涓轰竴浣擄紝骞跺彲浠ュ鍚堝苟淇濆瓨鐨勪慨澶嶄綋鍋氳嚜鐢遍�犲瀷锛岀洿鑷冲舰鎴愭弧鎰忕殑瑙e墫妗ヨ璁°��
+                            class="bold fontGreen">7锛庤繛鎺ヤ綋璁捐</span>銆�鍦ㄢ�滆繛鎺ユ潌鈥濈晫闈紝鏍规嵁涓嶅悓鐗欎綅锛岃缃繛鎺ヤ綋鐨勬渶灏忔í鎴潰绉�佽繛鎺ユ潌鐨勫搴﹀拰鍘氬害绛変俊鎭弬鏁帮紝閫氳繃鈥滆嚜鐢辫璁♀�濊皟鏁磋繛鎺ヤ綋鐨勫舰鎬併�佸ぇ灏忓強浣嶇疆銆傚簲鏍规嵁瀹為檯鎯呭喌閫傚綋澧炲姞杩炴帴浣撴埅闈㈢Н鐨勯粯璁ゅ�硷紝浠ヤ繚璇佸浐瀹氭ˉ鐨勭粨鏋勫己搴︺��
                     </p>
-                    <p class="content"><span class="bold">9锛庝繚瀛�</span>銆�淇濆瓨瀹屾垚鐨勮璁°��</p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
-                    <p class="content">1锛庡鏋滃叡鍚屽氨浣嶉亾鐨勬柟鍚戜笉鐞嗘兂锛屽彲浠ユ墜鍔ㄨ皟鑺傘�備互浠�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈣瀵熷彲浠ョ湅鍒版墍鏈夊熀鐗欒竟缂樼嚎涓婄殑缁跨偣涓轰匠銆�</p>
+                    <p class="content"><span
+                            class="bold fontGreen">8锛庣粍浠惰瀺鍚�</span>銆�杩炴帴浣撹璁″畬鎴愬悗锛屽湪鈥滃悎骞跺苟淇濆瓨淇浣撯�濈晫闈㈠皢鍓嶅簭姝ラ璁捐鐨勬墍鏈夌粍浠惰瀺涓轰竴浣擄紝骞跺彲浠ュ鍚堝苟淇濆瓨鐨勪慨澶嶄綋鍋氳嚜鐢遍�犲瀷锛岀洿鑷冲舰鎴愭弧鎰忕殑瑙e墫妗ヨ璁°��
+                    </p>
+                    <p class="content"><span class="bold fontGreen">9锛庝繚瀛�</span>銆�淇濆瓨瀹屾垚鐨勮璁°��</p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
+                    <p class="content">1锛庡鏋滃叡鍚屽氨浣嶉亾鐨勬柟鍚戜笉鐞嗘兂锛屽彲浠ユ墜鍔ㄨ皟鑺傘�備互浠庰瑢楅潰瑙傚療鍙互鐪嬪埌鎵�鏈夊熀鐗欒竟缂樼嚎涓婄殑缁跨偣涓轰匠銆�</p>
                     <p class="content">2锛庣矘鎺ラ棿闅欑殑鍘氬害璁剧疆鍙瘮鍗曞啝绋嶅帤锛屼互渚块『鍒╁氨浣嶃��</p>
                     <p class="content">3锛庢ˉ浣撹璁″簲浣挎ˉ浣撻緢闈笌鐗欐Ы宓磋交寰帴瑙︺��</p>
-                    <p class="content">4锛庤璁℃ˉ浣�<img class="s-pic" src="../../assets/images/0026_02.png"
-                            alt="" />闈㈡椂锛岄渶鏍规嵁鍏蜂綋鎯呭喌锛屾敞鎰忛�傚綋鍑忓緞銆�</p>
+                    <p class="content">4锛庤璁℃ˉ浣擆瑢楅潰鏃讹紝闇�鏍规嵁鍏蜂綋鎯呭喌锛屾敞鎰忛�傚綋鍑忓緞銆�</p>
                     <p class="content">5锛庨偦鎺ュ尯鐨勮皟鏁达紝闇�娉ㄦ剰浣嶇疆鍙婃帴瑙﹂潰绉殑澶у皬銆�</p>
                     <p class="content">6锛庡挰鍚堟帴瑙︾偣鐨勮瀹氾紝闇�瑕佹牴鎹熀鐗欑殑鍋ュ悍鐘跺喌鍐冲畾銆�</p>
                     <p class="right-info">锛堢帇鑿诧級</p>
                     <h2 class="secondTitle">宸ヤ綔璁粌鍥涖��鍩哄簳妗ワ紙鍥炲垏娉曪級CAD璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0141-07.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <bookVideo :videoInfo="getResourceInfo('D13')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <bookVideo :videoInfo="getResourceInfo('D14')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <bookVideo :videoInfo="getResourceInfo('D15')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庣啛鎮夊熀搴曟ˉ鐨勫熀鏈粨鏋勩��</p>
                     <p class="content">2锛庣啛鎮夊熀搴曟ˉ璁捐鐨勬楠ゃ��</p>
                     <p class="content">3锛庣啛鎮夎蒋浠朵腑鐨勫悇绉嶅伐鍏峰強鍙傛暟鐨勮皟鏀逛娇鐢ㄦ柟娉曘��</p>
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
-                    <div class="bodyPic"><img src="../../assets/images/0141-08.jpg" style="width:30%" alt=""
-                            active="true" /></div>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">浠�46缂哄け锛�45銆�47涓烘ˉ鍩虹墮鐨勪笁鍗曚綅閲�-鐡峰浐瀹氭ˉ淇涓轰緥锛屼娇鐢‥xocad璁捐杞欢杩涜閲戝睘鍩哄簳妗AD璁捐銆�</p>
 
                 </div>
@@ -262,39 +246,39 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">4瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
-                    <p class="content"><span class="bold">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆佺數鑴戙��</p>
-                    <p class="content"><span class="bold">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷鎴栨壂鎻忔暟鎹寘銆�</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
-                    <p class="content"><span class="bold">1锛庡垱寤鸿鍗�</span>銆�鏂规硶鍚屽伐浣滆缁冧簩銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆佺數鑴戙��</p>
+                    <p class="content"><span class="bold fontGreen">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷鎴栨壂鎻忔暟鎹寘銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡垱寤鸿鍗�</span>銆�鏂规硶鍚屽伐浣滆缁冧簩銆�</p>
                     <p class="content"><span
-                            class="bold">2锛庨�夋嫨鐗欎綅銆佺‘瀹氫慨澶嶄綋绉嶇被</span>銆�鍦‥xocad鐗欎綅鍥剧數瀛愭妧宸ュ崟涓婇�夋嫨鐗欎綅45銆�47锛岄�夋嫨鈥滃洖鍒囧叏鍐犫�濓紝46閫夋嫨鈥滃洖鍒囩己澶辩墮鈥濓紝鏉愭枡閫夋嫨闈炶吹閲戝睘锛�15銆�16銆�17閫夋嫨涓哄棰岀墮锛岀‘瀹氬悗鐐瑰嚮鈥滆璁♀�濇寜閽繘鍏ヤ富鐣岄潰銆�
+                            class="bold fontGreen">2锛庨�夋嫨鐗欎綅銆佺‘瀹氫慨澶嶄綋绉嶇被</span>銆�鍦‥xocad鐗欎綅鍥剧數瀛愭妧宸ュ崟涓婇�夋嫨鐗欎綅45銆�47锛岄�夋嫨鈥滃洖鍒囧叏鍐犫�濓紝46閫夋嫨鈥滃洖鍒囩己澶辩墮鈥濓紝鏉愭枡閫夋嫨闈炶吹閲戝睘锛�15銆�16銆�17閫夋嫨涓哄棰岀墮锛岀‘瀹氬悗鐐瑰嚮鈥滆璁♀�濇寜閽繘鍏ヤ富鐣岄潰銆�
                     </p>
-                    <p class="content"><span class="bold">3锛庡鍏ユ暟鎹�</span>銆�鎵弿妯″瀷鎴栬�呭鍏ュ凡鏈夋暟鎹紙鏂规硶鍚屽伐浣滆缁冧簩锛夈��</p>
+                    <p class="content"><span class="bold fontGreen">3锛庡鍏ユ暟鎹�</span>銆�鎵弿妯″瀷鎴栬�呭鍏ュ凡鏈夋暟鎹紙鏂规硶鍚屽伐浣滆缁冧簩锛夈��</p>
                     <p class="content"><span
-                            class="bold">4锛庣‘瀹氳竟缂樼嚎浣嶇疆鍙婂叡鍚屽氨浣嶉亾鏂瑰悜</span>銆�浣跨敤杈圭紭绾挎娴嬪櫒缁樺埗鍩虹墮杈圭紭鑼冨洿锛屽苟淇敼鍚勫熀鐗欒竟缂樼嚎褰㈡�侊紝鏂规硶鍚屽崟鍐犱慨澶嶃�傚垽鏂�夋嫨鐨勫叡鍚屽氨浣嶉亾鏄惁鍚堥�傦紝鍙墜鍔ㄨ繘琛岃皟鏁淬��
+                            class="bold fontGreen">4锛庣‘瀹氳竟缂樼嚎浣嶇疆鍙婂叡鍚屽氨浣嶉亾鏂瑰悜</span>銆�浣跨敤杈圭紭绾挎娴嬪櫒缁樺埗鍩虹墮杈圭紭鑼冨洿锛屽苟淇敼鍚勫熀鐗欒竟缂樼嚎褰㈡�侊紝鏂规硶鍚屽崟鍐犱慨澶嶃�傚垽鏂�夋嫨鐨勫叡鍚屽氨浣嶉亾鏄惁鍚堥�傦紝鍙墜鍔ㄨ繘琛岃皟鏁淬��
                     </p>
                     <p class="content"><span
-                            class="bold">5锛庡簳閮ㄥ弬鏁拌瀹�</span>銆�Exocad杞欢鍦ㄢ�滃簳閮ㄥ弬鏁扳�濊缃棿闅欏墏鍘氬害銆佸啝杈圭紭鍙傛暟銆佸�掑嚬澶勭悊涓庡垁鍏疯ˉ鍋跨殑鍙傛暟銆傞噾灞炲熀搴曠矘鎺ラ棿闅欏彲璁惧畾涓�0.02mm锛岄噾灞炲熀搴曞啝杈圭紭鍘氬害鍙缃负0.1锝�0.3mm銆�
+                            class="bold fontGreen">5锛庡簳閮ㄥ弬鏁拌瀹�</span>銆�Exocad杞欢鍦ㄢ�滃簳閮ㄥ弬鏁扳�濊缃棿闅欏墏鍘氬害銆佸啝杈圭紭鍙傛暟銆佸�掑嚬澶勭悊涓庡垁鍏疯ˉ鍋跨殑鍙傛暟銆傞噾灞炲熀搴曠矘鎺ラ棿闅欏彲璁惧畾涓�0.02mm锛岄噾灞炲熀搴曞啝杈圭紭鍘氬害鍙缃负0.1锝�0.3mm銆�
                     </p>
-                    <p class="content"><span class="bold">6锛庨鏈熶慨澶嶄綋褰㈡�佽璁�</span></p>
+                    <p class="content"><span class="bold fontGreen">6锛庨鏈熶慨澶嶄綋褰㈡�佽璁�</span></p>
                     <p class="content">锛�1锛夋帓鍒楃墮鍐狅細鍦ㄢ�滄帓鍒楃墮榻夸綅缃�濈晫闈㈢殑鐗欏啝鏁版嵁搴撲腑閫夋嫨閫傚悎鐨勭墮鍐犲舰鎬侊紝瀵圭墮榻胯繘琛岀┖闂村Э鎬佽皟鏁达紝浠ラ�傚悎鐗欏垪绌洪棿銆�</p>
                     <p class="content">锛�2锛夎嚜鐢遍�犲瀷锛氳皟鏁寸墮鍐犲舰鎬佸拰鍜悎鍏崇郴锛屽湪鈥滈�傚簲璋冩暣鈥濆伐鍏锋爮锛岃缃挰鍚堝弬鏁帮紝鍘婚櫎鏃╂帴瑙︾偣锛屽苟杩涜閭绘帴鍏崇郴鏉剧揣搴︾殑璋冩暣銆�</p>
-                    <p class="content"><span class="bold">7锛庨鏈熶慨澶嶄綋<img class="s-pic"
-                                src="../../assets/images/0026_02.png" alt="" />鎺ヨЕ璁捐</span>銆�鏍规嵁鍖荤敓鎻愪緵鐨勯潰寮撳弬鏁帮紝浣跨敤鏁板瓧<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鏋惰皟鏁村姩鎬佸挰鍚堜笅棰勬湡淇浣撶殑<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />闈㈠舰鎬併��</p>
-                    <p class="content"><span class="bold">8锛庨鏈熶慨澶嶄綋鍥炲垏</span></p>
+                    <p class="content"><span
+                            class="bold fontGreen">7锛庨鏈熶慨澶嶄綋瓞寳鎺ヨЕ璁捐</span>銆�鏍规嵁鍖荤敓鎻愪緵鐨勯潰寮撳弬鏁帮紝浣跨敤鏁板瓧瓞寳鏋惰皟鏁村姩鎬佸挰鍚堜笅棰勬湡淇浣撶殑瓞寳闈㈠舰鎬併��</p>
+                    <p class="content"><span class="bold fontGreen">8锛庨鏈熶慨澶嶄綋鍥炲垏</span></p>
                     <p class="content">锛�1锛夋牴鎹鍗曡姹傝缃洖鍒囧弬鏁帮紝璁剧疆鈥滃洖鍒囧ぇ灏忊�濆強鈥滄渶灏忓帤搴︹�濓紝鏈�灏忓帤搴︿竴鑸缃负0.4mm銆�</p>
                     <p class="content">
                         锛�2锛夊舰鎴愰噾灞炲姞寮哄甫锛氶�夋嫨鈥滆垖渚у姞寮哄甫鈥濓紝妗ュ熀鐗欎細鑷姩鐢熸垚閲戝睘甯︺�傚嬀閫夆�滀繚鐣欏凡閫夐儴鍒嗏�濓紝鎵嬪姩鍕剧敾缂哄け鐗欒垖渚ч噾灞炲甫锛屽搴︿笌寮у害灏介噺淇濇寔涓�鑷达紝淇暣瀹屾垚鍚庣偣鍑烩�滃簲鐢ㄢ�濄�傝蒋浠跺淇浣撳褰㈣繘琛屽潎鍖�鍥炲垏锛屽湪淇濊瘉鏈�灏忓帤搴︾殑鎯呭喌涓嬶紝鍩哄簳鍐犱粛浼氫繚鐣欎竴瀹氱殑瑙e墫褰㈡�併�備箣鍚庡彲杩涜閲戝睘鍩哄簳鍐犲舰鎬佺殑璋冩暣锛屾妸閲戝睘甯﹁皟鏁村埌鍚屼竴姘村钩楂樺害锛屼究浜庡悗缁坊鍔犺繛鎺ヤ綋銆�
                     </p>
                     <p class="content">锛�3锛夊湪鈥滈�傚簲璋冩暣鈥旂己澶辩墮鈥濆伐鍏锋爮涓嬶紝璋冩暣鈥滃埌鐗欓緢璺濈鈥濆弬鏁帮紝涓烘ˉ浣撻緢闈繚鐣欑摲灞傚帤搴︺�傚湪褰㈡�佺簿缁嗚皟鏁村悗锛屼娇鐢ㄨ櫄鎷熻湣鍒�鍏夐『鍩哄簳鍐犺〃闈€��</p>
-                    <p class="content"><span class="bold">9锛庤繛鎺ヤ綋璁捐</span>銆�娣诲姞杩炴帴鏉嗭紝鏍规嵁涓嶅悓鐗欎綅鍙婄編瑙傝姹傦紝璋冩暣杩炴帴浣撶殑妯埅闈㈢Н澶у皬銆佸搴︺�佸帤搴﹀強浣嶇疆銆�</p>
                     <p class="content"><span
-                            class="bold">10锛庣粍浠惰瀺鍚�</span>銆�鐐瑰嚮鈥滃悎骞跺苟淇濆瓨淇浣撯�濓紝灏嗘墍鏈夌粍浠惰瀺涓轰竴浣撱�傚啀娆″杩炴帴鏉嗚繘琛岀簿缁嗕慨鏁达紝骞跺皢閲戝睘甯﹁繛鎺ュ埌涓�璧凤紝褰㈡垚褰㈡�侀『婊戠殑閲戝睘甯﹁繛鎺ャ��</p>
+                            class="bold fontGreen">9锛庤繛鎺ヤ綋璁捐</span>銆�娣诲姞杩炴帴鏉嗭紝鏍规嵁涓嶅悓鐗欎綅鍙婄編瑙傝姹傦紝璋冩暣杩炴帴浣撶殑妯埅闈㈢Н澶у皬銆佸搴︺�佸帤搴﹀強浣嶇疆銆�</p>
+                    <p class="content"><span
+                            class="bold fontGreen">10锛庣粍浠惰瀺鍚�</span>銆�鐐瑰嚮鈥滃悎骞跺苟淇濆瓨淇浣撯�濓紝灏嗘墍鏈夌粍浠惰瀺涓轰竴浣撱�傚啀娆″杩炴帴鏉嗚繘琛岀簿缁嗕慨鏁达紝骞跺皢閲戝睘甯﹁繛鎺ュ埌涓�璧凤紝褰㈡垚褰㈡�侀『婊戠殑閲戝睘甯﹁繛鎺ャ��
+                    </p>
 
                 </div>
                 <div class="page-bottom-left">126</div>
@@ -309,35 +293,33 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="content"><span class="bold">11锛庝繚瀛�</span>銆�淇濆瓨瀹屾垚鐨勮璁°��</p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                    <p class="content"><span class="bold fontGreen">11锛庝繚瀛�</span>銆�淇濆瓨瀹屾垚鐨勮璁°��</p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庡洖鍒囧弬鏁拌鏍规嵁涓嶅悓鍩哄簳鍐犳潗鏂欒繘琛岃缃��</p>
                     <p class="content">2锛庨渶瑕佽缃噾灞炲熀搴曞啝鐨勬渶灏忓帤搴︼紝涓嶅彲澶杽銆傚綋鍧囧寑鍥炲垏鍜屾渶灏忓帤搴︿箣闂村瓨鍦ㄧ煕鐩炬椂锛岃淇濊瘉鍩哄簳鍐犵殑鏈�灏忓帤搴︺��</p>
                     <p class="content">
-                        3锛庨棿闅欏墏鐨勫帤钖勫喅瀹氬啝鐨勬澗绱с�傚湪璋冩暣闂撮殭鍓傚弬鏁版椂锛屽簲涓ユ牸鎸夌収瑕佹眰杩涜璋冩暣锛岄噾灞炲甫璁剧疆鍘氬害鍙婂姬搴﹁淇濇寔鍧囧寑锛屽苟淇濇寔鍦ㄥ悓涓�楂樺害銆傚綋鍚庣墮鍩哄簳鍐犻偦闈笌澶╃劧鐗欓偦闂撮殭瓒呰繃1.5mm鏃讹紝閭婚潰閲戝睘甯﹁缃渶瑕佹湁鎵挎墭<img
-                            class="s-pic" src="../../assets/images/0026_02.png" alt="" />鍔涚殑缁撴瀯銆�</p>
+                        3锛庨棿闅欏墏鐨勫帤钖勫喅瀹氬啝鐨勬澗绱с�傚湪璋冩暣闂撮殭鍓傚弬鏁版椂锛屽簲涓ユ牸鎸夌収瑕佹眰杩涜璋冩暣锛岄噾灞炲甫璁剧疆鍘氬害鍙婂姬搴﹁淇濇寔鍧囧寑锛屽苟淇濇寔鍦ㄥ悓涓�楂樺害銆傚綋鍚庣墮鍩哄簳鍐犻偦闈笌澶╃劧鐗欓偦闂撮殭瓒呰繃1.5mm鏃讹紝閭婚潰閲戝睘甯﹁缃渶瑕佹湁鎵挎墭瓞寳鍔涚殑缁撴瀯銆�
+                    </p>
                     <p class="content">4锛庤繛鎺ヤ綋璁捐闇�瑕佷繚璇佸己搴︼紝浣嗕笉鍙璁¤繃澶ц�屽奖鍝嶅灞曢殭褰㈡�併�傚墠鐗欒繛鎺ヤ綋璁捐搴斿亸鍚戣垖渚э紝浠ュ厤褰卞搷缇庤銆�</p>
                     <p class="right-info">锛堢帇鑿诧級</p>
                     <h2 class="secondTitle">宸ヤ綔璁粌浜斻��鍙憳灞�閮ㄤ箟榻挎敮鏋禖AD璁捐</h2>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
-                    <div class="bodyPic"><img src="../../assets/images/0143-02.jpg" style="width:30%" alt=""
-                            active="true" /></div>
+                    <bookVideo :videoInfo="getResourceInfo('D16')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <bookVideo :videoInfo="getResourceInfo('D17')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庢帉鎻″缓绔嬭鍗曠殑鏂规硶锛岄壌鍒壂鎻忔暟鎹殑鏈夋晥鎬с��</p>
                     <p class="content">2锛庢帉鎻¤湣鍨嬮洉鍒诲伐鍏风殑浣跨敤鏂规硶銆�</p>
                     <p class="content">3锛庣啛鎮夊彲鎽樺眬閮ㄤ箟榻挎敮鏋舵暟瀛楄湣鍨嬪悇閮ㄤ欢鐨勮璁″埗浣滆繃绋嬨��</p>
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">瀹屾垚鍚勭被缂哄け鍙憳灞�閮ㄤ箟榻跨殑鏀灦璁捐鎿嶄綔銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">4瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
-                    <p class="content"><span class="bold">1锛庡疄璁澶�</span>銆�Exocad杞欢銆佺數鑴戙��</p>
-                    <p class="content"><span class="bold">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷寮忔壂鎻忔暟鎹寘銆�</p>
-
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡疄璁澶�</span>銆�Exocad杞欢銆佺數鑴戙��</p>
+                    <p class="content"><span class="bold fontGreen">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔妯″瀷寮忔壂鎻忔暟鎹寘銆�</p>
                 </div>
                 <div class="page-bottom-right">127</div>
             </div>
         </div>
-
         <!-- Page 134 (鍋舵暟椤�) -->
         <div class="page-box" page="134">
             <div v-if="showPageList.indexOf(134) > -1">
@@ -347,24 +329,24 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
                     <p class="content"><span
-                            class="bold">1锛庡缓绔嬭鍗�</span>銆�鎵撳紑Exocad杞欢锛岃緭鍏ユ偅鑰呭熀鏈俊鎭紝閫夋嫨鐗欓娇锛岃璁″唴瀹归�夋嫨鈥滄椿鍔ㄦ敮鏋垛�濓紝鏉愭枡閫夋嫨鈥�3D鎵撳嵃鈥濓紝鐐瑰嚮鈥滅‘瀹氣�濓紝鍐嶇偣鍑烩�滀繚瀛樷�濓紝瀹屾垚寤虹珛璁㈠崟銆傜偣鍑诲彸渚ф搷浣滆彍鍗曚腑鐨勨�滆璁℃椿鍔ㄦ敮鏋垛�濊繘鍏ヨ璁¢〉闈€��
+                            class="bold fontGreen">1锛庡缓绔嬭鍗�</span>銆�鎵撳紑Exocad杞欢锛岃緭鍏ユ偅鑰呭熀鏈俊鎭紝閫夋嫨鐗欓娇锛岃璁″唴瀹归�夋嫨鈥滄椿鍔ㄦ敮鏋垛�濓紝鏉愭枡閫夋嫨鈥�3D鎵撳嵃鈥濓紝鐐瑰嚮鈥滅‘瀹氣�濓紝鍐嶇偣鍑烩�滀繚瀛樷�濓紝瀹屾垚寤虹珛璁㈠崟銆傜偣鍑诲彸渚ф搷浣滆彍鍗曚腑鐨勨�滆璁℃椿鍔ㄦ敮鏋垛�濊繘鍏ヨ璁¢〉闈€��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庡鍏ユ暟鎹�</span>銆�瀵煎叆鎮h�呯殑鎵弿鏁版嵁锛屼负STL鏍煎紡銆傛鏌ユ暟鎹湁鏃犻敊灞傘�侀噸褰辩幇璞★紝鍜悎鍏崇郴鏄惁鍑嗙‘锛屽熀鐗欏強鍞囬銆佽垖鑵晶鎵弿鏄惁瀹屾暣锛屾湁鏃犲彉褰€�傛鏌ヨ繃绋嬩腑鍙娇鐢–trl+D鏄剧ず鍜悎绌洪棿銆丆trl+R鏄剧ず绌洪棿灏虹瓑蹇嵎閿�傛壂鎻忔暟鎹熀鏈姹傚涓嬨��
+                            class="bold fontGreen">2锛庡鍏ユ暟鎹�</span>銆�瀵煎叆鎮h�呯殑鎵弿鏁版嵁锛屼负STL鏍煎紡銆傛鏌ユ暟鎹湁鏃犻敊灞傘�侀噸褰辩幇璞★紝鍜悎鍏崇郴鏄惁鍑嗙‘锛屽熀鐗欏強鍞囬銆佽垖鑵晶鎵弿鏄惁瀹屾暣锛屾湁鏃犲彉褰€�傛鏌ヨ繃绋嬩腑鍙娇鐢–trl+D鏄剧ず鍜悎绌洪棿銆丆trl+R鏄剧ず绌洪棿灏虹瓑蹇嵎閿�傛壂鎻忔暟鎹熀鏈姹傚涓嬨��
                     </p>
                     <p class="content">锛�1锛夋暟鎹棤閿欏眰銆侀噸褰辩幇璞°��</p>
                     <p class="content">锛�2锛夊挰鍚堝叧绯诲噯纭紝鏃犲彉褰€��</p>
                     <p class="content">锛�3锛夊眬閮ㄤ欢鍩虹墮娓呮櫚锛岀己澶辩墮鍩烘墭杈圭紭瀹屾暣銆�</p>
                     <p class="content">锛�4锛夊叏鍙e崐鍙i粡鑶滆浆鎶樺鎵畬鏁达紝鍚庨儴鎵弿瀹屾暣銆備笂棰屾壂鑷宠叚灏忓嚬鍚庡強涓婇缁撹妭鍚�2mm锛屼笅棰屾壂鑷崇(鐗欏悗鍨悗2mm銆�</p>
                     <p class="content">锛�5锛夊熀鐗欏強鍞囬銆佽垖鑵晶鎵弿瀹屾暣銆�</p>
-                    <p class="content"><span class="bold">3锛庡伐浣滄ā鍨嬪鐞�</span></p>
+                    <p class="content"><span class="bold fontGreen">3锛庡伐浣滄ā鍨嬪鐞�</span></p>
                     <p class="content">锛�1锛夌‘瀹氫箟榻垮氨浣嶉亾鏂瑰悜锛氬�熷姪鏁板瓧妯″瀷鍒嗘瀽鎮h�呭彛鑵旂粍缁囩姸鍐碉紝閫氳繃鈥滆鍥炬柟鍚戣缃�濇煡鐪嬪�掑嚬鍒嗗竷鎯呭喌锛屽苟纭畾鍚堥�傚氨浣嶉亾鏂瑰悜銆�</p>
                     <p class="content">锛�2锛夊~琛ュ�掑嚬锛氳皟鏁村悎閫傜殑鍊掑嚬濉厖瑙掑害锛岀偣鍑烩�滃簲鐢ㄢ�濇垨鈥滀笅涓�姝モ�濓紝瀹屾垚鍊掑嚬濉ˉ銆�</p>
                     <p class="content">锛�3锛夌‘瀹氬崱鐜斁缃儴浣嶏紝鍘婚櫎澶氫綑鐨勫�掑嚬铚★細浣跨敤铚″瀷闆曞埢宸ュ叿瀵瑰崱鐜繘鍏ュ�掑嚬鍖虹殑閮ㄤ綅杩涜鍒湣澶勭悊锛屽幓闄ゅ浣欑殑鍊掑嚬铚°��</p>
                     <p class="content">锛�4锛夌紦鍐插尯澶勭悊锛氬闇�瑕佽繘琛岀紦鍐茬殑鍖哄煙锛屽簲鐢ㄩ澶栧~闄よ湣銆傛ā鍨嬬己鎹熸垨姘旀场涔熷彲鍦ㄦ姝ラ澶勭悊銆�</p>
-                    <p class="content"><span class="bold">4锛庢敮鏋惰璁�</span></p>
+                    <p class="content"><span class="bold fontGreen">4锛庢敮鏋惰璁�</span></p>
                     <p class="content">
                         锛�1锛夌粯鍒跺ぇ杩炴帴浣撳拰铚$綉锛氫娇鐢ㄦ洸绾垮伐鍏风粯鍒跺ぇ杩炴帴浣撳拰铚$綉銆傞�夊彇鎵�闇�褰㈠紡鐨勫浐浣嶇綉锛岀偣鍑烩�滅粯鍒舵柊鏇茬嚎鈥濓紝鍦ㄧ己闅欏尯鐗欐Ы宓村閫愮偣缁樺埗澶ц繛鎺ヤ綋鍜岃湣缃戯紝鎴栫敤蹇�熺紪杈戣繛缁粯鍒舵洸绾匡紝瀹屾垚缁樺埗鏃跺弻鍑诲舰鎴愰棴鍚堟洸绾匡紝铚$綉鍜屽ぇ杩炴帴浣撻渶閲嶅彔鐩歌繛銆�
                     </p>
@@ -378,7 +360,7 @@
                     <p class="content">2锛夌粯鍒剁粓姝㈢嚎锛氬畬鎴愪箣鍚庯紝鐐瑰嚮鈥滃悜瀵尖�濓紝杩涜缁堟绾跨殑缁樺埗銆傝嫢闇�鏇存敼缁堟绾挎柟鍚戯紝鍒欏彸閿偣鍑荤粓姝㈢嚎锛屽彲浠ヤ娇鐢ㄦ帶鍒剁澶存潵鏇存敼瀹屾垚绾跨殑瑙掑害銆傚畬鎴愪箣鍚庯紝鐐瑰嚮鈥滀笅涓�姝モ�濄��
                     </p>
                     <p class="content"><span
-                            class="bold">5锛庣紪杈戞暟瀛楄湣鍨�</span>銆�鍦ㄧ紪杈戣湣鍨嬫垨鑷敱閫犲瀷姝ラ锛屽鏀灦铚″瀷璁捐杩涜骞虫粦鍜屽井璋冿紝澶勭悊鍏夋粦鍚勪釜閮ㄤ欢琛旀帴閮ㄥ垎鍜岄偦闈㈠尯鍩熺殑閿愬埄杈圭紭锛屼娇寰楁敮鏋惰竟缂樺憟杩炵画鍦嗘粦鐨勬洸绾匡紱濉钩鍐呯粓姝㈢嚎澶勬敮鏋惰〃闈笉骞虫暣鐨勫尯鍩燂紝閬垮厤鏀剧疆澶栫粓姝㈢嚎鏃跺舰鎴愮毐瑜躲�傚畬鎴愭搷浣滃悗鐐瑰嚮鈥滀笅涓�姝モ�濄��
+                            class="bold fontGreen">5锛庣紪杈戞暟瀛楄湣鍨�</span>銆�鍦ㄧ紪杈戣湣鍨嬫垨鑷敱閫犲瀷姝ラ锛屽鏀灦铚″瀷璁捐杩涜骞虫粦鍜屽井璋冿紝澶勭悊鍏夋粦鍚勪釜閮ㄤ欢琛旀帴閮ㄥ垎鍜岄偦闈㈠尯鍩熺殑閿愬埄杈圭紭锛屼娇寰楁敮鏋惰竟缂樺憟杩炵画鍦嗘粦鐨勬洸绾匡紱濉钩鍐呯粓姝㈢嚎澶勬敮鏋惰〃闈笉骞虫暣鐨勫尯鍩燂紝閬垮厤鏀剧疆澶栫粓姝㈢嚎鏃跺舰鎴愮毐瑜躲�傚畬鎴愭搷浣滃悗鐐瑰嚮鈥滀笅涓�姝モ�濄��
                     </p>
 
                 </div>
@@ -395,13 +377,13 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">6锛庣粯鍒舵敮鎾戞潌</span>銆�鐐瑰嚮鐣岄潰鏈�鍙充晶鐨勨�滈珮绾фā寮忊�濓紝閫夋嫨闄勪欢宸ュ叿涓殑鈥滄敮鎾戞潌鈥濓紝鍦ㄨ湣鍨嬭璁′笂璁剧疆涓ょ偣鍒涘缓銆傚湪涔夐娇璺ㄥ害闀跨殑閮ㄤ綅鍙鍔犳敮鎾戞潌锛屼互闃插彉褰㈢Щ浣嶃�傚畬鎴愬悗鐢ㄩ洉鍒诲伐鍏峰鐞嗚湣鍨嬶紝璁╁悇缁撳悎澶勫钩婊戣繃娓°��
+                            class="bold fontGreen">6锛庣粯鍒舵敮鎾戞潌</span>銆�鐐瑰嚮鐣岄潰鏈�鍙充晶鐨勨�滈珮绾фā寮忊�濓紝閫夋嫨闄勪欢宸ュ叿涓殑鈥滄敮鎾戞潌鈥濓紝鍦ㄨ湣鍨嬭璁′笂璁剧疆涓ょ偣鍒涘缓銆傚湪涔夐娇璺ㄥ害闀跨殑閮ㄤ綅鍙鍔犳敮鎾戞潌锛屼互闃插彉褰㈢Щ浣嶃�傚畬鎴愬悗鐢ㄩ洉鍒诲伐鍏峰鐞嗚湣鍨嬶紝璁╁悇缁撳悎澶勫钩婊戣繃娓°��
                     </p>
                     <p class="content"><span
-                            class="bold">7锛庢坊鍔犻檮浠�</span>銆�鏍规嵁璁捐闇�姹傚畨鏀惧浐浣嶇彔銆佸浐浣嶉拤銆佹诞闆曠瓑閮ㄤ欢銆傚浐浣嶇彔閫氳繃閫夋嫨鈥滈珮绾фā寮忊�濅腑鐨勨�滄洸绾库�濈粯鍒堕棴鍚堟洸绾垮悗搴旂敤锛涘浐浣嶉拤鍦ㄧ己闅欏鏀剧疆锛岃皟鏁翠綅缃�佽搴︾瓑鍙傛暟鍚庡簲鐢紱娴洉鍙坊鍔犳枃瀛楀浘鍍忥紝璁捐鍑瑰嚫鏁堟灉銆傛搷浣滄柟娉曞悓椤圭洰涓変换鍔″洓涓殑鐩稿叧鍐呭锛屽畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝鏀剧疆澶氫釜鏃跺彲閲嶅鎿嶄綔銆�
+                            class="bold fontGreen">7锛庢坊鍔犻檮浠�</span>銆�鏍规嵁璁捐闇�姹傚畨鏀惧浐浣嶇彔銆佸浐浣嶉拤銆佹诞闆曠瓑閮ㄤ欢銆傚浐浣嶇彔閫氳繃閫夋嫨鈥滈珮绾фā寮忊�濅腑鐨勨�滄洸绾库�濈粯鍒堕棴鍚堟洸绾垮悗搴旂敤锛涘浐浣嶉拤鍦ㄧ己闅欏鏀剧疆锛岃皟鏁翠綅缃�佽搴︾瓑鍙傛暟鍚庡簲鐢紱娴洉鍙坊鍔犳枃瀛楀浘鍍忥紝璁捐鍑瑰嚫鏁堟灉銆傛搷浣滄柟娉曞悓椤圭洰涓変换鍔″洓涓殑鐩稿叧鍐呭锛屽畬鎴愬悗鐐瑰嚮鈥滃簲鐢ㄢ�濓紝鏀剧疆澶氫釜鏃跺彲閲嶅鎿嶄綔銆�
                     </p>
-                    <p class="content"><span class="bold">8锛庝繚瀛樻暟鎹�</span>銆�鐐瑰嚮鈥滀繚瀛樷�濇寜閽紝瀹屾垚鏀灦璁捐锛屽苟淇濆瓨鍦烘櫙鏂囦欢銆�</p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                    <p class="content"><span class="bold fontGreen">8锛庝繚瀛樻暟鎹�</span>銆�鐐瑰嚮鈥滀繚瀛樷�濇寜閽紝瀹屾垚鏀灦璁捐锛屽苟淇濆瓨鍦烘櫙鏂囦欢銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庡湪妯″瀷瑙傛祴鐨勬暟瀛楄湣鍨嬩慨鏁寸幆鑺備腑锛屼笉鍙皢铚″幓闄よ繃澶氾紝閬垮厤鍗$幆杩涘叆鍊掑嚬杩囨繁锛屽鑷翠箟榻垮氨浣嶅洶闅俱��</p>
                     <p class="content">2锛庡唴澶栫粓姝㈢嚎涓嶅彲澶勪簬鍚屼竴鎴潰浣嶇疆锛岄伩鍏嶄箟榻垮彈鍔涙椂浜庤浣嶇疆鎶樻柇銆�</p>
                     <p class="content">3锛庨渶浣跨敤娴嬮噺宸ュ叿妫�娴嬫暟瀛楄湣鍨嬪帤搴︼紝浠ョ‘淇濇敮鏋舵湁瓒冲寮哄害銆�</p>
@@ -411,12 +393,12 @@
                     </p>
                     <p class="right-info">锛堣儱鐜夊嚖锛�</p>
                     <h2 class="secondTitle">宸ヤ綔璁粌鍏��绉嶆涓�у寲閽涘熀鍙癈AD璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0145-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <bookVideo :videoInfo="getResourceInfo('D10')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <bookVideo :videoInfo="getResourceInfo('D9')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庝簡瑙d釜鎬у寲閽涘熀鍙扮殑鍩烘湰缁撴瀯銆�</p>
                     <p class="content">2锛庣啛鎮変釜鎬у寲閽涘熀鍙拌璁$殑姝ラ銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">瀹屾垚涓�у寲鍩哄彴鐨勮璁°��</p>
 
                 </div>
@@ -433,33 +415,33 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">2瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
-                    <p class="content"><span class="bold">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆�</p>
-                    <p class="content"><span class="bold">2锛庡疄璁潗鏂�</span>銆�棰勬垚涓�у寲鍩哄彴閽涙煴銆佸埗浣滃畬鎴愮殑涓�у寲閽涘熀鍙般�佸伐浣滄ā鍨嬨��</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡疄璁澶�</span>銆�Exocad璁捐杞欢銆�</p>
+                    <p class="content"><span class="bold fontGreen">2锛庡疄璁潗鏂�</span>銆�棰勬垚涓�у寲鍩哄彴閽涙煴銆佸埗浣滃畬鎴愮殑涓�у寲閽涘熀鍙般�佸伐浣滄ā鍨嬨��</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
                     <p class="content"><span
-                            class="bold">1锛庡鍏ユā鍨�</span>銆�寮�鍚數鑴戯紝鍙屽嚮鎵撳紑Exocad璁捐杞欢锛岀偣鍑烩�滆浇鍏モ�濋�夐」锛岄�夋嫨鎵撳紑瑕佸埗浣滅殑鐥呬緥妯″瀷锛屽弻鍑烩�淐AD璁捐鈥濊繘鍏ヨ蒋浠跺熀鍙拌璁$晫闈€�備簨鍏堟壂鎻忓ソ鐨勭妞嶆暟瀛楁ā鍨嬩細鏄剧ず鍦ㄥ睆骞曚笂锛屽寘鎷笂銆佷笅棰屾ā鍨嬶紝绉嶆浣撴壂鎻忔潌锛屼汉宸ョ墮榫堢瓑鎵�鏈夋ā鍨嬩俊鎭��
+                            class="bold fontGreen">1锛庡鍏ユā鍨�</span>銆�寮�鍚數鑴戯紝鍙屽嚮鎵撳紑Exocad璁捐杞欢锛岀偣鍑烩�滆浇鍏モ�濋�夐」锛岄�夋嫨鎵撳紑瑕佸埗浣滅殑鐥呬緥妯″瀷锛屽弻鍑烩�淐AD璁捐鈥濊繘鍏ヨ蒋浠跺熀鍙拌璁$晫闈€�備簨鍏堟壂鎻忓ソ鐨勭妞嶆暟瀛楁ā鍨嬩細鏄剧ず鍦ㄥ睆骞曚笂锛屽寘鎷笂銆佷笅棰屾ā鍨嬶紝绉嶆浣撴壂鎻忔潌锛屼汉宸ョ墮榫堢瓑鎵�鏈夋ā鍨嬩俊鎭��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庡熀鍙扮妞嶄綋杩炴帴閮ㄥ垎鐨勮璁�</span>銆�鏍规嵁宸ヤ綔妯″瀷涓婄妞嶇被鍨嬮�夋嫨杞欢涓浉搴旂殑鎵弿鏉嗘暟鎹紙榛勮壊锛夛紝灏嗗叾涓庡疄闄呮壂鎻忚幏寰楃殑鎵弿鏉嗭紙缁胯壊锛夎繘琛岄噸鍚堝浣嶏紝鍒欎細寰楀埌绉嶆浣撳湪妯″瀷涓婄殑鍑嗙‘浣嶇疆锛屽苟鑷姩鑾峰緱鍩哄彴杩炴帴閮ㄥ垎鐨勭粨鏋勩��
+                            class="bold fontGreen">2锛庡熀鍙扮妞嶄綋杩炴帴閮ㄥ垎鐨勮璁�</span>銆�鏍规嵁宸ヤ綔妯″瀷涓婄妞嶇被鍨嬮�夋嫨杞欢涓浉搴旂殑鎵弿鏉嗘暟鎹紙榛勮壊锛夛紝灏嗗叾涓庡疄闄呮壂鎻忚幏寰楃殑鎵弿鏉嗭紙缁胯壊锛夎繘琛岄噸鍚堝浣嶏紝鍒欎細寰楀埌绉嶆浣撳湪妯″瀷涓婄殑鍑嗙‘浣嶇疆锛屽苟鑷姩鑾峰緱鍩哄彴杩炴帴閮ㄥ垎鐨勭粨鏋勩��
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庢爣璁颁汉宸ョ墮榫堣鍙h疆寤�</span>銆�鐢ㄩ紶鏍囨爣璁板嚭绉嶆浣撳懆鍥翠汉宸ョ墮榫堢殑琚栧彛杞粨褰㈡�併�傜墮榫堣鍙h疆寤撳彲浠ユ寚瀵兼垚褰釜鎬у寲鍩哄彴绌块緢閮ㄥ垎鐨勫舰鎬侊紝浣垮熀鍙颁笌鐗欓緢瀹炵幇鏃犵紳闅欑殑瀵嗗悎鎺ヨЕ锛岄伩鍏嶅熀鍙板拰鐗欓緢闂撮鐗╃殑宓屽锛屽悓鏃跺鐗欓緢杩涜鐢熺悊鎬ф敮鎸佸拰濉戝舰锛岀淮鎶ょ墮榫堢殑鐢熺悊鍋ュ悍銆�
+                            class="bold fontGreen">3锛庢爣璁颁汉宸ョ墮榫堣鍙h疆寤�</span>銆�鐢ㄩ紶鏍囨爣璁板嚭绉嶆浣撳懆鍥翠汉宸ョ墮榫堢殑琚栧彛杞粨褰㈡�併�傜墮榫堣鍙h疆寤撳彲浠ユ寚瀵兼垚褰釜鎬у寲鍩哄彴绌块緢閮ㄥ垎鐨勫舰鎬侊紝浣垮熀鍙颁笌鐗欓緢瀹炵幇鏃犵紳闅欑殑瀵嗗悎鎺ヨЕ锛岄伩鍏嶅熀鍙板拰鐗欓緢闂撮鐗╃殑宓屽锛屽悓鏃跺鐗欓緢杩涜鐢熺悊鎬ф敮鎸佸拰濉戝舰锛岀淮鎶ょ墮榫堢殑鐢熺悊鍋ュ悍銆�
                     </p>
                     <p class="content"><span
-                            class="bold">4锛庢暟瀛楁帓鐗�</span>銆�鎸夌収杞欢鎻愮ず锛屽湪绉嶆浣撹繎涓偦鐗欏拰杩滀腑閭荤墮閭绘帴闈笂鍚勯�変竴鐐癸紝杞欢浼氳嚜鍔ㄥ嚭鐜拌淇鐨勬暟瀛楃墮榻垮褰紝鍒╃敤杞欢閫夐」鍙互杩涜鏁板瓧鐗欓娇棰勬帓鍒椼�傛暟瀛楁帓鐗欑殑鐩殑鍦ㄤ簬鎻愬墠鎭㈠鍑虹妞嶄箟榻跨殑澶栧舰锛屼互渚挎寚瀵间釜鎬у寲鍩哄彴淇杩炴帴閮ㄥ垎鐨勮璁★紝骞堕鐣欏嚭鏈潵绉嶆涔夐娇鐨勪慨澶嶇┖闂淬��
+                            class="bold fontGreen">4锛庢暟瀛楁帓鐗�</span>銆�鎸夌収杞欢鎻愮ず锛屽湪绉嶆浣撹繎涓偦鐗欏拰杩滀腑閭荤墮閭绘帴闈笂鍚勯�変竴鐐癸紝杞欢浼氳嚜鍔ㄥ嚭鐜拌淇鐨勬暟瀛楃墮榻垮褰紝鍒╃敤杞欢閫夐」鍙互杩涜鏁板瓧鐗欓娇棰勬帓鍒椼�傛暟瀛楁帓鐗欑殑鐩殑鍦ㄤ簬鎻愬墠鎭㈠鍑虹妞嶄箟榻跨殑澶栧舰锛屼互渚挎寚瀵间釜鎬у寲鍩哄彴淇杩炴帴閮ㄥ垎鐨勮璁★紝骞堕鐣欏嚭鏈潵绉嶆涔夐娇鐨勪慨澶嶇┖闂淬��
                     </p>
-                    <p class="content"><span class="bold">5锛庡熀鍙扮┛榫堥儴鍒嗙殑璁捐</span></p>
+                    <p class="content"><span class="bold fontGreen">5锛庡熀鍙扮┛榫堥儴鍒嗙殑璁捐</span></p>
                     <p class="content">锛�1锛夊皢鍩哄彴绌块緢閮ㄧ殑杈圭紭鏀剧疆鍒扮墮榫堣鍙h竟缂樹綅缃紝涓�鑸渚ц竟缂樹綅浜庨緢涓�0.5锝�1.0mm锛岃繎杩滀腑鍜岃垖渚ц竟缂樺簲涓庣墮榫堝钩榻愩��</p>
                     <p class="content">锛�2锛夊皢鍩哄彴绌块緢閮ㄥ褰㈢敤鍔犲噺宸ュ叿濉戝舰鑷充笌鐗欓緢琚栧彛杞粨鍛堟帴瑙︾姸鎬侊紝浠ヤ究鏀拺鐗欓緢缁勭粐銆�</p>
-                    <p class="content"><span class="bold">6锛庤缃熀鍙板氨浣嶆柟鍚�</span>銆�璁剧疆鍩哄彴鐨勫氨浣嶆柟鍚戯紝浠ヤ究灏嗘潵绉嶆涔夐娇鐨勯『鍒╂埓鍏ャ��</p>
-                    <p class="content"><span class="bold">7锛庡熀鍙颁慨澶嶈繛鎺ラ儴鍒嗙殑璁捐</span></p>
+                    <p class="content"><span class="bold fontGreen">6锛庤缃熀鍙板氨浣嶆柟鍚�</span>銆�璁剧疆鍩哄彴鐨勫氨浣嶆柟鍚戯紝浠ヤ究灏嗘潵绉嶆涔夐娇鐨勯『鍒╂埓鍏ャ��</p>
+                    <p class="content"><span class="bold fontGreen">7锛庡熀鍙颁慨澶嶈繛鎺ラ儴鍒嗙殑璁捐</span></p>
                     <p class="content">锛�1锛夊熀鍙扮殑楂樺害涓�鑸笉浣庝簬4mm锛屽苟涓庡棰岀墮淇濇寔2mm宸﹀彸鐨勫挰鍚堢┖闂淬��</p>
                     <p class="content">锛�2锛夊熀鍙拌酱闈㈠褰㈢殑鍊炬枩瑙掑害涓�鑸负2掳锛岃偐鍙拌竟缂樺搴︿负0.8锝�1.0mm锛屽苟棰勭暀鍑虹妞嶄箟榻胯酱闈㈢殑淇绌洪棿銆�</p>
-                    <p class="content"><span class="bold">8锛庡畬鎴愪釜鎬у寲閽涘熀鍙扮殑璁捐</span>銆�鐐瑰嚮瀹屾垚鍩哄彴鐨勮璁★紝骞惰繘琛屾暟鎹繚瀛樸��</p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                    <p class="content"><span class="bold fontGreen">8锛庡畬鎴愪釜鎬у寲閽涘熀鍙扮殑璁捐</span>銆�鐐瑰嚮瀹屾垚鍩哄彴鐨勮璁★紝骞惰繘琛屾暟鎹繚瀛樸��</p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庡熀鍙扮殑绉嶆浣撶被鍨嬭閫夋嫨姝g‘銆�</p>
                     <p class="content">2锛庡熀鍙扮殑绌块緢閮ㄨ涓庣墮榫堣鍙d繚鎸佸瘑鍚堟帴瑙︼紝骞朵笖涓嶈兘杩囧害鍘嬭揩鐗欓緢銆�</p>
 
@@ -479,27 +461,26 @@
                     <p class="content">3锛庡熀鍙扮殑灏变綅鏂瑰悜璁剧疆鍩烘湰涓庣墮浣撻暱杞翠繚鎸佷竴鑷淬��</p>
                     <p class="right-info">锛堟潕鏂囧锛�</p>
                     <h2 class="secondTitle">宸ヤ綔璁粌涓冦��璐撮潰宸ヨ壓璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0147-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <bookVideo :videoInfo="getResourceInfo('D11')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庤兘閫氳繃Exocad杞欢涓殑璐撮潰鍔熻兘鍒朵綔淇浣撱��</p>
                     <p class="content">2锛庢帉鎻xocad璐撮潰鐨勮璁℃祦绋嬪強璁捐瑕佺偣銆�</p>
                     <p class="content">3锛庣啛鎮塃xocad杞欢涓悇绉嶅伐鍏风殑鍔熻兘鍙婁娇鐢ㄦ柟娉曘��</p>
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">瀹屾垚42璐撮潰鐨勮璁°��</p>
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">2瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
                     <p class="content">瀹炶璁惧锛欵xocad杞欢銆佺數鑴戙��</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
                     <p class="content"><span
-                            class="bold">1锛庡缓绔嬭鍗�</span>銆�鏍规嵁鍖荤敓鎻愪緵鐨勬妧宸ュ崟淇℃伅寤虹珛璁㈠崟锛岃緭鍏ユ偅鑰呭鍚嶏紝閫夋嫨鎮g墮浣�42鍙婂棰岀墮12锛岄�夋嫨淇浣撶被鍨嬶紙璐撮潰锛夊拰鏉愭枡锛堟哀鍖栭攩锛夈�傜偣鍑诲彸涓嬭鈥滅‘瀹氣�濄�傚湪鎵弿妯″紡涓嬮�夋嫨鈥滄暟瀛楀嵃妯℃壂鎻忊�濄�傜偣鍑烩�滀繚瀛樷�濃�滆璁♀�濄��
+                            class="bold fontGreen">1锛庡缓绔嬭鍗�</span>銆�鏍规嵁鍖荤敓鎻愪緵鐨勬妧宸ュ崟淇℃伅寤虹珛璁㈠崟锛岃緭鍏ユ偅鑰呭鍚嶏紝閫夋嫨鎮g墮浣�42鍙婂棰岀墮12锛岄�夋嫨淇浣撶被鍨嬶紙璐撮潰锛夊拰鏉愭枡锛堟哀鍖栭攩锛夈�傜偣鍑诲彸涓嬭鈥滅‘瀹氣�濄�傚湪鎵弿妯″紡涓嬮�夋嫨鈥滄暟瀛楀嵃妯℃壂鎻忊�濄�傜偣鍑烩�滀繚瀛樷�濃�滆璁♀�濄��
                     </p>
                     <p class="content"><span
-                            class="bold">2锛庢ā鍨嬪鍏ュ強淇暣</span>銆�杩涘叆璁捐椤甸潰鍚庯紝鐐瑰嚮鈥滄枃浠垛�濓紝閫夋嫨宸茬粡淇濆瓨鐨勬枃浠讹紝鎵惧埌鎮h�呯殑鏂囦欢澶癸紝鐐瑰嚮鈥渓ower鈥濓紙PLV鏍煎紡锛夊鍏ヤ笅棰屾ā鍨嬶紝鐐瑰嚮鈥渦pper鈥濓紙PLV鏍煎紡锛夊鍏ヤ笂棰屾ā鍨嬨�傚湪3D鏁版嵁缂栬緫鍣ㄦā寮忎笅璋冩暣鎵弿鏁版嵁瀹氫綅鏂瑰悜锛岀偣鍑烩�滀笅涓�姝モ�濄�傞�夋嫨鍘婚櫎鎵弿鏁版嵁涓婄殑鏃╂帴瑙︾偣锛屽幓闄ゆā鍨嬭竟缂樻棤鐢ㄧ殑鑿茶杽鐨勮竟缂橈紝鐐瑰嚮鈥滀笅涓�姝モ�濄�傜敱浜庢壂鎻忔暟鎹笉鍑嗙‘锛屼笂棰屽拰涓嬮涔嬮棿鑷冲皯鏈�0.133mm鐨勪氦鍙夛紝濡傛灉鎯充娇鐢ㄨ櫄鎷熷挰鍚堟灦鎴栨ā鍨嬬紪杈戝姛鑳斤紝寤鸿绉婚櫎涓婁笅棰屼箣闂寸殑浜ゅ弶鐐癸紝閫夋嫨涓嶄慨鏀规ā鍨嬫暟鎹��
+                            class="bold fontGreen">2锛庢ā鍨嬪鍏ュ強淇暣</span>銆�杩涘叆璁捐椤甸潰鍚庯紝鐐瑰嚮鈥滄枃浠垛�濓紝閫夋嫨宸茬粡淇濆瓨鐨勬枃浠讹紝鎵惧埌鎮h�呯殑鏂囦欢澶癸紝鐐瑰嚮鈥渓ower鈥濓紙PLV鏍煎紡锛夊鍏ヤ笅棰屾ā鍨嬶紝鐐瑰嚮鈥渦pper鈥濓紙PLV鏍煎紡锛夊鍏ヤ笂棰屾ā鍨嬨�傚湪3D鏁版嵁缂栬緫鍣ㄦā寮忎笅璋冩暣鎵弿鏁版嵁瀹氫綅鏂瑰悜锛岀偣鍑烩�滀笅涓�姝モ�濄�傞�夋嫨鍘婚櫎鎵弿鏁版嵁涓婄殑鏃╂帴瑙︾偣锛屽幓闄ゆā鍨嬭竟缂樻棤鐢ㄧ殑鑿茶杽鐨勮竟缂橈紝鐐瑰嚮鈥滀笅涓�姝モ�濄�傜敱浜庢壂鎻忔暟鎹笉鍑嗙‘锛屼笂棰屽拰涓嬮涔嬮棿鑷冲皯鏈�0.133mm鐨勪氦鍙夛紝濡傛灉鎯充娇鐢ㄨ櫄鎷熷挰鍚堟灦鎴栨ā鍨嬬紪杈戝姛鑳斤紝寤鸿绉婚櫎涓婁笅棰屼箣闂寸殑浜ゅ弶鐐癸紝閫夋嫨涓嶄慨鏀规ā鍨嬫暟鎹��
                     </p>
                     <p class="content"><span
-                            class="bold">3锛庤璁¤竟缂樼嚎</span>銆�鍦ㄨ竟缂樼嚎妫�娴嬪櫒妯″紡涓嬶紝鐐瑰嚮鈥滀唬鍨嬭竟缂樷�濓紝寮�濮嬫娴嬭竟缂樼嚎銆傜偣鍑烩�滄牎姝�/鎵嬬粯鈥濓紝寮�濮嬪湪42鍙风墮浣嶄笂鎻忕粯杈圭紭绾匡紝褰撹竟缂樼嚎闂悎鍚庯紝鐐瑰嚮鈥滅紪杈戔�濆彲绉诲姩杈圭紭绾跨殑褰㈡�佽繘琛岀簿淇�傜簿淇畬鎴愬悗鐐瑰嚮鈥滀笅涓�姝モ�濄��
+                            class="bold fontGreen">3锛庤璁¤竟缂樼嚎</span>銆�鍦ㄨ竟缂樼嚎妫�娴嬪櫒妯″紡涓嬶紝鐐瑰嚮鈥滀唬鍨嬭竟缂樷�濓紝寮�濮嬫娴嬭竟缂樼嚎銆傜偣鍑烩�滄牎姝�/鎵嬬粯鈥濓紝寮�濮嬪湪42鍙风墮浣嶄笂鎻忕粯杈圭紭绾匡紝褰撹竟缂樼嚎闂悎鍚庯紝鐐瑰嚮鈥滅紪杈戔�濆彲绉诲姩杈圭紭绾跨殑褰㈡�佽繘琛岀簿淇�傜簿淇畬鎴愬悗鐐瑰嚮鈥滀笅涓�姝モ�濄��
                     </p>
 
                 </div>
@@ -517,24 +498,23 @@
                 </div>
                 <div class="bodystyle">
                     <p class="content"><span
-                            class="bold">4锛庣‘瀹氬氨浣嶉亾鏂瑰悜</span>銆�鍦ㄨ皟鍑虹殑鎸囧畾鐗欎綅鍩虹墮涓婂垵姝ュ嬀鍕掕竟缂樿寖鍥达紝鐒跺悗杞欢浼氭牴鎹嬀鍕掔殑鑼冨洿鑷姩鐢熸垚鎺ㄨ崘鐨勫氨浣嶉亾鏂瑰悜銆傚彲浠ユ牴鎹创闈㈢殑鍏蜂綋璁捐閫傚綋璋冩暣灏变綅閬撴柟鍚戙�傜偣鍑昏瀹氬綋鍓嶈鍥句负灏变綅閬撴柟鍚戯紝鐐瑰嚮鈥滀笅涓�姝モ�濈敓鎴愬祵浣撳簳閮ㄣ��
+                            class="bold fontGreen">4锛庣‘瀹氬氨浣嶉亾鏂瑰悜</span>銆�鍦ㄨ皟鍑虹殑鎸囧畾鐗欎綅鍩虹墮涓婂垵姝ュ嬀鍕掕竟缂樿寖鍥达紝鐒跺悗杞欢浼氭牴鎹嬀鍕掔殑鑼冨洿鑷姩鐢熸垚鎺ㄨ崘鐨勫氨浣嶉亾鏂瑰悜銆傚彲浠ユ牴鎹创闈㈢殑鍏蜂綋璁捐閫傚綋璋冩暣灏变綅閬撴柟鍚戙�傜偣鍑昏瀹氬綋鍓嶈鍥句负灏变綅閬撴柟鍚戯紝鐐瑰嚮鈥滀笅涓�姝モ�濈敓鎴愬祵浣撳簳閮ㄣ��
                     </p>
                     <p class="content"><span
-                            class="bold">5锛庣‘瀹氶棿闅欏墏鍘氬害</span>銆�鍦ㄧ敓鎴愬祵浣撳簳閮ㄦā寮忎笅锛岀偣鍑烩�滈棿闅欌�濇寜閽紝璁惧畾绮樻帴闂撮殭銆傛湰鐥呬緥绮樻帴闂撮殭璁惧畾涓�0.025mm锛屽湪涓村簥鎿嶄綔涓彲浠ユ牴鎹创闈㈢殑璁捐鍙婃偅鑰呯殑瀹為檯鎯呭喌璁剧疆涓嶅悓鐨勭矘鎺ラ棿闅欍�備娇鐢ㄦ暟鍊煎畾涔夊搴︺�傜偣鍑烩�滆竟鐣屸�濇寜閽瀹氱墮鍐犺竟鐣屽弬鏁般�傜偣鍑烩�滀笅涓�姝モ�濈敓鎴愭渶灏忓帤搴︺��
+                            class="bold fontGreen">5锛庣‘瀹氶棿闅欏墏鍘氬害</span>銆�鍦ㄧ敓鎴愬祵浣撳簳閮ㄦā寮忎笅锛岀偣鍑烩�滈棿闅欌�濇寜閽紝璁惧畾绮樻帴闂撮殭銆傛湰鐥呬緥绮樻帴闂撮殭璁惧畾涓�0.025mm锛屽湪涓村簥鎿嶄綔涓彲浠ユ牴鎹创闈㈢殑璁捐鍙婃偅鑰呯殑瀹為檯鎯呭喌璁剧疆涓嶅悓鐨勭矘鎺ラ棿闅欍�備娇鐢ㄦ暟鍊煎畾涔夊搴︺�傜偣鍑烩�滆竟鐣屸�濇寜閽瀹氱墮鍐犺竟鐣屽弬鏁般�傜偣鍑烩�滀笅涓�姝モ�濈敓鎴愭渶灏忓帤搴︺��
                     </p>
                     <p class="content"><span
-                            class="bold">6锛庤璁′慨澶嶄綋褰㈡��</span>銆�瀹屾垚涓婅堪姝ラ鍚庯紝杞欢浼氳繘鍏モ�滄帓鍒楃墮榻库�濈晫闈€�傚湪璇ョ晫闈笅鎷栨斁鐗欓娇浠ユ敼鍙樺叾浣嶇疆鍜屽舰鐘讹紝杩涜閫傚簲瀵瑰悎璋冩暣銆傜敱浜庢潗鏂欑殑鏈�灏忓帤搴﹁�屼骇鐢熺殑骞叉壈鎬ф帴瑙︼紝鍙互閫夋嫨蹇界暐锛屽湪灞忓箷涓嬫柟鐨勬寜閽腑閫夋嫨璁剧疆鏈�灏忓帤搴︿负0.41mm锛岀偣鍑烩�滅‘瀹氣�濊繑鍥炴帓鍒楃墮榻跨晫闈紝姝ゆ椂鍙牴鎹偅鑰呯殑骞撮緞銆佹�у埆銆佸悓鍚嶇墮褰㈡�佸拰閭荤墮褰㈡�佸湪杞欢棰勮鐨勭墮鍐犲舰鎬佸簱涓�夋嫨閫傚悎鎮h�呯殑淇浣撳舰鎬併�傝�冭檻鍒扮墮榻垮舰鎬佸簲鏄釜鎬у寲鐨勶紝鏁版嵁搴撲腑鐨勭墮榻垮舰鎬佸線寰�鏃犳硶婊¤冻瀹為檯闇�瑕侊紝鏁呭彲浠ラ�夋嫨澶嶅埗鍚屽悕鐗欑殑褰㈡�侊紝闀滃儚鍖栧悗杩涜寰皟銆傛鏃舵寜Shift閿彲浠ョ缉鏀剧墮榻匡紝鎸塁trl閿彲浠ユ棆杞墮榻裤�傚湪闈欐�佸挰鍚堟ā寮忎笅锛屽42鐗欒繘琛屽井璋冦�傜偣鍑烩�滀笅涓�姝モ�濓紝鍦ㄢ�滆嚜鐢遍�犲瀷鈥濇ā鍧椾笅瀵硅创闈㈠舰鎬佽繘琛岃繘涓�姝ョ殑淇暣銆傝妯″潡涓嬫湁濡備笅淇暣鍐呭锛氣�滆嚜鐢扁�濃�滆В鍓栧舰鎬佲�濄�傗�滆嚜鐢扁�濇寜閽腑鍙互浣跨敤锛氬鍔�/鍑忓皯銆佸厜婊�/骞虫暣銆侀�傚簲璋冩暣銆傗�滆В鍓栧舰鎬佲�濇寜閽腑鍙互閫夋嫨锛氱墮灏栥�侀儴鍒嗙墮榻裤�佹暣涓墮榻裤�佸荡銆傛牴鎹疄闄呮儏鍐甸�夋嫨鍚堥�傜殑鍔熻兘瀵逛慨澶嶄綋杩涜璋冩暣銆�
+                            class="bold fontGreen">6锛庤璁′慨澶嶄綋褰㈡��</span>銆�瀹屾垚涓婅堪姝ラ鍚庯紝杞欢浼氳繘鍏モ�滄帓鍒楃墮榻库�濈晫闈€�傚湪璇ョ晫闈笅鎷栨斁鐗欓娇浠ユ敼鍙樺叾浣嶇疆鍜屽舰鐘讹紝杩涜閫傚簲瀵瑰悎璋冩暣銆傜敱浜庢潗鏂欑殑鏈�灏忓帤搴﹁�屼骇鐢熺殑骞叉壈鎬ф帴瑙︼紝鍙互閫夋嫨蹇界暐锛屽湪灞忓箷涓嬫柟鐨勬寜閽腑閫夋嫨璁剧疆鏈�灏忓帤搴︿负0.41mm锛岀偣鍑烩�滅‘瀹氣�濊繑鍥炴帓鍒楃墮榻跨晫闈紝姝ゆ椂鍙牴鎹偅鑰呯殑骞撮緞銆佹�у埆銆佸悓鍚嶇墮褰㈡�佸拰閭荤墮褰㈡�佸湪杞欢棰勮鐨勭墮鍐犲舰鎬佸簱涓�夋嫨閫傚悎鎮h�呯殑淇浣撳舰鎬併�傝�冭檻鍒扮墮榻垮舰鎬佸簲鏄釜鎬у寲鐨勶紝鏁版嵁搴撲腑鐨勭墮榻垮舰鎬佸線寰�鏃犳硶婊¤冻瀹為檯闇�瑕侊紝鏁呭彲浠ラ�夋嫨澶嶅埗鍚屽悕鐗欑殑褰㈡�侊紝闀滃儚鍖栧悗杩涜寰皟銆傛鏃舵寜Shift閿彲浠ョ缉鏀剧墮榻匡紝鎸塁trl閿彲浠ユ棆杞墮榻裤�傚湪闈欐�佸挰鍚堟ā寮忎笅锛屽42鐗欒繘琛屽井璋冦�傜偣鍑烩�滀笅涓�姝モ�濓紝鍦ㄢ�滆嚜鐢遍�犲瀷鈥濇ā鍧椾笅瀵硅创闈㈠舰鎬佽繘琛岃繘涓�姝ョ殑淇暣銆傝妯″潡涓嬫湁濡備笅淇暣鍐呭锛氣�滆嚜鐢扁�濃�滆В鍓栧舰鎬佲�濄�傗�滆嚜鐢扁�濇寜閽腑鍙互浣跨敤锛氬鍔�/鍑忓皯銆佸厜婊�/骞虫暣銆侀�傚簲璋冩暣銆傗�滆В鍓栧舰鎬佲�濇寜閽腑鍙互閫夋嫨锛氱墮灏栥�侀儴鍒嗙墮榻裤�佹暣涓墮榻裤�佸荡銆傛牴鎹疄闄呮儏鍐甸�夋嫨鍚堥�傜殑鍔熻兘瀵逛慨澶嶄綋杩涜璋冩暣銆�
                     </p>
-                    <p class="content"><span class="bold">7锛庝繚瀛樿璁$粨鏋�</span>銆�淇濆瓨璁捐缁撴灉鏁版嵁锛屽畬鎴怌AD璁捐銆�</p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                    <p class="content"><span class="bold fontGreen">7锛庝繚瀛樿璁$粨鏋�</span>銆�淇濆瓨璁捐缁撴灉鏁版嵁锛屽畬鎴怌AD璁捐銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庡缓绔嬭鍗曟椂搴斾弗鏍兼寜鐓т复搴婂尰鐢熸彁渚涚殑涔夐娇璁捐鍗曢�夋嫨鐗欎綅銆佷慨澶嶄綋绫诲瀷鍜屾潗鏂欍�傝鍗曠紪鐮佷笌璁捐鍗曠紪鐮佽涓�鑷达紝鏂逛究鏃ュ悗鏌ユ壘銆�</p>
                     <p class="content">2锛庡綋鑷姩鐢熸垚鐨勫氨浣嶉亾鏂瑰悜涓嶇悊鎯虫椂锛屽彲鎵嬪姩璋冩暣鏂瑰悜锛屼篃鍙互鑷畾涔夎瀹氬氨浣嶉亾銆�</p>
                     <p class="content">3锛庤缃棿闅欏墏鏃讹紝瀵逛簬杈冨皷閿愮殑鍓嶇墮锛屽彲灏嗙矘鎺ュ墏鍘氬害閫傚綋澧炲ぇ锛涘浜庡垏榫堝緞鐭�佽仛鍚堣搴﹀皬鐨勫熀鐗欙紝鍙�傚綋璋冨皬绮樻帴鍓傚帤搴︺��</p>
                     <p class="right-info">锛堝悤绉嬭強锛�</p>
                     <h2 class="secondTitle">宸ヤ綔璁粌鍏��鏁版帶鍔犲伐宸ヨ壓璁捐</h2>
-                    <div class="bodyPic"><img src="../../assets/images/0148-01.jpg" style="width:30%" alt=""
-                            active="true" /></div>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <bookVideo :videoInfo="getResourceInfo('D7')" :BookId="config.activeBook.bookId"></bookVideo>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庝簡瑙e崟鍐犵殑鎺掔増姝ラ鍜屾敮鎾戞煴鐨勬斁缃��</p>
                     <p class="content">2锛庝簡瑙e崟鍐犲垏鍓婃椂閫夋嫨鐨勫垁鍏峰拰娉ㄦ剰浜嬮」銆�</p>
                     <p class="content">3锛庝簡瑙f満搴婂姞宸ヨ繃绋嬶紝瑙傚療鍔犲伐鏃跺垁鍏风浉瀵逛簬鍗曞啝鐨勫垏鍓婃儏鍐点��</p>
@@ -553,32 +533,33 @@
                     <img class="header-img" src="../../assets/images/pageHeader.png" alt="" />
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">1锛庤蒋浠舵帓鐗堜笌鍧枡瀹夎鏂规硶銆�</p>
                     <p class="content">2锛庢満搴婂惎鍔ㄦ柟娉曘��</p>
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">2瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
-                    <p class="content"><span class="bold">1锛庡疄璁澶�</span>銆�hyperDENT杞欢銆丏MG10鏈哄簥銆�</p>
-                    <p class="content"><span class="bold">2锛庡疄璁潗鏂�</span>銆�鍗曞啝鏁版嵁閾e垁鍒�鍏枫�佸渾鐩樻潗鏂欍�佸す鍏枫��</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
-                    <p class="content"><span class="bold">1锛庤蒋浠舵帓鐗堟搷浣�</span></p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡疄璁澶�</span>銆�hyperDENT杞欢銆丏MG10鏈哄簥銆�</p>
+                    <p class="content"><span class="bold fontGreen">2锛庡疄璁潗鏂�</span>銆�鍗曞啝鏁版嵁閾e垁鍒�鍏枫�佸渾鐩樻潗鏂欍�佸す鍏枫��</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="content"><span class="bold fontGreen">1锛庤蒋浠舵帓鐗堟搷浣�</span></p>
                     <p class="content">锛�1锛夋帴鏀惰璁″畬鎴愮殑鍗曞啝STL鏁版嵁骞舵鏌ユ暟鎹槸鍚︽湁鐮存崯鎴栫鐗囩殑鎯呭喌锛屼繚璇佹暟鎹畬鏁淬��</p>
                     <p class="content">锛�2锛夋墦寮�杞欢锛屽缓绔嬪姞宸ユ墍闇�鐨勬満搴婏紝鐢ㄥ鍏ユ瘺鍧殑澶瑰叿瀵煎叆姣涘澂骞舵鏌ユ瘺鍧殑鍘氬害锛屼繚璇佹瘺鍧帤搴﹀ぇ浜庡崟鍐犳暟鎹�1mm浠ヤ笂銆�</p>
                     <p class="content">锛�3锛夊湪杞欢涓鍏ュ崟鍐犳暟鎹紝杩涜浣嶇疆鐨勬憜鏀撅紝鍗曞啝浣嶇疆璺濈澶瑰叿鍜屾瘺鍧腑宸叉湁鐨勬暟鎹淇濇寔澶т簬0.5mm鐨勯棿璺濄��</p>
                     <p class="content">锛�4锛夐�夋嫨鑷姩璇嗗埆杈圭紭绾匡紝鐒跺悗閫夋嫨鑷姩鏀剧疆鏀拺鏌憋紝鍐嶆墜鍔ㄨ皟鏁存敮鎾戞煴鐨勪綅缃紝鍗曞啝3鏍规敮鎾戞煴涓哄ソ銆傛敮鎾戞煴浣嶇疆閫夋嫨閬垮紑閭绘帴浣嶇疆锛岃窛绂昏竟缂樼嚎1mm銆�</p>
                     <p class="content">锛�5锛夐�夋嫨鍔犲伐鍗曞啝鐨勬ā鏉胯繘琛岀▼搴忚繍绠椼��</p>
-                    <p class="content"><span class="bold">2锛庡畨瑁呭澂鏂�</span></p>
+                    <p class="content"><span class="bold fontGreen">2锛庡畨瑁呭澂鏂�</span></p>
                     <p class="content">锛�1锛夋鏌ユ満搴婁笂鐨勫垁鍏凤紝鎸夌収杞欢妯℃澘涓殑鍙傛暟瀹夎鍦ㄧ浉瀵瑰簲鐨勪綅缃笂锛屽垁鍏峰垁鍒冨湪瀵瑰垁浠笂妫�娴嬪悎鏍笺��</p>
                     <p class="content">锛�2锛夋妸姣涘澂鍦嗙洏瀹夎鍦ㄥす鍏蜂腑锛屾嫥绱ц灪涓濇椂瑕佸绉帮紝鐩镐簰鐢ㄥ姏锛屽姏閲忛�備腑銆�</p>
                     <p class="content">锛�3锛夋寜鐓х澶存寚瀹氱殑鏂瑰悜锛屾妸瀹夎浜嗘瘺鍧殑澶瑰叿瀹夎鍒版満搴婂伐浣滃彴涓紝骞舵墦寮�姘斿姩寮�鍏冲皢澶瑰叿鍥哄畾鐗㈠浐銆�</p>
-                    <p class="content"><span class="bold">3锛庡姞宸ヤ箟榻�</span></p>
+                    <p class="content"><span class="bold fontGreen">3锛庡姞宸ヤ箟榻�</span></p>
                     <p class="content">锛�1锛夋妸杞欢杩愮畻鍑烘潵鐨勭▼搴忎紶杈撳埌鏈哄簥锛屽惎鍔ㄦ満搴娿��</p>
                     <p class="content">锛�2锛夊垰鍚姩鏃惰灏嗘満搴婄殑閫熺巼闄嶄綆锛岃瀵熷垁鍏峰湪姣涘澂涓捣濮嬩綅缃殑鎯呭喌锛屼互渚夸簬瑙傚療鍒�鍏疯建杩规槸鍚﹀拰杞欢閲岀殑鏁版嵁杞粨涓�鑷淬�傝嫢鏃犱换浣曢棶棰橈紝鍒欏皢鏈哄簥璋冭嚦姝e父閫熺巼寮�濮嬪姞宸ャ��
                     </p>
                     <p class="content">锛�3锛夊姞宸ュ畬鎴愬悗锛屾墦寮�姘斿姩寮�鍏冲彇鍑哄す鍏凤紝浣跨敤鎵撶(鎵嬫満灏嗗崟鍐犲彇涓嬪苟娓呮礂骞插噣銆�</p>
                     <p class="content"><span
-                            class="bold">4锛庝箟榻挎鏌�</span>銆�灏嗗疄鐗╀笌鏁版嵁杩涜瀵规瘮锛屾煡鐪嬭竟缂樼殑瀹屾暣鍐犲唴鐨勮疆寤撳拰鍐犲鐨勫舰鎬佹槸鍚︾鍚堟暟鎹姹傦紝鍐嶅甫鍒版ā鍨嬩笂锛屾娴嬪瘑鍚堢▼搴︺��</p>
+                            class="bold fontGreen">4锛庝箟榻挎鏌�</span>銆�灏嗗疄鐗╀笌鏁版嵁杩涜瀵规瘮锛屾煡鐪嬭竟缂樼殑瀹屾暣鍐犲唴鐨勮疆寤撳拰鍐犲鐨勫舰鎬佹槸鍚︾鍚堟暟鎹姹傦紝鍐嶅甫鍒版ā鍨嬩笂锛屾娴嬪瘑鍚堢▼搴︺��
+                    </p>
 
                 </div>
                 <div class="page-bottom-right">133</div>
@@ -594,33 +575,30 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庤蒋浠舵帓鐗堟椂瑕佹鏌ュソ鏁版嵁鍦ㄦ瘺鍧腑鐨勪綅缃紝閫夋嫨瑙勫畾鐨勫姞宸ユā鏉裤��</p>
                     <p class="content">2锛庝弗鏍兼寜鐓ц瀹氭搷浣滀娇鐢ㄦ満搴娿�佸す鍏枫�佸垁鍏枫��</p>
                     <p class="content">3锛庢満搴婅繍琛屼腑涓嶅彲浠ョ寮�宸ヤ綔宀椾綅銆�</p>
                     <p class="content">4锛庡姞宸ュ嚭鏉ョ殑鍐犺瘯鎴村埌妯″瀷涓婃椂涓嶈兘鐢ㄥ姏锛岄槻姝㈡崯浼ゆā鍨嬭竟缂樸��</p>
                     <p class="right-info">锛堟潕鏂囧锛�</p>
                     <h2 class="secondTitle">宸ヤ綔璁粌涔濄��閲戝睘3D鎵撳嵃宸ヨ壓璁捐</h2>
-                    <p class="titleQuot-1">銆愮洰鐨勫拰瑕佹眰銆�</p>
+                    <p class="titleQuot-1 fTitle">銆愮洰鐨勫拰瑕佹眰銆�</p>
                     <p class="content">1锛庝簡瑙e啝妗ョ殑鎺掔増姝ラ鍜屾敮鎾戞煴鐨勬斁缃��</p>
                     <p class="content">2锛庝簡瑙f弧瓒虫墦鍗版満鍔犲伐鏉′欢鐨勮姹傘��</p>
                     <p class="content">3锛庝簡瑙f墦鍗版満鍔犲伐鐨勬垚褰㈣繃绋嬨��</p>
                     <p class="content">4锛庡疄闄呰瀵熷姞宸ュ畬鎴愬悗鐨勫啝璇曟埓鍜屽瘑鍚堢▼搴︺��</p>
-                    <p class="titleQuot-1">銆愬疄璁唴瀹广��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁唴瀹广��</p>
                     <p class="content">1锛庤蒋浠舵帓鐗堢殑鎿嶄綔鏂规硶銆�</p>
                     <p class="content">2锛庨噾灞�3D鎵撳嵃鐨勫噯澶囧伐浣滄満搴婂惎鍔ㄣ��</p>
-                    <p class="titleQuot-1">銆愬疄璁鏃躲��</p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁鏃躲��</p>
                     <p class="content">2瀛︽椂銆�</p>
-                    <p class="titleQuot-1">銆愬疄璁敤鍝併��</p>
-                    <p class="content"><span class="bold">1锛庡疄璁澶�</span>銆�鐢佃剳銆丆AM bridge杞欢銆丒OSM270鎵撳嵃鏈哄簥銆�</p>
-                    <p class="content"><span class="bold">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔鍩烘澘1鍧椼��</p>
-                    <p class="titleQuot-1">銆愭柟娉曞拰姝ラ銆�</p>
-                    <p class="content"><span class="bold">1锛庤蒋浠剁殑鎺掔増鎿嶄綔</span></p>
+                    <p class="titleQuot-1 fTitle">銆愬疄璁敤鍝併��</p>
+                    <p class="content"><span class="bold fontGreen">1锛庡疄璁澶�</span>銆�鐢佃剳銆丆AM bridge杞欢銆丒OSM270鎵撳嵃鏈哄簥銆�</p>
+                    <p class="content"><span class="bold fontGreen">2锛庡疄璁潗鏂�</span>銆�宸ヤ綔鍩烘澘1鍧椼��</p>
+                    <p class="titleQuot-1 fTitle">銆愭柟娉曞拰姝ラ銆�</p>
+                    <p class="content"><span class="bold fontGreen">1锛庤蒋浠剁殑鎺掔増鎿嶄綔</span></p>
                     <p class="content">锛�1锛夋帴鏀惰璁″畬鎴愮殑STL鏁版嵁骞舵鏌ユ暟鎹槸鍚︽湁鐮存崯鎴栫鐗囩殑鎯呭喌锛屼繚璇佹暟鎹畬鏁淬��</p>
                     <p class="content">锛�2锛夊皢鏁版嵁瀵煎叆杞欢涓紝閫夋嫨涓嶅悓绉嶇被鍒嗗埆鏀剧疆鍦ㄥ悇鑷殑鍖哄煙锛屼娇鐢�3D璋冩暣鍔熻兘妫�鏌ユ瘡涓暟鎹浉瀵逛簬宸ヤ綔鍩烘澘鏄惁淇濇寔楂樺害涓�鑷淬��</p>
-
-
-
                 </div>
                 <div class="page-bottom-left">134</div>
             </div>
@@ -636,7 +614,7 @@
                 <div class="bodystyle">
                     <p class="content">锛�3锛夎嚜鍔ㄦ坊鍔犳敮鎾戞煴锛屽湪闄″抄鍜屾ˉ浣撹緝鍘氱殑浣嶇疆鎵嬪姩澧炲姞鏀拺鏌憋紝闃叉鍙樺舰銆�</p>
                     <p class="content">锛�4锛夎皟鏁村拰娣诲姞鏀拺鏌卞悗锛岃蒋浠舵妸涓夌淮鏁版嵁杞寲涓轰簩缁存暟鎹紶杈撹嚦鏈哄簥鍑嗗鍔犲伐銆�</p>
-                    <p class="content"><span class="bold">2锛庢満搴婂噯澶囧拰鍔犲伐</span></p>
+                    <p class="content"><span class="bold fontGreen titleLeftmove">2锛庢満搴婂噯澶囧拰鍔犲伐</span></p>
                     <p class="content">
                         锛�1锛夊伐浣滃熀鏉块渶缁忚繃鍠风爞鍚庝娇寰楄〃闈㈠彉鎴愮(鐮傜姸鎬侊紝杩欐牱鍙互浣跨涓�灞傞摵绮夊彉寰楀潎鍖�锛岀敤鎵撶(宸ュ叿鍘婚櫎杈硅鐨勬瘺鍒哄�掕浠ヤ究鏇村ソ鍦颁繚鎶ゅ埉鍒�锛岀敤涔欓唶鎿︽嫮骞插噣鍩烘澘琛ㄩ潰浣跨涓�灞傛墦鍗板彲浠ヤ笌鍩烘澘鏇村ソ鍦拌繛鎺ャ��</p>
                     <p class="content">
@@ -645,8 +623,9 @@
                     <p class="content">锛�3锛夊伐浣滆埍鍐呭紑濮嬪厖姘皵锛屼娇寰楁哀姘斿惈閲忛檷浣庤嚦0.8%浠ヤ笅锛屽埉鍒�棰勯摵绮夊皢宸ヤ綔鍩烘澘琛ㄩ潰鍧囧寑閾轰笂绗竴灞傜矇鏈��</p>
                     <p class="content">锛�4锛夊惎鍔ㄦ満搴婂紑濮嬪姞宸ワ紝鍦ㄥ姞宸ヨ繃绋嬩腑瑙傚療鏀拺鍖哄煙鐨勬縺鍏夋壂鎻忚矾寰勫拰鏁版嵁鍖哄煙鐨勬縺鍏夎矾寰勭殑鍖哄埆銆傛墦鍗板畬鎴愬悗鍙栧嚭鍩烘澘鏀惧埌鍔犵儹鐐夊唴鍋氬簲鍔涢噴鏀俱��</p>
                     <p class="content"><span
-                            class="bold">3锛庝箟榻挎鏌�</span>銆�鍙栦笅鐗欏啝锛屽皢瀹炵墿涓庢暟鎹繘琛屽姣旓紝鏌ョ湅杈圭紭鐨勫畬鏁淬�佸啝鍐呯殑杞粨鍜屽啝澶栫殑褰㈡�佹槸鍚︾鍚堟暟鎹姹傦紝鍐嶈瘯鎴村埌妯″瀷涓婏紝妫�娴嬪瘑鍚堢▼搴︺��</p>
-                    <p class="titleQuot-1">銆愭敞鎰忎簨椤广��</p>
+                            class="bold fontGreen">3锛庝箟榻挎鏌�</span>銆�鍙栦笅鐗欏啝锛屽皢瀹炵墿涓庢暟鎹繘琛屽姣旓紝鏌ョ湅杈圭紭鐨勫畬鏁淬�佸啝鍐呯殑杞粨鍜屽啝澶栫殑褰㈡�佹槸鍚︾鍚堟暟鎹姹傦紝鍐嶈瘯鎴村埌妯″瀷涓婏紝妫�娴嬪瘑鍚堢▼搴︺��
+                    </p>
+                    <p class="titleQuot-1 fTitle">銆愭敞鎰忎簨椤广��</p>
                     <p class="content">1锛庤蒋浠舵帓鐗堟椂瑕佹鏌ュソ鏁版嵁锛屾墜鍔ㄨ皟鏁存敮鎾戞煴鐨勫瘑搴︺��</p>
                     <p class="content">2锛庡熀鏉跨殑璋冩暣蹇呴』鍦ㄨ瀹氱殑鑼冨洿鍐咃紝闃叉鍑虹幇绗竴灞傛墦鍗板け璐ャ��</p>
                     <p class="content">3锛庡姞宸ュ嚭鏉ョ殑鍐犺瘯鎴村埌妯″瀷涓婃椂涓嶈兘鐢ㄥ姏锛岄槻姝㈡崯浼ゆā鍨嬭竟缂樸��</p>
@@ -659,7 +638,7 @@
         <div class="page-box" page="142">
             <div v-if="showPageList.indexOf(142) > -1">
                 <div class="bodystyle">
-                    <h1 class="firstTitle-l mb-70 pt-70">鍙傝�冩枃鐚�</h1>
+                    <h1 class="firstTitle-l mb-70 pt-70 bold">鍙傝�冩枃鐚�</h1>
                     <p class="content">[1]鐜嬪媷.鍙h厰鏁板瓧鍖栨妧鏈痆M].鍖椾含锛氫汉姘戝崼鐢熷嚭鐗堢ぞ锛�2018.</p>
                     <p class="content">[2]R.椹柉閲岋紝C.F.寰烽噷鏂灏�.鍙h厰鏁板瓧鍖栨妧鏈复搴婂簲鐢╗M].浠诲厜杈夛紝钁e嚡璇�.鍖椾含锛氬寲瀛﹀伐涓氬嚭鐗堢ぞ.2018.</p>
                     <p class="content">[3]璧典笘鍕�.鏁板瓧鍖栫妞嶅鏉夸复搴婂簲鐢ㄦ妧鏈浘瑙M].鍖椾含锛氫汉姘戝崼鐢熷嚭鐗堢ぞ锛�2018.</p>
@@ -678,12 +657,29 @@
 
 
 <script>
+import bookVideo from "@/components/bookVideo/index.vue";
 export default {
     name: "chapterSeven",
     props: {
         showPageList: {
             type: Array,
         },
+        getResourceInfo: {
+            type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
+            required: true,
+        },
+    },
+    components: {
+        bookVideo,
+    },
+    data() {
+        return {
+        };
+    },
+    mounted() {
+    },
+    methods: {
+
     },
 }
 </script>
diff --git a/src/books/digitalDentalRestorationTechnology/view/components/index.vue b/src/books/digitalDentalRestorationTechnology/view/components/index.vue
index 80ec6e4..dc6bdec 100644
--- a/src/books/digitalDentalRestorationTechnology/view/components/index.vue
+++ b/src/books/digitalDentalRestorationTechnology/view/components/index.vue
@@ -1,972 +1,771 @@
 <template>
-    <div class="page-main" @scroll="throttledScrollHandler">
-        <div id="searchDomBox" style="display: none">
-            <div id="searchContent"></div>
-        </div>
-        <div class="page-content" :style="{
-            fontSize: fontSize + 'px',
-            transform: `scale(${pageZoom})`,
-            transformOrigin: 'center top',
-        }">
-            <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList"></pageHeader>
-            <chapterOne v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterOne>
-            <chapterTwo v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterTwo>
-            <chapterThree v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterThree>
-            <chapterFour v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterFour>
-            <chapterFive v-if="showCatalogList.indexOf(6) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterFive>
-            <chapterSix v-if="showCatalogList.indexOf(7) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterSix>
-            <chapterSeven v-if="showCatalogList.indexOf(8) > -1" :showPageList="loadPageList"
-                :resourceList="resourceList">
-            </chapterSeven>
-        </div>
+  <div class="page-main" @scroll="throttledScrollHandler">
+    <div id="searchDomBox" style="display: none">
+      <div id="searchContent"></div>
     </div>
+    <div class="page-content" :style="{
+      fontSize: fontSize + 'px',
+      transform: `scale(${pageZoom})`,
+      transformOrigin: 'center top',
+    }">
+      <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList"></pageHeader>
+      <chapterOne v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun"
+        :interfaceQuestion="bookQuestionsList">
+      </chapterOne>
+      <chapterTwo v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun"
+        :interfaceQuestion="bookQuestionsList">
+      </chapterTwo>
+      <chapterThree v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun"
+        :interfaceQuestion="bookQuestionsList">
+      </chapterThree>
+      <chapterFour v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList"
+        :getResourceInfo="resourceListFun" :interfaceQuestion="bookQuestionsList">
+      </chapterFour>
+      <chapterFive v-if="showCatalogList.indexOf(6) > -1" :showPageList="loadPageList"
+        :getResourceInfo="resourceListFun" :interfaceQuestion="bookQuestionsList">
+      </chapterFive>
+      <chapterSix v-if="showCatalogList.indexOf(7) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun"
+        :interfaceQuestion="bookQuestionsList">
+      </chapterSix>
+      <chapterSeven v-if="showCatalogList.indexOf(8) > -1" :showPageList="loadPageList"
+        :getResourceInfo="resourceListFun" :interfaceQuestion="bookQuestionsList">
+      </chapterSeven>
+    </div>
+  </div>
 </template>
 
 <script>
 import Vue from "vue";
 import pageHeader from "./header.vue";
-import chapterOne from "./chapter001.vue"
-import chapterTwo from "./chapter002.vue"
-import chapterThree from "./chapter003.vue"
-import chapterFour from "./chapter004.vue"
-import chapterFive from "./chapter005.vue"
-import chapterSix from "./chapter006.vue"
-import chapterSeven from "./chapter007.vue"
+import chapterOne from "./chapter001.vue";
+import chapterTwo from "./chapter002.vue";
+import chapterThree from "./chapter003.vue";
+import chapterFour from "./chapter004.vue";
+import chapterFive from "./chapter005.vue";
+import chapterSix from "./chapter006.vue";
+import chapterSeven from "./chapter007.vue";
 import NoteIcon from "@/assets/images/biji.png";
+import MG from "@/assets/js/middleGround/WebMiddleGroundApi";
 import _ from "lodash";
 import Swiper from "swiper/bundle";
 import "swiper/swiper-bundle.css";
 import Viewer from "viewerjs";
 import "viewerjs/dist/viewer.css";
 export default {
-    name: "pageContent",
-    data() {
-        return {
-            catalogLength: 8, // 鎬荤珷鑺傛暟
-            showCatalogList: [], // 鏄剧ず鐨勭珷鑺�
-            loadThreshold: 300, // 瑙﹀彂鍔犺浇闃堝��
-            throttleThreshold: 100, // 鑺傛祦闃堝��
-            previousScrollTop: 0,
-            throttledScrollHandler: null,
-            observer: null,
-            loadPageObserver: null,
-            loadPageList: [],
-            questionDataMap: {},
-            renderSignMap: {},
-            highlightData: null,
-            audioPath: "",
-            currentTime: null,
-            videoList: [],
-            resourceList: {},
-        };
+  name: "pageContent",
+  data() {
+    return {
+      catalogLength: 8, // 鎬荤珷鑺傛暟
+      showCatalogList: [], // 鏄剧ず鐨勭珷鑺�
+      loadThreshold: 300, // 瑙﹀彂鍔犺浇闃堝��
+      throttleThreshold: 100, // 鑺傛祦闃堝��
+      previousScrollTop: 0,
+      throttledScrollHandler: null,
+      observer: null,
+      loadPageObserver: null,
+      loadPageList: [],
+      questionDataMap: {},
+      renderSignMap: {},
+      highlightData: null,
+      audioPath: "",
+      currentTime: null,
+      videoList: [],
+      resourceList: [],
+      bookQuestionsList: [],
+    };
+  },
+  computed: {
+    fontSize() {
+      this.transformDom(this.$store.state.qiankun.fontSize);
+      return this.$store.state.qiankun.fontSize
+        ? this.$store.state.qiankun.fontSize
+        : 14;
     },
-    computed: {
-        fontSize() {
-            this.transformDom(this.$store.state.qiankun.fontSize);
-            return this.$store.state.qiankun.fontSize
-                ? this.$store.state.qiankun.fontSize
-                : 14;
-        },
-        pageZoom() {
-            return this.$store.state.qiankun.scale
-                ? this.$store.state.qiankun.scale / 100
-                : 1;
-        },
+    pageZoom() {
+      return this.$store.state.qiankun.scale
+        ? this.$store.state.qiankun.scale / 100
+        : 1;
     },
-    watch: {
-        showCatalogList: {
-            handler(newVal, oldVal) {
-                if (
-                    this.$store.state.qiankun &&
-                    this.$store.state.qiankun.catalogChange
-                ) {
-                    // 璋冪敤鐖跺眰鏂规硶
-                    this.$store.state.qiankun.catalogChange({
-                        showCatalogList: newVal,
-                    });
-                }
-                // 鍚姩椤电爜瑙傚療
-                setTimeout(() => {
-                    this.initObservation();
-                    this.initThemeColor();
-                }, 500);
-            },
-        },
-        loadPageList: {
-            handler(newVal, oldVal) {
-                setTimeout(() => {
-                    this.transformDom(this.$store.state.qiankun.fontSize);
-                    this.initSwiper();
-                    this.initViewer();
-                    this.closeAudio();
-                    this.closeVideo();
-                }, 200);
-            },
-        },
-        pageZoom: {
-            handler(newVal, oldVal) {
-                const scrollBox = (
-                    this.container ? this.container : document
-                ).querySelector(".page-main");
-                scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal;
-            },
-        },
-        resourceList: {
-            handler(newVal, oldVal) {
-                this.resourceList = newVal;
-            },
-        },
-    },
-    mounted() {
-        // 榛樿鍔犺浇绔犺妭
-        this.showCatalogList = [1];
-        // 婊氬姩鐩戝惉鑺傛祦
-        this.throttledScrollHandler = _.throttle(
-            this.scrollFun,
-            this.throttleThreshold,
-            { leading: true, trailing: false }
-        );
-        // 瀹氫箟瀛愬眰鏂规硶
-        if (this.setGlobalState) {
-            // 鎻愪緵椤甸潰璺宠浆鍔熻兘
-            this.setGlobalState({
-                gotoPage: (catalog, page) => {
-                    this.gotoPage(catalog, page);
-                },
-                // 娓叉煋绗旇銆侀珮浜�佸垝绾�
-                renderSign: (type, data) => {
-                    // 鍥犱负璋冩暣涓洪〉闈㈡噿鍔犺浇锛屾墍浠ユ覆鏌撴爣璁颁篃闇�瑕佹寜鐓ч〉闈㈣繘琛屽鐞嗭紝鍏堝偍瀛樻暟鎹紝椤甸潰鍔犺浇瀹屾垚鍐嶆覆鏌撳搴旂殑鏍囪锛�
-                    this.handelSignData(type, data);
-                    // this.renderSign(type, data);
-                },
-                // 鍒犻櫎绗旇銆侀珮浜�佸垝绾�
-                delSign: (data) => {
-                    this.delSign(data);
-                },
-                // 鍏ㄦ枃妫�绱�
-                searchBookByKeyword: (keyword) => {
-                    return this.searchTextByPage(keyword);
-                },
-                // 璺宠浆妫�绱㈢粨鏋滀綅缃�
-                jumpSearchItem: (data) => {
-                    this.searchItemLocation(data);
-                },
-            });
+  },
+  watch: {
+    showCatalogList: {
+      handler(newVal, oldVal) {
+        if (
+          this.$store.state.qiankun &&
+          this.$store.state.qiankun.catalogChange
+        ) {
+          // 璋冪敤鐖跺眰鏂规硶
+          this.$store.state.qiankun.catalogChange({
+            showCatalogList: newVal,
+          });
         }
-
-        // 鍒涘缓涓�涓柊鐨� Intersection Observer 瀹炰緥锛岀敤浜庤瀵熺洰鏍囧厓绱犲拰鎵ц鐩稿簲鐨勫洖璋冨嚱鏁般��
-        // new IntersectionObserver(callback, options)锛氫娇鐢ㄤ箣鍓嶅畾涔夌殑 callback 鍥炶皟鍑芥暟鍜� options 閰嶇疆閫夐」鏉ュ垵濮嬪寲 Intersection Observer 瀹炰緥銆�
-        this.observer = new IntersectionObserver(this.pageChangeCallback, {
-            root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
-            rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
-            threshold: 0.5, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
-        });
-
-        this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, {
-            root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
-            rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
-            threshold: 0, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
-        });
-
-        // this.getBookResourceList();
-
         // 鍚姩椤电爜瑙傚療
         setTimeout(() => {
-            this.initObservation();
-            this.initThemeColor();
+          this.initObservation();
         }, 500);
-
-        // 娴嬭瘯椤甸潰璺宠浆
-        // setTimeout(() => {
-        //     this.gotoPage(8, 143);
-        // }, 500);
-
-        // const pageDom = (this.container ? this.container : document)
-        //   .querySelector("#app")
-        //   .querySelectorAll(".page-box");
-        // 妫�绱�
-        // console.log(this.searchTextByPage("淇濇姢鍐呰剰鍣ㄥ畼"), "searchTextByPage");
-        // 妫�绱㈣烦杞�
-        // this.searchItemLocation({
-        //   catalog: 2,
-        //   page: 10,
-        //   txt: " 杩愬姩绯荤粺鏄敱楠ㄣ�侀杩炵粨鍜岄楠艰倢涓夐儴鍒嗙粍鎴愮殑銆傚叏韬殑楠ㄩ�氳繃楠ㄨ繛缁撶粍鎴愪汉浣撻楠硷紙瑙佸浘1-1锛夈�傞楠兼槸浜轰綋鐨勬敮鏋讹紝鍏锋湁淇濇姢鍐呰剰鍣ㄥ畼銆佷緵鑲岃倝闄勭潃鍜屼綔涓鸿倢鑲夎繍鍔ㄧ殑鏉犳潌绛変綔鐢ㄣ�傚湪绁炵粡绯荤粺鐨勬敮閰嶄笅锛岃倢鑲夋敹缂╃壍鍔ㄦ墍闄勭潃鐨勯缁曠潃鍏宠妭杞姩锛屼娇韬綋浜х敓鍚勭鍔ㄤ綔銆傛墍浠ワ紝杩愬姩绯荤粺鍏锋湁杩愬姩銆佹敮鎸佸拰淇濇姢绛夊姛鑳斤紝骞煎勾鏃舵湡鐨勯楠艰繕鍏锋湁閫犺鍔熻兘銆� ",
-        //   txtIndex: 57
-        // });
-        // }, 500);
-
+      },
     },
-    methods: {
-        // setZoom1() {
-        //   let scale = this.$store.state.qiankun.scale + 10;
-        //   const scrollBox = (
-        //     this.container ? this.container : document
-        //   ).querySelector(".page-main");
-        //   this.$store.commit("setZoom", scale);
-        // },
-        // setZoom2() {
-        //   let scale = this.$store.state.qiankun.scale - 10;
-        //   const scrollBox = (
-        //     this.container ? this.container : document
-        //   ).querySelector(".page-main");
-        //   this.$store.commit("setZoom", scale);
-        // },
-        // 璇锋眰璧勬簮Json
-        async getBookResourceList() {
-            this.resourceList = await this.config.getBookResources(
-                process.env.VUE_APP_RESOURCE_CTX + (process.env.VUE_APP_ENV == "product"
-                    ? process.env.VUE_APP_BOOK_ID
-                    : "clinicalDiseasesSummary")
+    loadPageList: {
+      handler(newVal, oldVal) {
+        setTimeout(() => {
+          this.transformDom(this.$store.state.qiankun.fontSize);
+          this.initSwiper();
+          this.initViewer();
+          this.closeAudio();
+          this.closeVideo();
+          this.initThemeColor();
+        }, 200);
+      },
+    },
+    pageZoom: {
+      handler(newVal, oldVal) {
+        const scrollBox = (
+          this.container ? this.container : document
+        ).querySelector(".page-main");
+        scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal;
+      },
+    },
+    resourceList: {
+      handler(newVal, oldVal) {
+        this.resourceList = newVal;
+      },
+    },
+    bookQuestionsList: {
+      handler(newVal, oldVal) {
+        this.bookQuestionsList = newVal;
+      },
+    },
+  },
+  mounted() {
+    // 榛樿鍔犺浇绔犺妭
+    this.showCatalogList = [1];
+    // 婊氬姩鐩戝惉鑺傛祦
+    this.throttledScrollHandler = _.throttle(
+      this.scrollFun,
+      this.throttleThreshold,
+      { leading: true, trailing: false }
+    );
+    // 瀹氫箟瀛愬眰鏂规硶
+    if (this.setGlobalState) {
+      // 鎻愪緵椤甸潰璺宠浆鍔熻兘
+      this.setGlobalState({
+        gotoPage: (catalog, page) => {
+          this.gotoPage(catalog, page);
+        },
+        // 娓叉煋绗旇銆侀珮浜�佸垝绾�
+        renderSign: (type, data) => {
+          // 鍥犱负璋冩暣涓洪〉闈㈡噿鍔犺浇锛屾墍浠ユ覆鏌撴爣璁颁篃闇�瑕佹寜鐓ч〉闈㈣繘琛屽鐞嗭紝鍏堝偍瀛樻暟鎹紝椤甸潰鍔犺浇瀹屾垚鍐嶆覆鏌撳搴旂殑鏍囪锛�
+          this.handelSignData(type, data);
+          // this.renderSign(type, data);
+        },
+        // 鍒犻櫎绗旇銆侀珮浜�佸垝绾�
+        delSign: (data) => {
+          this.delSign(data);
+        },
+        // 鍏ㄦ枃妫�绱�
+        searchBookByKeyword: (keyword) => {
+          return this.searchTextByPage(keyword);
+        },
+        // 璺宠浆妫�绱㈢粨鏋滀綅缃�
+        jumpSearchItem: (data) => {
+          this.searchItemLocation(data);
+        },
+      });
+    }
+
+    // 鍒涘缓涓�涓柊鐨� Intersection Observer 瀹炰緥锛岀敤浜庤瀵熺洰鏍囧厓绱犲拰鎵ц鐩稿簲鐨勫洖璋冨嚱鏁般��
+    // new IntersectionObserver(callback, options)锛氫娇鐢ㄤ箣鍓嶅畾涔夌殑 callback 鍥炶皟鍑芥暟鍜� options 閰嶇疆閫夐」鏉ュ垵濮嬪寲 Intersection Observer 瀹炰緥銆�
+    this.observer = new IntersectionObserver(this.pageChangeCallback, {
+      root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
+      rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
+      threshold: 0.5, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
+    });
+
+    this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, {
+      root: null, // 鎸囧畾鏍瑰厓绱狅紝杩欓噷璁句负 null锛岃〃绀洪�夊彇鏁翠釜瑙嗙獥浣滀负鏍瑰厓绱犮��
+      rootMargin: "0px", // 鎸囧畾鏍瑰厓绱犵殑杈圭晫锛岃繖閲岃涓� "0px"锛岃〃绀烘牴鍏冪礌鐨勮竟鐣屽拰瑙嗙獥鐨勮竟鐣岄噸鍚�
+      threshold: 0, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
+    });
+
+    this.getBookResourceList();
+    // 鑾峰彇鏁存湰涔﹂鐩�
+    this.getBookQuestionList();
+
+    // 鍚姩椤电爜瑙傚療
+    setTimeout(() => {
+      this.initObservation();
+    }, 500);
+
+    // 娴嬭瘯椤甸潰璺宠浆
+    // setTimeout(() => {
+    //   this.gotoPage(7, 125);
+    // }, 500);
+  },
+  methods: {
+    // 璇锋眰璧勬簮Json
+    getBookResourceList() {
+      this.config
+        .getBookResources(
+          process.env.VUE_APP_RESOURCE_CTX +
+          (process.env.VUE_APP_ENV == "product"
+            ? process.env.VUE_APP_BOOK_ID
+            : "digitalDentalRestorationTechnology")
+        )
+        .then((data) => {
+          this.resourceList = data;
+        })
+        .catch((error) => {
+          console.error("鑾峰彇鍥句功璧勬簮鍒楄〃澶辫触:", error);
+        });
+    },
+    // 鑾峰彇鍥句功闂鍒楄〃
+    getBookQuestionList() {
+      let query = {
+        storeInfo: this.config.activeBook.storeRefcode,
+        path: "*",
+        cmsPath: this.config.activeBook.rootCmsItemId,
+        cmsType: "*",
+        productId: this.config.activeBook.bookId,
+        queryType: "*",
+        itemFields: {
+          Embedded_QuestionBank_Stem: [],
+          Embedded_QuestionBank_AnalysisCon: [],
+          Embedded_QuestionBank_Answer: [],
+          Embedded_QuestionBank_Option: [],
+          Embedded_QuestionBank_QuestionType: [],
+          Embedded_QuestionBank_StemStyle: [],
+          Embedded_QuestionBank_OptionStyle: [],
+          Embedded_QuestionBank_KnowledgePoint: [],
+          Embedded_QuestionBank_Difficulty: [],
+        },
+      };
+      MG.store
+        .getProductDetail(query)
+        .then((res) => {
+          let bookQuestionList = [];
+          if (res.datas.cmsDatas[0].datas.length > 0) {
+            res.datas.cmsDatas[0].datas.forEach((item) => {
+              if (item.datas.Type === "questionBankItem") {
+                bookQuestionList.push(item);
+              }
+            });
+          }
+          this.bookQuestionsList = bookQuestionList;
+        })
+        .catch((error) => {
+          console.error("鑾峰彇鍥句功闂鍒楄〃澶辫触:", error);
+        });
+    },
+
+    resourceListFun(id, key) {
+      let data = this.resourceList.find(item => item.key == id)
+      return key ? data[key] : data
+    },
+
+    // 婊氬姩鐩戝惉
+    scrollFun(event) {
+      this.handleVideoPicture();
+      // 鍒ゆ柇鍚戜笂婊氬姩杩樻槸鍚戜笅婊氬姩
+      if (event.target.scrollTop > this.previousScrollTop) {
+        this.getAduio();
+        // 鍚戜笅
+        const currentScrollTop =
+          event.target.scrollTop + event.target.offsetHeight;
+        if (
+          currentScrollTop >=
+          event.target.scrollHeight - this.loadThreshold
+        ) {
+          // 鍒拌揪闃堝��
+          if (
+            this.showCatalogList[this.showCatalogList.length - 1] <
+            this.catalogLength
+          ) {
+            // 鍔犺浇涓嬩竴绔�
+            this.showCatalogList.push(
+              this.showCatalogList[this.showCatalogList.length - 1] + 1
             );
-        },
-        // 婊氬姩鐩戝惉
-        scrollFun(event) {
-            this.handleVideoPicture();
-            // 鍒ゆ柇鍚戜笂婊氬姩杩樻槸鍚戜笅婊氬姩
-            if (event.target.scrollTop > this.previousScrollTop) {
-                this.getAduio();
-                // 鍚戜笅
-                const currentScrollTop =
-                    event.target.scrollTop + event.target.offsetHeight;
-                if (
-                    currentScrollTop >=
-                    event.target.scrollHeight - this.loadThreshold
-                ) {
-                    console.log(1);
-
-                    // 鍒拌揪闃堝��
-                    if (
-                        this.showCatalogList[this.showCatalogList.length - 1] <
-                        this.catalogLength
-                    ) {
-                        // 鍔犺浇涓嬩竴绔�
-                        this.showCatalogList.push(
-                            this.showCatalogList[this.showCatalogList.length - 1] + 1
-                        );
-                        if (this.showCatalogList.length > 3) {
-                            // 瓒呰繃涓夌珷闅愯棌椤堕儴涓�绔�
-                            this.showCatalogList.shift();
-                        }
-                    }
-                }
-            } else if (event.target.scrollTop < this.previousScrollTop) {
-                this.handleAudio();
-                // 鍚戜笂
-                const currentScrollTop = event.target.scrollTop;
-                if (currentScrollTop <= this.loadThreshold) {
-                    // 鍒拌揪闃堝��
-                    if (this.showCatalogList[0] > 0) {
-                        // 鍔犺浇涓婁竴绔�
-                        this.showCatalogList.unshift(this.showCatalogList[0] - 1);
-                        if (this.showCatalogList.length > 3) {
-                            // 瓒呰繃涓夌珷闅愯棌搴曢儴涓�绔�
-                            this.showCatalogList.pop();
-                        }
-                    }
-                }
+            if (this.showCatalogList.length > 3) {
+              // 瓒呰繃涓夌珷闅愯棌椤堕儴涓�绔�
+              this.showCatalogList.shift();
             }
-            // showCatalogList 褰撳墠鏄剧ず鐨勪笁涓珷鑺傦紝watch鐩戝惉浼犻�掔粰涓诲簲鐢�
-            // 鏇存柊涓婁竴娆℃粴鍔ㄧ殑浣嶇疆
-            this.previousScrollTop = event.target.scrollTop;
-        },
-        // 绔犺妭銆侀〉闈㈣烦杞�
-        gotoPage(catalog, page) {
-            if (catalog >= 0 && catalog <= this.catalogLength) {
-                // 澶勭悊娓叉煋绔犺妭
-                if (catalog == 0) {
-                    this.showCatalogList = [0, 1];
-                } else if (catalog == this.catalogLength) {
-                    this.showCatalogList = [
-                        this.catalogLength - 2,
-                        this.catalogLength - 1,
-                        this.catalogLength,
-                    ];
-                } else {
-                    this.showCatalogList = [catalog - 1, catalog, catalog + 1];
-                }
-                setTimeout(() => {
-                    // 璺宠浆椤电爜
-                    const pageDom = (
-                        this.container ? this.container : document
-                    ).querySelector(`[page="${page}"]`);
-                    if (pageDom) {
-                        pageDom.scrollIntoView();
-                    } else {
-                        console.log("椤电爜閿欒锛�");
-                    }
-                }, 500);
-            } else {
-                console.log("绔犺妭閿欒锛�");
+          }
+        }
+      } else if (event.target.scrollTop < this.previousScrollTop) {
+        this.handleAudio();
+        // 鍚戜笂
+        const currentScrollTop = event.target.scrollTop;
+        if (currentScrollTop <= this.loadThreshold) {
+          // 鍒拌揪闃堝��
+          if (this.showCatalogList[0] > 0) {
+            // 鍔犺浇涓婁竴绔�
+            this.showCatalogList.unshift(this.showCatalogList[0] - 1);
+            if (this.showCatalogList.length > 3) {
+              // 瓒呰繃涓夌珷闅愯棌搴曢儴涓�绔�
+              this.showCatalogList.pop();
             }
-        },
+          }
+        }
+      }
+      // showCatalogList 褰撳墠鏄剧ず鐨勪笁涓珷鑺傦紝watch鐩戝惉浼犻�掔粰涓诲簲鐢�
+      // 鏇存柊涓婁竴娆℃粴鍔ㄧ殑浣嶇疆
+      this.previousScrollTop = event.target.scrollTop;
+    },
+    // 绔犺妭銆侀〉闈㈣烦杞�
+    gotoPage(catalog, page) {
+      if (catalog >= 0 && catalog <= this.catalogLength) {
+        // 澶勭悊娓叉煋绔犺妭
+        if (catalog == 0) {
+          this.showCatalogList = [0, 1];
+        } else if (catalog == this.catalogLength) {
+          this.showCatalogList = [
+            this.catalogLength - 2,
+            this.catalogLength - 1,
+            this.catalogLength,
+          ];
+        } else {
+          this.showCatalogList = [catalog - 1, catalog, catalog + 1];
+        }
+        setTimeout(() => {
+          // 璺宠浆椤电爜
+          const pageDom = (
+            this.container ? this.container : document
+          ).querySelector(`[page="${page}"]`);
+          if (pageDom) {
+            pageDom.scrollIntoView();
+          } else {
+            console.log("椤电爜閿欒锛�");
+          }
+        }, 500);
+      } else {
+        console.log("绔犺妭閿欒锛�");
+      }
+    },
 
-        // 澶勭悊鏍囪鏁版嵁
-        handelSignData(type, data) {
-            if (this.loadPageList.indexOf(Number(data.page)) > -1) {
-                // 绔嬪嵆娓叉煋
-                this.renderSign(type, data);
+    // 澶勭悊鏍囪鏁版嵁
+    handelSignData(type, data) {
+      if (this.loadPageList.indexOf(Number(data.page)) > -1) {
+        // 绔嬪嵆娓叉煋
+        this.renderSign(type, data);
+      }
+
+      // 鍌ㄥ瓨鏁版嵁
+      if (!this.renderSignMap[type]) this.renderSignMap[type] = {};
+      if (!this.renderSignMap[type][data.page])
+        this.renderSignMap[type][data.page] = [];
+      this.renderSignMap[type][data.page].push(data);
+    },
+
+    // 娓叉煋鏍囪
+    renderSign(type, data) {
+      // 鐖跺眰璁剧疆绂佹娓叉煋鏍囪鏃朵笉鍐嶈繘琛屾覆鏌�
+      if (this.$store.state.qiankun.disableSign) {
+        return false;
+      }
+      const existence = (
+        this.container ? this.container : document
+      ).querySelector(`[dataid="${data.id}"]`);
+      // 鍘婚噸
+      if (!existence) {
+        const pageDom = (
+          this.container ? this.container : document
+        ).querySelector(`[page="${data.page}"]`);
+        // 鍒涘缓 createTreeWalker 杩唬鍣紝鐢ㄤ簬閬嶅巻鏂囨湰鑺傜偣锛屼繚瀛樺埌涓�涓暟缁�
+        const treeWalker = document.createTreeWalker(
+          pageDom,
+          NodeFilter.SHOW_TEXT
+        );
+        const allTextNodes = [];
+        let currentNode = treeWalker.nextNode();
+        while (currentNode) {
+          allTextNodes.push(currentNode);
+          currentNode = treeWalker.nextNode();
+        }
+        for (let i = 0; i < allTextNodes.length; i++) {
+          const textDom = allTextNodes[i];
+          if (textDom.textContent.indexOf(data.txt) > -1) {
+            let reg = new RegExp(`${data.txt}`, "ig");
+            switch (type) {
+              case "Highlight":
+                // 楂樹寒
+                textDom.parentNode.innerHTML =
+                  textDom.parentNode.innerHTML.replace(
+                    reg,
+                    `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>`
+                  );
+                break;
+              case "Dashing":
+                // 鍒掔嚎
+                textDom.parentNode.innerHTML =
+                  textDom.parentNode.innerHTML.replace(
+                    reg,
+                    `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>`
+                  );
+                break;
+              case "Note":
+                // 绗旇
+                textDom.parentNode.innerHTML =
+                  textDom.parentNode.innerHTML.replace(
+                    reg,
+                    `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>`
+                  );
+                break;
             }
-
-            // 鍌ㄥ瓨鏁版嵁
-            if (!this.renderSignMap[type]) this.renderSignMap[type] = {};
-            if (!this.renderSignMap[type][data.page])
-                this.renderSignMap[type][data.page] = [];
-            this.renderSignMap[type][data.page].push(data);
-        },
-
-        // 娓叉煋鏍囪
-        renderSign(type, data) {
-            // 鐖跺眰璁剧疆绂佹娓叉煋鏍囪鏃朵笉鍐嶈繘琛屾覆鏌�
-            if (this.$store.state.qiankun.disableSign) {
-                return false;
+          }
+        }
+      }
+    },
+    // 鍒犻櫎鏍囪娓叉煋
+    delSign({ ids, type }) {
+      if (ids && ids.length) {
+        for (let i = 0; i < ids.length; i++) {
+          const id = ids[i];
+          const dom = (
+            this.container ? this.container : document
+          ).querySelector(`[dataid="${id}"]`);
+          dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
+            dom.outerHTML,
+            dom.outerText
+          );
+        }
+      }
+      if (type) {
+        const doms = (
+          this.container ? this.container : document
+        ).querySelectorAll(`[datatype="${type}"]`);
+        for (let i = 0; i < doms.length; i++) {
+          const dom = doms[i];
+          dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
+            dom.outerHTML,
+            dom.outerText
+          );
+        }
+      }
+    },
+    initObservation() {
+      const sections = (
+        this.container ? this.container : document
+      ).querySelectorAll(".page-box");
+      sections.forEach((section) => {
+        if (this.config.activeBook && this.config.activeBook.tryPageCount) {
+          const page = section.getAttribute("page");
+          if (Number(page) > this.config.activeBook.tryPageCount) {
+            let chapterDom = this.getParentWithClass(section, "chapter");
+            const chapterNum = chapterDom.getAttribute("num");
+            this.catalogLength = Number(chapterNum) - 1;
+            section.remove();
+            return false;
+          }
+        }
+        // observer 瑙傚療姣忎釜鍏冪礌锛屼互渚垮湪瀹冧滑杩涘叆鎴栫寮�瑙嗙獥鏃惰Е鍙戝洖璋冨嚱鏁般��
+        const isObserver = section.getAttribute("observer");
+        const isLoadObserver = section.getAttribute("loadObserver");
+        if (!isObserver) {
+          this.observer.observe(section);
+          section.setAttribute("observer", "1");
+        }
+        if (!isLoadObserver) {
+          this.loadPageObserver.observe(section);
+          section.setAttribute("loadObserver", "1");
+        }
+      });
+    },
+    initThemeColor() {
+      // 鑾峰彇鍚勭闇�瑕佷富棰樿壊鐨勮妭鐐�
+      const colorDom = (
+        this.container ? this.container : document
+      ).querySelectorAll(".theme-color");
+      const backgroundColorDom = (
+        this.container ? this.container : document
+      ).querySelectorAll(".theme-back");
+      const borderColorDom = (
+        this.container ? this.container : document
+      ).querySelectorAll(".theme-border");
+      // 鑾峰彇閰嶇疆鐨勪富棰樿壊
+      const bookThemeColor =
+        this.config.activeBook && this.config.activeBook.bookThemeColor
+          ? this.config.activeBook.bookThemeColor
+          : null;
+      const chapterThemeColor =
+        this.config.activeBook && this.config.activeBook.chapterThemeColor
+          ? this.config.activeBook.chapterThemeColor
+          : null;
+      const pageThemeColor =
+        this.config.activeBook && this.config.activeBook.pageThemeColor
+          ? this.config.activeBook.pageThemeColor
+          : null;
+      colorDom.forEach((domItem) => {
+        // 鑾峰彇绔犺妭銆侀〉鐮�
+        let pageDom = this.getParentWithClass(domItem, "page-box");
+        let chapterDom = this.getParentWithClass(domItem, "chapter");
+        let page, chapterNum;
+        if (pageDom) page = pageDom.getAttribute("page");
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        // 鍚戜笂鍖归厤涓婚鑹�
+        const themeColor =
+          page && pageThemeColor && pageThemeColor[page]
+            ? pageThemeColor[page]
+            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
+              ? chapterThemeColor[chapterNum]
+              : bookThemeColor;
+        if (themeColor) {
+          domItem.style.color = themeColor;
+        }
+      });
+      backgroundColorDom.forEach((domItem) => {
+        // 鑾峰彇绔犺妭銆侀〉鐮�
+        let pageDom = this.getParentWithClass(domItem, "page-box");
+        let chapterDom = this.getParentWithClass(domItem, "chapter");
+        let page, chapterNum;
+        if (pageDom) page = pageDom.getAttribute("page");
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        // 鍚戜笂鍖归厤涓婚鑹�
+        const themeColor =
+          page && pageThemeColor && pageThemeColor[page]
+            ? pageThemeColor[page]
+            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
+              ? chapterThemeColor[chapterNum]
+              : bookThemeColor;
+        if (themeColor) {
+          domItem.style.backgroundColor = themeColor;
+        }
+      });
+      borderColorDom.forEach((domItem) => {
+        // 鑾峰彇绔犺妭銆侀〉鐮�
+        let pageDom = this.getParentWithClass(domItem, "page-box");
+        let chapterDom = this.getParentWithClass(domItem, "chapter");
+        let page, chapterNum;
+        if (pageDom) page = pageDom.getAttribute("page");
+        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
+        // 鍚戜笂鍖归厤涓婚鑹�
+        const themeColor =
+          page && pageThemeColor && pageThemeColor[page]
+            ? pageThemeColor[page]
+            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
+              ? chapterThemeColor[chapterNum]
+              : bookThemeColor;
+        if (themeColor) {
+          domItem.style.borderColor = themeColor;
+        }
+      });
+    },
+    getParentWithClass(element, className) {
+      while (element.parentElement) {
+        element = element.parentElement;
+        if (element.classList.contains(className)) {
+          return element;
+        }
+      }
+    },
+    pageChangeCallback(entries, observer) {
+      //entries锛氫唬琛ㄨ瀵熷埌鐨勭洰鏍囧厓绱犵殑闆嗗悎銆� observer锛氫唬琛ㄨ瀵熻�呭璞°��
+      entries.forEach((entry) => {
+        //entry.isIntersecting锛氭鏌ュ綋鍓嶇洰鏍囧厓绱犳槸鍚︿笌鏍瑰厓绱犵浉浜ゃ��
+        if (entry.isIntersecting) {
+          const target = entry.target;
+          //entry.target锛氳幏鍙栧綋鍓嶇洰鏍囧厓绱�
+          const page = target.getAttribute("page");
+          const catalogDom = this.tool.getParentNodeByClassName(
+            target,
+            "chapter"
+          );
+          const catalog = catalogDom.getAttribute("num");
+          let text = null;
+          if (target.querySelector("p")) {
+            text = target.querySelector("p").textContent.substring(0, 50);
+          }
+          // 杩斿洖椤电爜鍜岀珷鑺備俊鎭�
+          if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange)
+            this.$store.state.qiankun.pageChange({
+              page: page,
+              catalog: catalog,
+              text,
+            });
+          // const sections = Array.from(document.querySelectorAll(".section"));
+          //sections锛氳幏鍙栨墍鏈夊叿鏈� .section 绫诲悕鐨勫厓绱狅紝骞惰浆鎹负鏁扮粍銆�
+          // let index = sections.findIndex((section) => section === target) + 1;
+          //index锛氭煡鎵惧綋鍓嶇洰鏍囧厓绱犲湪 sections 鏁扮粍涓殑绱㈠紩锛屽苟鍔� 1锛岀敤浜庣‘瀹氬綋鍓嶉〉鐮併��
+        }
+      });
+    },
+    loadPageCallback(entries, observer) {
+      entries.forEach(async (entry) => {
+        if (entry.isIntersecting) {
+          const target = entry.target;
+          const page = target.getAttribute("page");
+          if (this.loadPageList.indexOf(Number(page)) == -1) {
+            const catalogDom = this.tool.getParentNodeByClassName(
+              target,
+              "chapter"
+            );
+            // 娣诲姞椤电爜
+            this.loadPageList.push(Number(page));
+            const catalog = catalogDom.getAttribute("num");
+            // if (!this.questionDataMap[page]) {
+            //   if (testData && testData[catalog]) {
+            //     if (testData[catalog][page]) {
+            //       if (Array.isArray(testData[catalog][page])) {
+            //         this.questionDataMap[page] = await getQuestionList(
+            //           page,
+            //           testData[catalog][page],
+            //           this.config.activeBook
+            //         );
+            //       } else {
+            //         const obj = {};
+            //         for (let key in testData[catalog][page]) {
+            //           obj[key] = await getQuestionList(
+            //             [],
+            //             testData[catalog][page][key],
+            //             this.config.activeBook
+            //           );
+            //         }
+            //         this.questionDataMap[page] = obj;
+            //       }
+            //       console.log("棰樼洰", this.questionDataMap);
+            //     }
+            //   }
+            // }
+            // 娓叉煋杩欎竴椤电殑鏍囪
+            for (const key in this.renderSignMap) {
+              if (this.renderSignMap[key][page]) {
+                this.renderSignMap[key][page].forEach((item) => {
+                  this.renderSign(key, item);
+                });
+              }
             }
-            const existence = (
-                this.container ? this.container : document
-            ).querySelector(`[dataid="${data.id}"]`);
-            // 鍘婚噸
-            if (!existence) {
-                const pageDom = (
-                    this.container ? this.container : document
-                ).querySelector(`[page="${data.page}"]`);
-                // 鍒涘缓 createTreeWalker 杩唬鍣紝鐢ㄤ簬閬嶅巻鏂囨湰鑺傜偣锛屼繚瀛樺埌涓�涓暟缁�
-                const treeWalker = document.createTreeWalker(
-                    pageDom,
-                    NodeFilter.SHOW_TEXT
+            // 澶勭悊楂樹寒
+            if (this.highlightData) {
+              // 楂樹寒琛�
+              setTimeout(() => {
+                // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
+                const pageTextList = document.createTreeWalker(
+                  target,
+                  NodeFilter.SHOW_TEXT
                 );
-                const allTextNodes = [];
-                let currentNode = treeWalker.nextNode();
+                // 鍖归厤鍏抽敭瀛�
+                const allPageTextNodes = [];
+                let currentNode = pageTextList.nextNode();
                 while (currentNode) {
-                    allTextNodes.push(currentNode);
-                    currentNode = treeWalker.nextNode();
+                  allPageTextNodes.push(currentNode);
+                  currentNode = pageTextList.nextNode();
                 }
-                for (let i = 0; i < allTextNodes.length; i++) {
-                    const textDom = allTextNodes[i];
-                    if (textDom.textContent.indexOf(data.txt) > -1) {
-                        let reg = new RegExp(`${data.txt}`, "ig");
-                        switch (type) {
-                            case "Highlight":
-                                // 楂樹寒
-                                textDom.parentNode.innerHTML =
-                                    textDom.parentNode.innerHTML.replace(
-                                        reg,
-                                        `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>`
-                                    );
-                                break;
-                            case "Dashing":
-                                // 鍒掔嚎
-                                textDom.parentNode.innerHTML =
-                                    textDom.parentNode.innerHTML.replace(
-                                        reg,
-                                        `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>`
-                                    );
-                                break;
-                            case "Note":
-                                // 绗旇
-                                textDom.parentNode.innerHTML =
-                                    textDom.parentNode.innerHTML.replace(
-                                        reg,
-                                        `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>`
-                                    );
-                                break;
-                        }
-                    }
+                for (let i = 0; i < allPageTextNodes.length; i++) {
+                  const textDom = allPageTextNodes[i];
+                  let txtIndex = textDom.textContent.indexOf(
+                    this.highlightData.txt
+                  );
+                  if (txtIndex > -1) {
+                    textDom.parentNode.style.transition =
+                      "background-color 0.8s";
+                    textDom.parentNode.scrollIntoView();
+                    textDom.parentNode.style.backgroundColor = "#79bbf0";
+                    setTimeout(() => {
+                      textDom.parentNode.style.backgroundColor = "";
+                    }, 1000);
+                  }
                 }
+              }, 100);
             }
-        },
-        // 鍒犻櫎鏍囪娓叉煋
-        delSign({ ids, type }) {
-            if (ids && ids.length) {
-                for (let i = 0; i < ids.length; i++) {
-                    const id = ids[i];
-                    const dom = (
-                        this.container ? this.container : document
-                    ).querySelector(`[dataid="${id}"]`);
-                    dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
-                        dom.outerHTML,
-                        dom.outerText
-                    );
-                }
+            if (this.loadPageList.length > 5) {
+              // 瓒呰繃5椤�
+              this.loadPageList.shift();
             }
-            if (type) {
-                const doms = (
-                    this.container ? this.container : document
-                ).querySelectorAll(`[datatype="${type}"]`);
-                for (let i = 0; i < doms.length; i++) {
-                    const dom = doms[i];
-                    dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
-                        dom.outerHTML,
-                        dom.outerText
-                    );
-                }
-            }
-        },
-        initObservation() {
-            const sections = (
-                this.container ? this.container : document
-            ).querySelectorAll(".page-box");
-            sections.forEach((section) => {
-                if (this.config.activeBook && this.config.activeBook.tryPageCount) {
-                    const page = section.getAttribute("page");
-                    if (Number(page) > this.config.activeBook.tryPageCount) {
-                        let chapterDom = this.getParentWithClass(section, "chapter");
-                        const chapterNum = chapterDom.getAttribute("num");
-                        this.catalogLength = Number(chapterNum) - 1;
-                        section.remove();
-                        return false;
-                    }
-                }
-                // observer 瑙傚療姣忎釜鍏冪礌锛屼互渚垮湪瀹冧滑杩涘叆鎴栫寮�瑙嗙獥鏃惰Е鍙戝洖璋冨嚱鏁般��
-                const isObserver = section.getAttribute("observer");
-                const isLoadObserver = section.getAttribute("loadObserver");
-                if (!isObserver) {
-                    this.observer.observe(section);
-                    section.setAttribute("observer", "1");
-                }
-                if (!isLoadObserver) {
-                    this.loadPageObserver.observe(section);
-                    section.setAttribute("loadObserver", "1");
-                }
-            });
-        },
-        initThemeColor() {
-            // 鑾峰彇鍚勭闇�瑕佷富棰樿壊鐨勮妭鐐�
-            const colorDom = (
-                this.container ? this.container : document
-            ).querySelectorAll(".theme-color");
-            const backgroundColorDom = (
-                this.container ? this.container : document
-            ).querySelectorAll(".theme-back");
-            const borderColorDom = (
-                this.container ? this.container : document
-            ).querySelectorAll(".theme-border");
-            // 鑾峰彇閰嶇疆鐨勪富棰樿壊
-            const bookThemeColor =
-                this.config.activeBook && this.config.activeBook.bookThemeColor
-                    ? this.config.activeBook.bookThemeColor
-                    : null;
-            const chapterThemeColor =
-                this.config.activeBook && this.config.activeBook.chapterThemeColor
-                    ? this.config.activeBook.chapterThemeColor
-                    : null;
-            const pageThemeColor =
-                this.config.activeBook && this.config.activeBook.pageThemeColor
-                    ? this.config.activeBook.pageThemeColor
-                    : null;
-            colorDom.forEach((domItem) => {
-                // 鑾峰彇绔犺妭銆侀〉鐮�
-                let pageDom = this.getParentWithClass(domItem, "page-box");
-                let chapterDom = this.getParentWithClass(domItem, "chapter");
-                let page, chapterNum;
-                if (pageDom) page = pageDom.getAttribute("page");
-                if (chapterDom) chapterNum = chapterDom.getAttribute("num");
-                // 鍚戜笂鍖归厤涓婚鑹�
-                const themeColor =
-                    page && pageThemeColor && pageThemeColor[page]
-                        ? pageThemeColor[page]
-                        : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-                            ? chapterThemeColor[chapterNum]
-                            : bookThemeColor;
-                if (themeColor) {
-                    domItem.style.color = themeColor;
-                }
-            });
-            backgroundColorDom.forEach((domItem) => {
-                // 鑾峰彇绔犺妭銆侀〉鐮�
-                let pageDom = this.getParentWithClass(domItem, "page-box");
-                let chapterDom = this.getParentWithClass(domItem, "chapter");
-                let page, chapterNum;
-                if (pageDom) page = pageDom.getAttribute("page");
-                if (chapterDom) chapterNum = chapterDom.getAttribute("num");
-                // 鍚戜笂鍖归厤涓婚鑹�
-                const themeColor =
-                    page && pageThemeColor && pageThemeColor[page]
-                        ? pageThemeColor[page]
-                        : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-                            ? chapterThemeColor[chapterNum]
-                            : bookThemeColor;
-                if (themeColor) {
-                    domItem.style.backgroundColor = themeColor;
-                }
-            });
-            borderColorDom.forEach((domItem) => {
-                // 鑾峰彇绔犺妭銆侀〉鐮�
-                let pageDom = this.getParentWithClass(domItem, "page-box");
-                let chapterDom = this.getParentWithClass(domItem, "chapter");
-                let page, chapterNum;
-                if (pageDom) page = pageDom.getAttribute("page");
-                if (chapterDom) chapterNum = chapterDom.getAttribute("num");
-                // 鍚戜笂鍖归厤涓婚鑹�
-                const themeColor =
-                    page && pageThemeColor && pageThemeColor[page]
-                        ? pageThemeColor[page]
-                        : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
-                            ? chapterThemeColor[chapterNum]
-                            : bookThemeColor;
-                if (themeColor) {
-                    domItem.style.borderColor = themeColor;
-                }
-            });
-        },
-        getParentWithClass(element, className) {
-            while (element.parentElement) {
-                element = element.parentElement;
-                if (element.classList.contains(className)) {
-                    return element;
-                }
-            }
-        },
-        pageChangeCallback(entries, observer) {
-            //entries锛氫唬琛ㄨ瀵熷埌鐨勭洰鏍囧厓绱犵殑闆嗗悎銆� observer锛氫唬琛ㄨ瀵熻�呭璞°��
-            entries.forEach((entry) => {
-                //entry.isIntersecting锛氭鏌ュ綋鍓嶇洰鏍囧厓绱犳槸鍚︿笌鏍瑰厓绱犵浉浜ゃ��
-                if (entry.isIntersecting) {
-                    const target = entry.target;
-                    //entry.target锛氳幏鍙栧綋鍓嶇洰鏍囧厓绱�
-                    const page = target.getAttribute("page");
-                    const catalogDom = this.tool.getParentNodeByClassName(
-                        target,
-                        "chapter"
-                    );
-                    const catalog = catalogDom.getAttribute("num");
-                    let text = null;
-                    if (target.querySelector("p")) {
-                        text = target.querySelector("p").textContent.substring(0, 50);
-                    }
-                    // 杩斿洖椤电爜鍜岀珷鑺備俊鎭�
-                    if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange)
-                        this.$store.state.qiankun.pageChange({
-                            page: page,
-                            catalog: catalog,
-                            text,
-                        });
-                    // const sections = Array.from(document.querySelectorAll(".section"));
-                    //sections锛氳幏鍙栨墍鏈夊叿鏈� .section 绫诲悕鐨勫厓绱狅紝骞惰浆鎹负鏁扮粍銆�
-                    // let index = sections.findIndex((section) => section === target) + 1;
-                    //index锛氭煡鎵惧綋鍓嶇洰鏍囧厓绱犲湪 sections 鏁扮粍涓殑绱㈠紩锛屽苟鍔� 1锛岀敤浜庣‘瀹氬綋鍓嶉〉鐮併��
-                }
-            });
-        },
-        loadPageCallback(entries, observer) {
-            entries.forEach(async (entry) => {
-                if (entry.isIntersecting) {
-                    const target = entry.target;
-                    const page = target.getAttribute("page");
-                    if (this.loadPageList.indexOf(Number(page)) == -1) {
-                        const catalogDom = this.tool.getParentNodeByClassName(
-                            target,
-                            "chapter"
-                        );
-                        // 娣诲姞椤电爜
-                        this.loadPageList.push(Number(page));
-                        const catalog = catalogDom.getAttribute("num");
-                        // if (!this.questionDataMap[page]) {
-                        //   if (testData && testData[catalog]) {
-                        //     if (testData[catalog][page]) {
-                        //       if (Array.isArray(testData[catalog][page])) {
-                        //         this.questionDataMap[page] = await getQuestionList(
-                        //           page,
-                        //           testData[catalog][page],
-                        //           this.config.activeBook
-                        //         );
-                        //       } else {
-                        //         const obj = {};
-                        //         for (let key in testData[catalog][page]) {
-                        //           obj[key] = await getQuestionList(
-                        //             [],
-                        //             testData[catalog][page][key],
-                        //             this.config.activeBook
-                        //           );
-                        //         }
-                        //         this.questionDataMap[page] = obj;
-                        //       }
-                        //       console.log("棰樼洰", this.questionDataMap);
-                        //     }
-                        //   }
-                        // }
-                        // 娓叉煋杩欎竴椤电殑鏍囪
-                        for (const key in this.renderSignMap) {
-                            if (this.renderSignMap[key][page]) {
-                                this.renderSignMap[key][page].forEach((item) => {
-                                    this.renderSign(key, item);
-                                });
-                            }
-                        }
-                        // 澶勭悊楂樹寒
-                        if (this.highlightData) {
-                            // 楂樹寒琛�
-                            setTimeout(() => {
-                                // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
-                                const pageTextList = document.createTreeWalker(
-                                    target,
-                                    NodeFilter.SHOW_TEXT
-                                );
-                                // 鍖归厤鍏抽敭瀛�
-                                const allPageTextNodes = [];
-                                let currentNode = pageTextList.nextNode();
-                                while (currentNode) {
-                                    allPageTextNodes.push(currentNode);
-                                    currentNode = pageTextList.nextNode();
-                                }
-                                for (let i = 0; i < allPageTextNodes.length; i++) {
-                                    const textDom = allPageTextNodes[i];
-                                    let txtIndex = textDom.textContent.indexOf(
-                                        this.highlightData.txt
-                                    );
-                                    if (txtIndex > -1) {
-                                        textDom.parentNode.style.transition =
-                                            "background-color 0.8s";
-                                        textDom.parentNode.scrollIntoView();
-                                        textDom.parentNode.style.backgroundColor = "#79bbf0";
-                                        setTimeout(() => {
-                                            textDom.parentNode.style.backgroundColor = "";
-                                        }, 1000);
-                                    }
-                                }
-                            }, 100);
-                        }
-                        if (this.loadPageList.length > 5) {
-                            // 瓒呰繃5椤�
-                            this.loadPageList.shift();
-                        }
-                    }
-                }
-            });
-        },
-        initSwiper() {
-            const doms = (
-                this.container ? this.container : document
-            ).querySelectorAll(".swiper-img");
-            for (let i = 0; i < doms.length; i++) {
-                const dom = doms[i];
-                new Swiper(dom, {
-                    loop: false, // 鏃犵紳
-                    autoplay: {
-                        //鑷姩寮�濮�
-                        delay: 3000, //鏃堕棿闂撮殧
-                        disableOnInteraction: false, //*鎵嬪姩鎿嶄綔杞挱鍥惧悗涓嶄細鏆傚仠*
-                    },
-                    paginationClickable: true,
-                    slidesPerView: 1, // 涓�缁勪笁涓�
-                    spaceBetween: 30, // 闂撮殧
-                    // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
-                    navigation: {
-                        nextEl: dom.querySelector(".swiper-button-next"),
-                        prevEl: dom.querySelector(".swiper-button-prev"),
-                    },
-                    // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
-                    // observer: true,
-                    // observeParents: true
-                    // // 濡傛灉闇�瑕佸垎椤靛櫒
-                    // pagination: {
-                    //   el: (this.container ? this.container : document).querySelector(
-                    //     ".swiper-pagination"
-                    //   ),
-                    //   clickable: true // 鍒嗛〉鍣ㄥ彲浠ョ偣鍑�
-                    // }
-                });
-            }
-            const pptDoms = (
-                this.container ? this.container : document
-            ).querySelectorAll(".swiper_ppt");
-            for (let i = 0; i < pptDoms.length; i++) {
-                const dom = pptDoms[i];
-                new Swiper(dom, {
-                    loop: false, // 鏃犵紳
-                    autoplay: false,
-                    paginationClickable: true,
-                    slidesPerView: 1, // 涓�缁勪笁涓�
-                    spaceBetween: 30, // 闂撮殧
-                    // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
-                    navigation: {
-                        nextEl: dom.querySelector(".swiper-button-next"),
-                        prevEl: dom.querySelector(".swiper-button-prev"),
-                    },
-                    // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
-                    observer: true,
-                    observeParents: true,
-                    on: {
-                        init: (value) => {
-                            let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
-                            let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
-                            var paginationInfoEl = dom.querySelector(".pageBox");
-                            if (paginationInfoEl)
-                                paginationInfoEl.textContent = currentPage + "/" + totalPages;
-                        },
-                        slideChange: (value) => {
-                            let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
-                            let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
-                            var paginationInfoEl = dom.querySelector(".pageBox");
-                            if (paginationInfoEl)
-                                paginationInfoEl.textContent = currentPage + "/" + totalPages;
-                        },
-                    },
-                });
-            }
-        },
-        initViewer() {
-            const doms = (
-                this.container ? this.container : document
-            ).querySelectorAll(".openImgBox");
-            for (let i = 0; i < doms.length; i++) {
-                const dom = doms[i];
-                new Viewer(dom, {
-                    container: this.container
-                        ? this.container.querySelector("#app")
-                        : "body",
-                    navbar: true, // 鏄剧ず瀵艰埅鏍�
-                    toolbar: true, // 鏄剧ず宸ュ叿鏍�
-                    title: true, // 鏄剧ず鏍囬
-                });
-            }
-        },
-        // 鏍规嵁鍏抽敭瀛楀叏鏂囨绱�
-        searchTextByPage(keyword) {
-            const searchResult = [];
-            let catalogIndex = 0;
-            // 鎵�鏈夌珷鑺傜粍浠讹紙姣忔湰涔﹀埗浣滄椂鍗曠嫭閰嶇疆锛�
-            const pageData = {
-                pageHeader,
-                chapterOne,
-                chapterTwo,
-                chapterThree,
-                chapterFour,
-                chapterFive,
-                chapterSix,
-                chapterSeven
-            };
-            // 閬嶅巻鎵�鏈夌珷鑺傛枃浠�
-            for (const key in pageData) {
-                catalogIndex++;
-                let pageComponent, pageExample;
-                // 鍏堟覆鏌撲竴娆″綋鍓嶇珷鑺傛枃浠讹紙杩欐椂椤甸潰鐨勫唴瀹逛负绌猴級锛岃幏鍙栭〉鐮佷俊鎭�
-                pageComponent = Vue.extend(pageData[key]);
-                pageExample = new pageComponent({
-                    propsData: {
-                        showPageList: [],
-                        questionData: {},
-                        isSearch: true,
-                    },
-                });
-                pageExample.$mount(
-                    (this.container ? this.container : document).querySelector(
-                        "#searchContent"
-                    )
-                );
-                // 鑾峰彇椤电爜
-                const pageDom = (this.container ? this.container : document)
-                    .querySelector("#searchDomBox")
-                    .querySelectorAll(".page-box");
-                const pages = [];
-                for (let i = 0; i < pageDom.length; i++) {
-                    const pageDomItem = pageDom[i];
-                    pages.push(Number(pageDomItem.getAttribute("page")));
-                }
-                // 鑾峰彇椤甸潰缁撴潫锛屽嵏杞介攢姣�
-                pageExample.$destroy();
-                (this.container ? this.container : document).querySelector(
-                    "#searchDomBox"
-                ).innerHTML = '<div id="searchContent"></div>';
-                // 閬嶅巻椤电爜
-                if (pages.length) {
-                    for (let i = 0; i < pages.length; i++) {
-                        const pageNum = pages[i];
-                        // 鍔ㄦ�佹覆鏌撳搴旂珷鑺傜殑椤电爜
-                        pageComponent = Vue.extend(pageData[key]);
-                        pageExample = new pageComponent({
-                            propsData: {
-                                showPageList: [pageNum],
-                                questionData: {},
-                                isSearch: true,
-                            },
-                        });
-                        pageExample.$mount(
-                            (this.container ? this.container : document).querySelector(
-                                "#searchContent"
-                            )
-                        );
-                        // 鑾峰彇瀵瑰簲椤甸潰dom
-                        const thisPageDom = (this.container ? this.container : document)
-                            .querySelector("#searchDomBox")
-                            .querySelector(`[page="${pageNum}"]`);
-                        if (thisPageDom) {
-                            // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
-                            const pageTextList = document.createTreeWalker(
-                                thisPageDom,
-                                NodeFilter.SHOW_TEXT
-                            );
-                            // 鍖归厤鍏抽敭瀛�
-                            const allPageTextNodes = [];
-                            let currentNode = pageTextList.nextNode();
-                            while (currentNode) {
-                                allPageTextNodes.push(currentNode);
-                                currentNode = pageTextList.nextNode();
-                            }
-                            for (let i = 0; i < allPageTextNodes.length; i++) {
-                                const textDom = allPageTextNodes[i];
-                                let txtIndex = textDom.textContent.indexOf(keyword);
-                                if (txtIndex > -1) {
-                                    // 璁板綍鍏抽敭瀛楁墍鍦ㄩ〉鐮併�佺珷鑺備互鍙婂尮閰嶅埌鐨勬钀�
-                                    searchResult.push({
-                                        page: pageNum,
-                                        catalog: catalogIndex,
-                                        txt: textDom.textContent,
-                                        txtIndex: txtIndex,
-                                    });
-                                }
-                            }
-                            // 缁撴潫锛屽嵏杞介攢姣�
-                            pageExample.$destroy();
-                            (this.container ? this.container : document).querySelector(
-                                "#searchDomBox"
-                            ).innerHTML = '<div id="searchContent"></div>';
-                        }
-                    }
-                }
-            }
-            // 杈撳嚭鎼滅储缁撴灉
-            console.log(searchResult);
-            return searchResult;
-        },
-        // 鏍规嵁妫�绱㈢粨鏋滆烦杞搴斾綅缃苟楂樹寒
-        searchItemLocation(data) {
-            // 璁板綍楂樹寒淇℃伅
-            this.highlightData = data;
-            // 璺宠浆
-            this.gotoPage(data.catalog, data.page, () => { });
-        },
-        // 椤甸潰鍚戜笅婊氬姩锛岄煶棰戝皬绐楁挱鏀惧姛鑳�
-        getAduio() {
-            let allVideo = (
-                this.container ? this.container : document
-            ).querySelectorAll(".audio");
-            allVideo = Array.from(allVideo);
-            this.videoList = allVideo;
-            if (allVideo.length) {
-                // 鏌ユ壘鎾斁鐘舵�佺殑鏈�鍚庝竴鏉¢煶棰�
-                const playAudio = allVideo
-                    .reverse()
-                    .find((item) => item.paused == false);
-                if (playAudio) {
-                    const bottomGap = playAudio.getBoundingClientRect().bottom;
-                    if (bottomGap < 0) {
-                        playAudio.pause();
-                        this.audioPath = playAudio.src;
-                        this.currentTime = playAudio.currentTime;
-                    }
-                }
-            }
-        },
-        // 椤甸潰鍚戜笂婊氬姩锛岄煶棰戝皬绐楀洖鏀�
-        handleAudio() {
-            if (!this.audioPath) return false;
-            let allVideo = (
-                this.container ? this.container : document
-            ).querySelectorAll(".audio");
-            allVideo = Array.from(allVideo);
-            if (allVideo.length) {
-                //鏌ユ壘涓庡皬绐楁挱鏀鹃煶棰戝悓婧愮殑椤甸潰audio DOM
-                const playAudio = allVideo.find((item) => item.src == this.audioPath);
-                if (playAudio) {
-                    const bottomGap = playAudio.getBoundingClientRect().bottom;
-                    if (bottomGap >= 0) {
-                        if (this.$refs.audioPlayer) {
-                            const playerState = this.$refs.audioPlayer.getVideoPlayer();
-                            this.audioPath = "";
-                            playAudio.currentTime = playerState.currentTime;
-                            if (!playerState.paused) playAudio.play();
-                        }
-                    }
-                }
-            }
-        },
-        // 鍏抽棴mini video
-        closeMiniAudio() {
-            this.audioPath = "";
-        },
-        // 鐐瑰嚮闊抽鎾斁锛屽叧闂叾浠栭煶棰�
-        closeAudio() {
-            let allAudio = (
-                this.container ? this.container : document
-            ).querySelectorAll(".audio");
-            for (let index = 0; index < allAudio.length; index++) {
-                const item = allAudio[index];
-                item.addEventListener("play", () => {
-                    const audioList = Array.from(allAudio);
-                    for (let cindex = 0; cindex < audioList.length; cindex++) {
-                        const citem = audioList[cindex];
-                        if (citem.currentSrc != item.src) {
-                            citem.pause();
-                        }
-                    }
-                    this.closeMiniAudio();
-                });
-            }
-        },
-        // 鐐瑰嚮瑙嗛鍏抽棴鍏朵粬
-        closeVideo() {
-            let allVideo = (
-                this.container ? this.container : document
-            ).querySelectorAll(".video");
-            for (let index = 0; index < allVideo.length; index++) {
-                const item = allVideo[index];
-                item.addEventListener("playing", (item) => {
-                    const path = item.srcElement.src;
-                    const videoList = Array.from(allVideo);
-                    for (let cindex = 0; cindex < videoList.length; cindex++) {
-                        const citem = videoList[cindex];
-                        if (citem.currentSrc != path && path) {
-                            citem.pause();
-                        }
-                    }
-                });
-            }
-        },
-        // 瑙嗛灏忕獥
-        handleVideoPicture() {
-            let doms = (this.container ? this.container : document).querySelectorAll(
-                ".video"
-            );
-            doms = Array.from(doms);
-            if (!doms.length) return false;
-            const playVudio = doms.reverse().find((item) => item.paused == false);
-            if (playVudio) {
-                const bottomGap = playVudio.getBoundingClientRect().bottom;
-                const topGap = playVudio.getBoundingClientRect().top;
-                if (bottomGap < 0 || topGap > window.innerHeight) {
-                    try {
-                        if (playVudio.readyState) playVudio.requestPictureInPicture();
-                    } catch (error) {
-                        console.log(error, "灏忕獥閿欒error");
-                    }
-                }
-            }
-        },
-        //鍏朵粬绫诲悕涓嬪瓧浣撳ぇ灏忓彉鍖�
-        transformDom(fs) {
-            if (!fs) return;
-            let doms = (this.container ? this.container : document).querySelectorAll(
-                ".block"
-            );
-            if (!doms.length) return;
-            for (let index = 0; index < doms.length; index++) {
-                const dom = doms[index];
-                dom.style.fontSize = fs + "px";
-            }
-        },
+          }
+        }
+      });
     },
-    components: {
+    initSwiper() {
+      const doms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".swiper-img");
+      for (let i = 0; i < doms.length; i++) {
+        const dom = doms[i];
+        new Swiper(dom, {
+          loop: false, // 鏃犵紳
+          autoplay: {
+            //鑷姩寮�濮�
+            delay: 3000, //鏃堕棿闂撮殧
+            disableOnInteraction: false, //*鎵嬪姩鎿嶄綔杞挱鍥惧悗涓嶄細鏆傚仠*
+          },
+          paginationClickable: true,
+          slidesPerView: 1, // 涓�缁勪笁涓�
+          spaceBetween: 30, // 闂撮殧
+          // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
+          navigation: {
+            nextEl: dom.querySelector(".swiper-button-next"),
+            prevEl: dom.querySelector(".swiper-button-prev"),
+          },
+          // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
+          // observer: true,
+          // observeParents: true
+          // // 濡傛灉闇�瑕佸垎椤靛櫒
+          // pagination: {
+          //   el: (this.container ? this.container : document).querySelector(
+          //     ".swiper-pagination"
+          //   ),
+          //   clickable: true // 鍒嗛〉鍣ㄥ彲浠ョ偣鍑�
+          // }
+        });
+      }
+      const pptDoms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".swiper_ppt");
+      for (let i = 0; i < pptDoms.length; i++) {
+        const dom = pptDoms[i];
+        new Swiper(dom, {
+          loop: false, // 鏃犵紳
+          autoplay: false,
+          paginationClickable: true,
+          slidesPerView: 1, // 涓�缁勪笁涓�
+          spaceBetween: 30, // 闂撮殧
+          // 濡傛灉闇�瑕佸墠杩涘悗閫�鎸夐挳
+          navigation: {
+            nextEl: dom.querySelector(".swiper-button-next"),
+            prevEl: dom.querySelector(".swiper-button-prev"),
+          },
+          // 绐楀彛鍙樺寲,閲嶆柊init,閽堝F11鍏ㄥ睆鍜屾斁澶х缉灏�,蹇呴』鍔�
+          observer: true,
+          observeParents: true,
+          on: {
+            init: (value) => {
+              let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
+              let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
+              var paginationInfoEl = dom.querySelector(".pageBox");
+              if (paginationInfoEl)
+                paginationInfoEl.textContent = currentPage + "/" + totalPages;
+            },
+            slideChange: (value) => {
+              let currentPage = value.activeIndex + 1; // 鑾峰彇褰撳墠椤碉紙浠�1寮�濮嬭鏁帮級
+              let totalPages = value.slides.length; // 鑾峰彇鎬婚〉鏁�
+              var paginationInfoEl = dom.querySelector(".pageBox");
+              if (paginationInfoEl)
+                paginationInfoEl.textContent = currentPage + "/" + totalPages;
+            },
+          },
+        });
+      }
+    },
+    initViewer() {
+      const doms = (
+        this.container ? this.container : document
+      ).querySelectorAll(".openImgBox");
+      for (let i = 0; i < doms.length; i++) {
+        const dom = doms[i];
+        new Viewer(dom, {
+          container: this.container
+            ? this.container.querySelector("#app")
+            : "body",
+          navbar: true, // 鏄剧ず瀵艰埅鏍�
+          toolbar: true, // 鏄剧ず宸ュ叿鏍�
+          title: true, // 鏄剧ず鏍囬
+        });
+      }
+    },
+    // 鏍规嵁鍏抽敭瀛楀叏鏂囨绱�
+    searchTextByPage(keyword) {
+      const searchResult = [];
+      let catalogIndex = 0;
+      // 鎵�鏈夌珷鑺傜粍浠讹紙姣忔湰涔﹀埗浣滄椂鍗曠嫭閰嶇疆锛�
+      const pageData = {
         pageHeader,
         chapterOne,
         chapterTwo,
@@ -974,22 +773,252 @@
         chapterFour,
         chapterFive,
         chapterSix,
-        chapterSeven
+        chapterSeven,
+      };
+      // 閬嶅巻鎵�鏈夌珷鑺傛枃浠�
+      for (const key in pageData) {
+        catalogIndex++;
+        let pageComponent, pageExample;
+        // 鍏堟覆鏌撲竴娆″綋鍓嶇珷鑺傛枃浠讹紙杩欐椂椤甸潰鐨勫唴瀹逛负绌猴級锛岃幏鍙栭〉鐮佷俊鎭�
+        pageComponent = Vue.extend(pageData[key]);
+        pageExample = new pageComponent({
+          propsData: {
+            showPageList: [],
+            questionData: {},
+            isSearch: true,
+          },
+        });
+        pageExample.$mount(
+          (this.container ? this.container : document).querySelector(
+            "#searchContent"
+          )
+        );
+        // 鑾峰彇椤电爜
+        const pageDom = (this.container ? this.container : document)
+          .querySelector("#searchDomBox")
+          .querySelectorAll(".page-box");
+        const pages = [];
+        for (let i = 0; i < pageDom.length; i++) {
+          const pageDomItem = pageDom[i];
+          pages.push(Number(pageDomItem.getAttribute("page")));
+        }
+        // 鑾峰彇椤甸潰缁撴潫锛屽嵏杞介攢姣�
+        pageExample.$destroy();
+        (this.container ? this.container : document).querySelector(
+          "#searchDomBox"
+        ).innerHTML = '<div id="searchContent"></div>';
+        // 閬嶅巻椤电爜
+        if (pages.length) {
+          for (let i = 0; i < pages.length; i++) {
+            const pageNum = pages[i];
+            // 鍔ㄦ�佹覆鏌撳搴旂珷鑺傜殑椤电爜
+            pageComponent = Vue.extend(pageData[key]);
+            pageExample = new pageComponent({
+              propsData: {
+                showPageList: [pageNum],
+                questionData: {},
+                isSearch: true,
+              },
+            });
+            pageExample.$mount(
+              (this.container ? this.container : document).querySelector(
+                "#searchContent"
+              )
+            );
+            // 鑾峰彇瀵瑰簲椤甸潰dom
+            const thisPageDom = (this.container ? this.container : document)
+              .querySelector("#searchDomBox")
+              .querySelector(`[page="${pageNum}"]`);
+            if (thisPageDom) {
+              // 鑾峰彇椤甸潰鎵�鏈塼ext鑺傜偣
+              const pageTextList = document.createTreeWalker(
+                thisPageDom,
+                NodeFilter.SHOW_TEXT
+              );
+              // 鍖归厤鍏抽敭瀛�
+              const allPageTextNodes = [];
+              let currentNode = pageTextList.nextNode();
+              while (currentNode) {
+                allPageTextNodes.push(currentNode);
+                currentNode = pageTextList.nextNode();
+              }
+              for (let i = 0; i < allPageTextNodes.length; i++) {
+                const textDom = allPageTextNodes[i];
+                let txtIndex = textDom.textContent.indexOf(keyword);
+                if (txtIndex > -1) {
+                  // 璁板綍鍏抽敭瀛楁墍鍦ㄩ〉鐮併�佺珷鑺備互鍙婂尮閰嶅埌鐨勬钀�
+                  searchResult.push({
+                    page: pageNum,
+                    catalog: catalogIndex,
+                    txt: textDom.textContent,
+                    txtIndex: txtIndex,
+                  });
+                }
+              }
+              // 缁撴潫锛屽嵏杞介攢姣�
+              pageExample.$destroy();
+              (this.container ? this.container : document).querySelector(
+                "#searchDomBox"
+              ).innerHTML = '<div id="searchContent"></div>';
+            }
+          }
+        }
+      }
+      // 杈撳嚭鎼滅储缁撴灉
+      console.log(searchResult);
+      return searchResult;
     },
+    // 鏍规嵁妫�绱㈢粨鏋滆烦杞搴斾綅缃苟楂樹寒
+    searchItemLocation(data) {
+      // 璁板綍楂樹寒淇℃伅
+      this.highlightData = data;
+      // 璺宠浆
+      this.gotoPage(data.catalog, data.page, () => { });
+    },
+    // 椤甸潰鍚戜笅婊氬姩锛岄煶棰戝皬绐楁挱鏀惧姛鑳�
+    getAduio() {
+      let allVideo = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      allVideo = Array.from(allVideo);
+      this.videoList = allVideo;
+      if (allVideo.length) {
+        // 鏌ユ壘鎾斁鐘舵�佺殑鏈�鍚庝竴鏉¢煶棰�
+        const playAudio = allVideo
+          .reverse()
+          .find((item) => item.paused == false);
+        if (playAudio) {
+          const bottomGap = playAudio.getBoundingClientRect().bottom;
+          if (bottomGap < 0) {
+            playAudio.pause();
+            this.audioPath = playAudio.src;
+            this.currentTime = playAudio.currentTime;
+          }
+        }
+      }
+    },
+    // 椤甸潰鍚戜笂婊氬姩锛岄煶棰戝皬绐楀洖鏀�
+    handleAudio() {
+      if (!this.audioPath) return false;
+      let allVideo = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      allVideo = Array.from(allVideo);
+      if (allVideo.length) {
+        //鏌ユ壘涓庡皬绐楁挱鏀鹃煶棰戝悓婧愮殑椤甸潰audio DOM
+        const playAudio = allVideo.find((item) => item.src == this.audioPath);
+        if (playAudio) {
+          const bottomGap = playAudio.getBoundingClientRect().bottom;
+          if (bottomGap >= 0) {
+            if (this.$refs.audioPlayer) {
+              const playerState = this.$refs.audioPlayer.getVideoPlayer();
+              this.audioPath = "";
+              playAudio.currentTime = playerState.currentTime;
+              if (!playerState.paused) playAudio.play();
+            }
+          }
+        }
+      }
+    },
+    // 鍏抽棴mini video
+    closeMiniAudio() {
+      this.audioPath = "";
+    },
+    // 鐐瑰嚮闊抽鎾斁锛屽叧闂叾浠栭煶棰�
+    closeAudio() {
+      let allAudio = (
+        this.container ? this.container : document
+      ).querySelectorAll(".audio");
+      for (let index = 0; index < allAudio.length; index++) {
+        const item = allAudio[index];
+        item.addEventListener("play", () => {
+          const audioList = Array.from(allAudio);
+          for (let cindex = 0; cindex < audioList.length; cindex++) {
+            const citem = audioList[cindex];
+            if (citem.currentSrc != item.src) {
+              citem.pause();
+            }
+          }
+          this.closeMiniAudio();
+        });
+      }
+    },
+    // 鐐瑰嚮瑙嗛鍏抽棴鍏朵粬
+    closeVideo() {
+      let allVideo = (
+        this.container ? this.container : document
+      ).querySelectorAll(".video");
+      for (let index = 0; index < allVideo.length; index++) {
+        const item = allVideo[index];
+        item.addEventListener("playing", (item) => {
+          const path = item.srcElement.src;
+          const videoList = Array.from(allVideo);
+          for (let cindex = 0; cindex < videoList.length; cindex++) {
+            const citem = videoList[cindex];
+            if (citem.currentSrc != path && path) {
+              citem.pause();
+            }
+          }
+        });
+      }
+    },
+    // 瑙嗛灏忕獥
+    handleVideoPicture() {
+      let doms = (this.container ? this.container : document).querySelectorAll(
+        ".video"
+      );
+      doms = Array.from(doms);
+      if (!doms.length) return false;
+      const playVudio = doms.reverse().find((item) => item.paused == false);
+      if (playVudio) {
+        const bottomGap = playVudio.getBoundingClientRect().bottom;
+        const topGap = playVudio.getBoundingClientRect().top;
+        if (bottomGap < 0 || topGap > window.innerHeight) {
+          try {
+            if (playVudio.readyState) playVudio.requestPictureInPicture();
+          } catch (error) {
+            console.log(error, "灏忕獥閿欒error");
+          }
+        }
+      }
+    },
+    //鍏朵粬绫诲悕涓嬪瓧浣撳ぇ灏忓彉鍖�
+    transformDom(fs) {
+      if (!fs) return;
+      let doms = (this.container ? this.container : document).querySelectorAll(
+        ".block"
+      );
+      if (!doms.length) return;
+      for (let index = 0; index < doms.length; index++) {
+        const dom = doms[index];
+        dom.style.fontSize = fs + "px";
+      }
+    },
+  },
+  components: {
+    pageHeader,
+    chapterOne,
+    chapterTwo,
+    chapterThree,
+    chapterFour,
+    chapterFive,
+    chapterSix,
+    chapterSeven,
+  },
 };
 </script>
 
 <style lang="less" scoped>
 .page-main {
-    width: 100% !important;
-    height: 100% !important;
-    overflow: auto;
+  width: 100% !important;
+  height: 100% !important;
+  overflow: auto;
 
-    .page-content {
-        max-width: 816px;
-        min-width: 375px;
-        margin: 0 auto;
-        padding-bottom: 100px;
-    }
+  .page-content {
+    max-width: 816px;
+    min-width: 375px;
+    margin: 0 auto;
+    padding-bottom: 100px;
+  }
 }
 </style>
diff --git a/src/books/exerciseTherapyTechniques/assets/images/0158-01.jpg b/src/books/exerciseTherapyTechniques/assets/images/0158-01.jpg
index 8158313..e69de29 100644
--- a/src/books/exerciseTherapyTechniques/assets/images/0158-01.jpg
+++ b/src/books/exerciseTherapyTechniques/assets/images/0158-01.jpg
Binary files differ
diff --git a/src/books/exerciseTherapyTechniques/assets/images/0163-01.jpg b/src/books/exerciseTherapyTechniques/assets/images/0163-01.jpg
index 80fab06..e69de29 100644
--- a/src/books/exerciseTherapyTechniques/assets/images/0163-01.jpg
+++ b/src/books/exerciseTherapyTechniques/assets/images/0163-01.jpg
Binary files differ
diff --git a/src/books/medicalImagingAnatomy/assets/images/0095-01.jpg b/src/books/medicalImagingAnatomy/assets/images/0095-01.jpg
index 8408c6a..e69de29 100644
--- a/src/books/medicalImagingAnatomy/assets/images/0095-01.jpg
+++ b/src/books/medicalImagingAnatomy/assets/images/0095-01.jpg
Binary files differ
diff --git a/src/books/medicalImagingAnatomy/assets/images/0271-01.jpg b/src/books/medicalImagingAnatomy/assets/images/0271-01.jpg
index 2c74b5f..e69de29 100644
--- a/src/books/medicalImagingAnatomy/assets/images/0271-01.jpg
+++ b/src/books/medicalImagingAnatomy/assets/images/0271-01.jpg
Binary files differ
diff --git a/src/books/medicalImagingAnatomy/assets/images/0311-02.jpg b/src/books/medicalImagingAnatomy/assets/images/0311-02.jpg
index 19e63b3..e69de29 100644
--- a/src/books/medicalImagingAnatomy/assets/images/0311-02.jpg
+++ b/src/books/medicalImagingAnatomy/assets/images/0311-02.jpg
Binary files differ
diff --git a/src/books/preventiveDentistry/assets/examinationList.js b/src/books/preventiveDentistry/assets/examinationList.js
index 2fa0ec5..11d91e3 100644
--- a/src/books/preventiveDentistry/assets/examinationList.js
+++ b/src/books/preventiveDentistry/assets/examinationList.js
@@ -1,7 +1,7 @@
 const testData = {
   2: {
     18: [
-      1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, 21987,
+      1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078,
     ],
   },
 };
diff --git a/src/books/preventiveDentistry/view/components/chapter001.vue b/src/books/preventiveDentistry/view/components/chapter001.vue
index d630f51..d50d0cd 100644
--- a/src/books/preventiveDentistry/view/components/chapter001.vue
+++ b/src/books/preventiveDentistry/view/components/chapter001.vue
@@ -193,7 +193,7 @@
           <p class="content">
             鍏厓752骞达紝鐜嬬剺鍦ㄣ�婂鍙扮瑕併�嬩腑宸叉湁鏌虫灊鍒跺埛鐨勮杞斤紝灏嗘潹鏌虫灊鐢ㄧ墮鍜垚绲姸锛屾彥鍒风墮闈€�傚畫浠f棩鏈悕鍍ч亾鍏冪甯堝湪銆婃娉曠溂钘忋�嬩腑璁拌浇鈥滃儳渚d滑闄ゆ急鍙d箣澶栵紝灏氱敤鍓垚瀵镐綑涔嬮┈灏撅紝妞嶄簬鐗涜鍒舵垚鐨勫櫒鐗╀笂锛岀敤浠ュ埛娲楃墮鈥濄�傚叕鍏�916鈥�1125骞达紝杈戒唬鍑虹幇浜嗛鏌勬姣涚墮鍒凤紝涓庤繎浠g墮鍒风浉浼硷紝鍥藉17涓栫邯鎵嶆湁妞嶆瘺鐗欏埛銆傚叕鍏�1281骞寸綏鍏冪泭鎵�钁椼�婂崼鐢熷疂閴淬�嬩腑鎻愬埌瑕佹棭鏅氬埛鐗�2娆★紝蹇芥�濇収鍦ㄣ�婇ギ鑶虫瑕併�嬩腑鎻愬嚭鈥滃嚒娓呮棪鍒风墮锛屼笉濡傚鍒风墮榻跨柧涓嶇敓鈥濓紝寮鸿皟鏅氫笂鍒风墮鐨勯噸瑕佹�с�傝�冨彜鍙戠幇锛屾槑鏈濆笣鐜嬩滑鐨勪竴浜涚墮涓婃湁妤旂姸缂烘崯锛岃鏄庡湪閭f椂鍒风墮灏卞凡鎴愪负涔犳儻銆�
           </p>
-          <h4 class="fourthTitle ">浜屻�佺瀛﹀舰鎴愭椂鏈�</h4>
+          <h4 class="fourthTitle">浜屻�佺瀛﹀舰鎴愭椂鏈�</h4>
           <bookVideo :videoInfo="getResourceInfo('Z16')" :BookId="config.activeBook.bookId"></bookVideo>
           <p class="content">
             鍦ㄥ彛鑵旈闃插尰瀛︾殑鍘嗗彶涓婏紝鍙戠幇鍙h厰缁嗚弻銆佽璇嗘盁鍖栫墿鍙婄獫娌熷皝闂墏鐨勮癁鐢燂紝澶уぇ鎺ㄥ姩浜嗗彛鑵旈闃插尰瀛︾殑鍙戝睍銆傚墠涓よ�呰浜轰滑璁よ瘑浜嗗紩璧峰彛鑵旂柧鐥呯殑鐥呭洜锛屼负閽堝鎬у湴寮�灞曞彛鑵旂柧鐥呴闃插瀹氫簡鍩虹銆傜涓夎�呬娇鍙h厰棰勯槻鏈変簡鏈夋晥鐨勯闃叉帾鏂斤紝鍑忓皯浜嗛緥鐥呯殑鍙戠敓銆�
@@ -347,7 +347,7 @@
       </div>
     </div>
     <preView :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef"></preView>
-    <dialogExaminations :cardList="interfaceQuestion" :questionIDList=questionIDList :page="questionNum"
+    <dialogExaminations :cardList="interfaceQuestion" :questionIDList="questionIDList" :page="questionNum"
       :questionTitle="questionTitleMain" ref="dialogRef">
     </dialogExaminations>
   </div>
@@ -365,18 +365,18 @@
     },
     getResourceInfo: {
       type: Function, // 鏄庣‘鎸囧畾瀹冩槸涓�涓嚱鏁�
-      required: true
+      required: true,
     },
     interfaceQuestion: {
       type: Array,
       required: true,
       default: () => [],
-    }
+    },
   },
   components: {
     preView,
     bookVideo,
-    dialogExaminations
+    dialogExaminations,
   },
   data() {
     return {
@@ -387,7 +387,6 @@
       questionTitleMain: "",
       questionIDList: [],
       chapterNum: 2,
-      cardArrayList: [],
       examinations: [
         {
           questionTitleMain: "鎷撳睍缁冧範",
@@ -397,31 +396,12 @@
       questionData: {
         one: "",
       },
-
     };
   },
-  watch: {
-    interfaceQuestion: {
-      handler(newValue, oldValue) {
-        console.log('--- 瀛愮粍浠讹細interfaceQuestion 鏇存柊浜嗭紒 ---');
-        console.log('鏂板�� (newValue):', newValue);
-        console.log('鏃у�� (oldValue):', oldValue);
-        if (newValue && newValue.length > 0) {
-
-        }
-      },
-      deep: true,
-      immediate: true
-    },
-  },
-
   mounted() {
-    console.log(this.interfaceQuestion, "interfaceQuestion");
-
-    this.getQuestionData()
+    this.getQuestionData();
   },
   methods: {
-
     toUrl(val) {
       if (val != null) {
         this.p_md5 = val.md5;
@@ -436,7 +416,9 @@
       );
     },
     getQuestionData() {
-      let questionData = localStorage.getItem("preventiveDentistry-book-chapter01-questionData");
+      let questionData = localStorage.getItem(
+        "preventiveDentistry-book-chapter01-questionData"
+      );
       if (questionData) {
         this.questionData = JSON.parse(questionData);
       }
@@ -444,15 +426,11 @@
     openQuestion(num) {
       if (num != undefined) {
         this.questionNum = this.examinations[num].questionNum;
-        console.log(this.questionNum);
         this.questionTitleMain = this.examinations[num].questionTitleMain;
-        console.log(this.questionTitleMain);
-        this.cardArrayList = this.interfaceQuestion;
-        console.log(this.cardArrayList);
         this.questionIDList = testData[this.chapterNum][this.questionNum];
-        console.log(this.questionIDList);
-
-        this.$refs.dialogRef.openDialogQuestion();
+        this.$nextTick(() => {
+          this.$refs.dialogRef.openDialogQuestion();
+        });
       }
     },
   },
diff --git a/src/books/preventiveDentistry/view/components/chapter002.vue b/src/books/preventiveDentistry/view/components/chapter002.vue
index 42f9080..de1d9e2 100644
--- a/src/books/preventiveDentistry/view/components/chapter002.vue
+++ b/src/books/preventiveDentistry/view/components/chapter002.vue
@@ -8,7 +8,6 @@
                 </div>
                 <div class="bodystyle">
                     <h2 class="secondTitle">绗簩绔�&nbsp;&nbsp;&nbsp;&nbsp;鍙h厰娴佽鐥呭</h2>
-
                     <div class="bodyPic"><img class="t80" src="../../assets/images/0023-02.jpg" alt="" active="true" />
                     </div>
                     <p class="center"><span class="bold">绱犺川鐩爣</span></p>
@@ -39,7 +38,6 @@
                 <div class="footer-container">011</div>
             </div>
         </div>
-
         <div class="page-box" page="20">
             <div v-if="showPageList.indexOf(20) > -1">
                 <div class="header">
diff --git a/src/books/preventiveDentistry/view/components/index.vue b/src/books/preventiveDentistry/view/components/index.vue
index bdc1a55..2685bac 100644
--- a/src/books/preventiveDentistry/view/components/index.vue
+++ b/src/books/preventiveDentistry/view/components/index.vue
@@ -228,20 +228,6 @@
       this.gotoPage(2, 18);
     }, 500);
 
-    // const pageDom = (this.container ? this.container : document)
-    //   .querySelector("#app")
-    //   .querySelectorAll(".page-box");
-    // 妫�绱�
-    // console.log(this.searchTextByPage("淇濇姢鍐呰剰鍣ㄥ畼"), "searchTextByPage");
-    // 妫�绱㈣烦杞�
-    // this.searchItemLocation({
-    //   catalog: 2,
-    //   page: 10,
-    //   txt: " 杩愬姩绯荤粺鏄敱楠ㄣ�侀杩炵粨鍜岄楠艰倢涓夐儴鍒嗙粍鎴愮殑銆傚叏韬殑楠ㄩ�氳繃楠ㄨ繛缁撶粍鎴愪汉浣撻楠硷紙瑙佸浘1-1锛夈�傞楠兼槸浜轰綋鐨勬敮鏋讹紝鍏锋湁淇濇姢鍐呰剰鍣ㄥ畼銆佷緵鑲岃倝闄勭潃鍜屼綔涓鸿倢鑲夎繍鍔ㄧ殑鏉犳潌绛変綔鐢ㄣ�傚湪绁炵粡绯荤粺鐨勬敮閰嶄笅锛岃倢鑲夋敹缂╃壍鍔ㄦ墍闄勭潃鐨勯缁曠潃鍏宠妭杞姩锛屼娇韬綋浜х敓鍚勭鍔ㄤ綔銆傛墍浠ワ紝杩愬姩绯荤粺鍏锋湁杩愬姩銆佹敮鎸佸拰淇濇姢绛夊姛鑳斤紝骞煎勾鏃舵湡鐨勯楠艰繕鍏锋湁閫犺鍔熻兘銆� ",
-    //   txtIndex: 57
-    // });
-    // }, 500);
-
   },
   methods: {
     // 璇锋眰璧勬簮Json
@@ -282,19 +268,14 @@
       }
       MG.store.getProductDetail(query)
         .then(res => {
-          console.log(res.datas.cmsDatas[0].datas, "鑾峰彇bookQuestionList鎴愬姛");
           let bookQuestionList = [];
           if (res.datas.cmsDatas[0].datas.length > 0) {
             res.datas.cmsDatas[0].datas.forEach(item => {
               if (item.datas.Type === "questionBankItem") {
                 bookQuestionList.push(item);
               }
-              if (item.id == 21987) {
-                console.log(item, "21987");
-              }
             });
           }
-          console.log(bookQuestionList, "bookQuestionList");
           this.bookQuestionsList = bookQuestionList;
         })
         .catch(error => {
@@ -304,8 +285,10 @@
 
     resourceListFun(id, key) {
       let data = this.resourceList.find(item => item.key == id)
-      return key ? data[key] : data
+      console.log(data,"data");
     },
+
+
     // 婊氬姩鐩戝惉
     scrollFun(event) {
       this.handleVideoPicture();
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter1.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter1.vue
index 85b1a6b..07f1319 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter1.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter1.vue
@@ -2,13 +2,15 @@
     <div class="chapter" num="2">
         <!-- 绗�12椤� - 鍋舵暟椤� -->
         <div class="page-box" page="12">
-            <div v-if="showPageList.indexOf(12) > -1">
+            <div v-if="showPageList.indexOf(12) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">绗竴绔犮��鎬昏</h1>
-                    <div class="bodyPic"><img src="../../assets/images/0023-01.jpg" style="width:30%" 
+                    <div class="bodyPic">
+                        <img src="../../assets/images/0023-01.jpg" style="width:30%" 
                             active="true" />
                     </div>
-                    <div class="bodyPic"><img src="../../assets/images/0023-02.jpg" style="width:80%" 
+                    <div class="bodyPic">
+                        <img src="../../assets/images/0023-02.jpg" style="width:80%" 
                             active="true" />
                     </div>
                     <p class="center"><span class="bold">绱犺川鐩爣</span></p>
@@ -43,7 +45,7 @@
 
         <!-- 绗�13椤� - 濂囨暟椤� -->
         <div class="page-box" page="13">
-            <div v-if="showPageList.indexOf(13) > -1">
+            <div v-if="showPageList.indexOf(13) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -78,7 +80,7 @@
 
         <!-- 绗�14椤� - 鍋舵暟椤� -->
         <div class="page-box" page="14">
-            <div v-if="showPageList.indexOf(14) > -1">
+            <div v-if="showPageList.indexOf(14) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -114,7 +116,7 @@
 
         <!-- 绗�15椤� - 濂囨暟椤� -->
         <div class="page-box" page="15">
-            <div v-if="showPageList.indexOf(15) > -1">
+            <div v-if="showPageList.indexOf(15) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -151,7 +153,7 @@
 
         <!-- 绗�16椤� - 鍋舵暟椤� -->
         <div class="page-box" page="16">
-            <div v-if="showPageList.indexOf(16) > -1">
+            <div v-if="showPageList.indexOf(16) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -189,7 +191,7 @@
 
         <!-- 绗�17椤� - 濂囨暟椤� -->
         <div class="page-box" page="17">
-            <div v-if="showPageList.indexOf(17) > -1">
+            <div v-if="showPageList.indexOf(17) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -226,7 +228,7 @@
 
         <!-- 绗�18椤� - 鍋舵暟椤� -->
         <div class="page-box" page="18">
-            <div v-if="showPageList.indexOf(18) > -1">
+            <div v-if="showPageList.indexOf(18) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -267,7 +269,7 @@
 
         <!-- 绗�19椤� - 濂囨暟椤� -->
         <div class="page-box" page="19">
-            <div v-if="showPageList.indexOf(19) > -1">
+            <div v-if="showPageList.indexOf(19) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -311,7 +313,7 @@
 
         <!-- 绗�20椤� - 鍋舵暟椤� -->
         <div class="page-box" page="20">
-            <div v-if="showPageList.indexOf(20) > -1">
+            <div v-if="showPageList.indexOf(20) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -347,7 +349,7 @@
 
         <!-- 绗�21椤� - 濂囨暟椤� -->
         <div class="page-box" page="21">
-            <div v-if="showPageList.indexOf(21) > -1">
+            <div v-if="showPageList.indexOf(21) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -387,7 +389,7 @@
 
         <!-- 绗�22椤� - 鍋舵暟椤� -->
         <div class="page-box" page="22">
-            <div v-if="showPageList.indexOf(22) > -1">
+            <div v-if="showPageList.indexOf(22) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -434,7 +436,7 @@
 
         <!-- 绗�23椤� - 濂囨暟椤� -->
         <div class="page-box" page="23">
-            <div v-if="showPageList.indexOf(23) > -1">
+            <div v-if="showPageList.indexOf(23) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -485,7 +487,7 @@
 
         <!-- 绗�24椤� - 鍋舵暟椤� -->
         <div class="page-box" page="24">
-            <div v-if="showPageList.indexOf(24) > -1">
+            <div v-if="showPageList.indexOf(24) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -527,7 +529,7 @@
 
         <!-- 绗�25椤� - 濂囨暟椤� -->
         <div class="page-box" page="25">
-            <div v-if="showPageList.indexOf(25) > -1">
+            <div v-if="showPageList.indexOf(25) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -571,7 +573,7 @@
 
         <!-- 绗�26椤� - 鍋舵暟椤� -->
         <div class="page-box" page="26">
-            <div v-if="showPageList.indexOf(26) > -1">
+            <div v-if="showPageList.indexOf(26) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -617,7 +619,7 @@
 
         <!-- 绗�27椤� - 濂囨暟椤� -->
         <div class="page-box" page="27">
-            <div v-if="showPageList.indexOf(27) > -1">
+            <div v-if="showPageList.indexOf(27) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -658,7 +660,7 @@
 
         <!-- 绗�28椤� - 鍋舵暟椤� -->
         <div class="page-box" page="28">
-            <div v-if="showPageList.indexOf(28) > -1">
+            <div v-if="showPageList.indexOf(28) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -704,7 +706,7 @@
 
         <!-- 绗�29椤� - 濂囨暟椤� -->
         <div class="page-box" page="29">
-            <div v-if="showPageList.indexOf(29) > -1">
+            <div v-if="showPageList.indexOf(29) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -745,7 +747,7 @@
 
         <!-- 绗�30椤� - 鍋舵暟椤� -->
         <div class="page-box" page="30">
-            <div v-if="showPageList.indexOf(30) > -1">
+            <div v-if="showPageList.indexOf(30) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -776,7 +778,7 @@
 
         <!-- 绗�31椤� - 濂囨暟椤� -->
         <div class="page-box" page="31">
-            <div v-if="showPageList.indexOf(31) > -1">
+            <div v-if="showPageList.indexOf(31) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -818,7 +820,7 @@
 
         <!-- 绗�32椤� - 鍋舵暟椤� -->
         <div class="page-box" page="32">
-            <div v-if="showPageList.indexOf(32) > -1">
+            <div v-if="showPageList.indexOf(32) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -853,7 +855,7 @@
 
         <!-- 绗�33椤� - 濂囨暟椤� -->
         <div class="page-box" page="33">
-            <div v-if="showPageList.indexOf(33) > -1">
+            <div v-if="showPageList.indexOf(33) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -899,7 +901,7 @@
 
         <!-- 绗�34椤� - 鍋舵暟椤� -->
         <div class="page-box" page="34">
-            <div v-if="showPageList.indexOf(34) > -1">
+            <div v-if="showPageList.indexOf(34) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;鎬昏</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -946,7 +948,7 @@
 
         <!-- 绗�35椤� - 濂囨暟椤� -->
         <div class="page-box" page="35">
-            <div v-if="showPageList.indexOf(35) > -1">
+            <div v-if="showPageList.indexOf(35) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter10.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter10.vue
index 73252d1..b469a79 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter10.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter10.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="11">
         <!-- 绗�233椤� - 濂囨暟椤� -->
         <div class="page-box" page="233">
-            <div v-if="showPageList.indexOf(233) > -1">
+            <div v-if="showPageList.indexOf(233) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -44,7 +44,7 @@
 
         <!-- 绗�234椤� - 鍋舵暟椤� -->
         <div class="page-box" page="234">
-            <div v-if="showPageList.indexOf(234) > -1">
+            <div v-if="showPageList.indexOf(234) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -80,7 +80,7 @@
 
         <!-- 绗�235椤� - 濂囨暟椤� -->
         <div class="page-box" page="235">
-            <div v-if="showPageList.indexOf(235) > -1">
+            <div v-if="showPageList.indexOf(235) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -116,7 +116,7 @@
 
         <!-- 绗�236椤� - 鍋舵暟椤� -->
         <div class="page-box" page="236">
-            <div v-if="showPageList.indexOf(236) > -1">
+            <div v-if="showPageList.indexOf(236) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -152,7 +152,7 @@
 
         <!-- 绗�237椤� - 濂囨暟椤� -->
         <div class="page-box" page="237">
-            <div v-if="showPageList.indexOf(237) > -1">
+            <div v-if="showPageList.indexOf(237) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -192,7 +192,7 @@
 
         <!-- 绗�238椤� - 鍋舵暟椤� -->
         <div class="page-box" page="238">
-            <div v-if="showPageList.indexOf(238) > -1">
+            <div v-if="showPageList.indexOf(238) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -228,7 +228,7 @@
 
         <!-- 绗�239椤� - 濂囨暟椤� -->
         <div class="page-box" page="239">
-            <div v-if="showPageList.indexOf(239) > -1">
+            <div v-if="showPageList.indexOf(239) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -274,7 +274,7 @@
 
         <!-- 绗�240椤� - 鍋舵暟椤� -->
         <div class="page-box" page="240">
-            <div v-if="showPageList.indexOf(240) > -1">
+            <div v-if="showPageList.indexOf(240) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -316,7 +316,7 @@
 
         <!-- 绗�241椤� - 濂囨暟椤� -->
         <div class="page-box" page="241">
-            <div v-if="showPageList.indexOf(241) > -1">
+            <div v-if="showPageList.indexOf(241) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -348,7 +348,7 @@
 
         <!-- 绗�242椤� - 鍋舵暟椤� -->
         <div class="page-box" page="242">
-            <div v-if="showPageList.indexOf(242) > -1">
+            <div v-if="showPageList.indexOf(242) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -387,7 +387,7 @@
 
         <!-- 绗�243椤� - 濂囨暟椤� -->
         <div class="page-box" page="243">
-            <div v-if="showPageList.indexOf(243) > -1">
+            <div v-if="showPageList.indexOf(243) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -406,7 +406,7 @@
 
         <!-- 绗�244椤� - 鍋舵暟椤� -->
         <div class="page-box" page="244">
-            <div v-if="showPageList.indexOf(244) > -1">
+            <div v-if="showPageList.indexOf(244) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -439,7 +439,7 @@
 
         <!-- 绗�245椤� - 濂囨暟椤� -->
         <div class="page-box" page="245">
-            <div v-if="showPageList.indexOf(245) > -1">
+            <div v-if="showPageList.indexOf(245) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -469,7 +469,7 @@
 
         <!-- 绗�246椤� - 鍋舵暟椤� -->
         <div class="page-box" page="246">
-            <div v-if="showPageList.indexOf(246) > -1">
+            <div v-if="showPageList.indexOf(246) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -494,7 +494,7 @@
 
         <!-- 绗�247椤� - 濂囨暟椤� -->
         <div class="page-box" page="247">
-            <div v-if="showPageList.indexOf(247) > -1">
+            <div v-if="showPageList.indexOf(247) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -539,7 +539,7 @@
 
         <!-- 绗�248椤� - 鍋舵暟椤� -->
         <div class="page-box" page="248">
-            <div v-if="showPageList.indexOf(248) > -1">
+            <div v-if="showPageList.indexOf(248) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -585,7 +585,7 @@
 
         <!-- 绗�249椤� - 濂囨暟椤� -->
         <div class="page-box" page="249">
-            <div v-if="showPageList.indexOf(249) > -1">
+            <div v-if="showPageList.indexOf(249) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -627,7 +627,7 @@
 
         <!-- 绗�250椤� - 鍋舵暟椤� -->
         <div class="page-box" page="250">
-            <div v-if="showPageList.indexOf(250) > -1">
+            <div v-if="showPageList.indexOf(250) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -675,7 +675,7 @@
 
         <!-- 绗�251椤� - 濂囨暟椤� -->
         <div class="page-box" page="251">
-            <div v-if="showPageList.indexOf(251) > -1">
+            <div v-if="showPageList.indexOf(251) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -724,7 +724,7 @@
 
         <!-- 绗�252椤� - 鍋舵暟椤� -->
         <div class="page-box" page="252">
-            <div v-if="showPageList.indexOf(252) > -1">
+            <div v-if="showPageList.indexOf(252) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄绔�&nbsp;&nbsp;&nbsp;骞宠 鍜屽崗璋冨姛鑳借瘎瀹�</span>
@@ -768,7 +768,7 @@
 
         <!-- 绗�253椤� - 濂囨暟椤� -->
         <div class="page-box" page="253">
-            <div v-if="showPageList.indexOf(253) > -1">
+            <div v-if="showPageList.indexOf(253) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter11.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter11.vue
index d70edd3..4d27496 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter11.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter11.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="12">
         <!-- 绗�254椤� - 鍋舵暟椤� -->
         <div class="page-box" page="254">
-            <div v-if="showPageList.indexOf(254) > -1">
+            <div v-if="showPageList.indexOf(254) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -47,7 +47,7 @@
 
         <!-- 绗�255椤� - 濂囨暟椤� -->
         <div class="page-box" page="255">
-            <div v-if="showPageList.indexOf(255) > -1">
+            <div v-if="showPageList.indexOf(255) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -84,7 +84,7 @@
 
         <!-- 绗�256椤� - 鍋舵暟椤� -->
         <div class="page-box" page="256">
-            <div v-if="showPageList.indexOf(256) > -1">
+            <div v-if="showPageList.indexOf(256) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -134,7 +134,7 @@
 
         <!-- 绗�257椤� - 濂囨暟椤� -->
         <div class="page-box" page="257">
-            <div v-if="showPageList.indexOf(257) > -1">
+            <div v-if="showPageList.indexOf(257) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -167,7 +167,7 @@
 
         <!-- 绗�258椤� - 鍋舵暟椤� -->
         <div class="page-box" page="258">
-            <div v-if="showPageList.indexOf(258) > -1">
+            <div v-if="showPageList.indexOf(258) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -210,7 +210,7 @@
 
         <!-- 绗�259椤� - 濂囨暟椤� -->
         <div class="page-box" page="259">
-            <div v-if="showPageList.indexOf(259) > -1">
+            <div v-if="showPageList.indexOf(259) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -257,7 +257,7 @@
 
         <!-- 绗�260椤� - 鍋舵暟椤� -->
         <div class="page-box" page="260">
-            <div v-if="showPageList.indexOf(260) > -1">
+            <div v-if="showPageList.indexOf(260) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -293,7 +293,7 @@
 
         <!-- 绗�261椤� - 濂囨暟椤� -->
         <div class="page-box" page="261">
-            <div v-if="showPageList.indexOf(261) > -1">
+            <div v-if="showPageList.indexOf(261) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -331,7 +331,7 @@
 
         <!-- 绗�262椤� - 鍋舵暟椤� -->
         <div class="page-box" page="262">
-            <div v-if="showPageList.indexOf(262) > -1">
+            <div v-if="showPageList.indexOf(262) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -368,7 +368,7 @@
 
         <!-- 绗�263椤� - 濂囨暟椤� -->
         <div class="page-box" page="263">
-            <div v-if="showPageList.indexOf(263) > -1">
+            <div v-if="showPageList.indexOf(263) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -413,7 +413,7 @@
 
         <!-- 绗�264椤� - 鍋舵暟椤� -->
         <div class="page-box" page="264">
-            <div v-if="showPageList.indexOf(264) > -1">
+            <div v-if="showPageList.indexOf(264) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -449,7 +449,7 @@
 
         <!-- 绗�265椤� - 濂囨暟椤� -->
         <div class="page-box" page="265">
-            <div v-if="showPageList.indexOf(265) > -1">
+            <div v-if="showPageList.indexOf(265) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -491,7 +491,7 @@
 
         <!-- 绗�266椤� - 鍋舵暟椤� -->
         <div class="page-box" page="266">
-            <div v-if="showPageList.indexOf(266) > -1">
+            <div v-if="showPageList.indexOf(266) > -1 ">
 
                 <div class="page-header-right">
                     <span class="header-title">
@@ -535,7 +535,7 @@
 
         <!-- 绗�267椤� - 濂囨暟椤� -->
         <div class="page-box" page="267">
-            <div v-if="showPageList.indexOf(267) > -1">
+            <div v-if="showPageList.indexOf(267) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -573,7 +573,7 @@
 
         <!-- 绗�268椤� - 鍋舵暟椤� -->
         <div class="page-box" page="268">
-            <div v-if="showPageList.indexOf(268) > -1">
+            <div v-if="showPageList.indexOf(268) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -610,7 +610,7 @@
 
         <!-- 绗�269椤� - 濂囨暟椤� -->
         <div class="page-box" page="269">
-            <div v-if="showPageList.indexOf(269) > -1">
+            <div v-if="showPageList.indexOf(269) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -645,7 +645,7 @@
 
         <!-- 绗�270椤� - 鍋舵暟椤� -->
         <div class="page-box" page="270">
-            <div v-if="showPageList.indexOf(270) > -1">
+            <div v-if="showPageList.indexOf(270) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -679,7 +679,7 @@
 
         <!-- 绗�271椤� - 濂囨暟椤� -->
         <div class="page-box" page="271">
-            <div v-if="showPageList.indexOf(271) > -1">
+            <div v-if="showPageList.indexOf(271) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -720,7 +720,7 @@
 
         <!-- 绗�272椤� - 鍋舵暟椤� -->
         <div class="page-box" page="272">
-            <div v-if="showPageList.indexOf(272) > -1">
+            <div v-if="showPageList.indexOf(272) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -757,7 +757,7 @@
 
         <!-- 绗�273椤� - 濂囨暟椤� -->
         <div class="page-box" page="273">
-            <div v-if="showPageList.indexOf(273) > -1">
+            <div v-if="showPageList.indexOf(273) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -804,7 +804,7 @@
 
         <!-- 绗�274椤� - 鍋舵暟椤� -->
         <div class="page-box" page="274">
-            <div v-if="showPageList.indexOf(274) > -1">
+            <div v-if="showPageList.indexOf(274) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -844,7 +844,7 @@
 
         <!-- 绗�275椤� - 濂囨暟椤� -->
         <div class="page-box" page="275">
-            <div v-if="showPageList.indexOf(275) > -1">
+            <div v-if="showPageList.indexOf(275) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -874,7 +874,7 @@
 
         <!-- 绗�276椤� - 鍋舵暟椤� -->
         <div class="page-box" page="276">
-            <div v-if="showPageList.indexOf(276) > -1">
+            <div v-if="showPageList.indexOf(276) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -914,7 +914,7 @@
 
         <!-- 绗�277椤� - 濂囨暟椤� -->
         <div class="page-box" page="277">
-            <div v-if="showPageList.indexOf(277) > -1">
+            <div v-if="showPageList.indexOf(277) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -956,7 +956,7 @@
 
         <!-- 绗�278椤� - 鍋舵暟椤� -->
         <div class="page-box" page="278">
-            <div v-if="showPageList.indexOf(278) > -1">
+            <div v-if="showPageList.indexOf(278) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -996,7 +996,7 @@
 
         <!-- 绗�279椤� - 濂囨暟椤� -->
         <div class="page-box" page="279">
-            <div v-if="showPageList.indexOf(279) > -1">
+            <div v-if="showPageList.indexOf(279) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1039,7 +1039,7 @@
 
         <!-- 绗�280椤� - 鍋舵暟椤� -->
         <div class="page-box" page="280">
-            <div v-if="showPageList.indexOf(280) > -1">
+            <div v-if="showPageList.indexOf(280) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄涓�绔�&nbsp;&nbsp;&nbsp;姝ユ�佸垎鏋�</span>
@@ -1078,7 +1078,7 @@
 
         <!-- 绗�281椤� - 濂囨暟椤� -->
         <div class="page-box" page="281">
-            <div v-if="showPageList.indexOf(281) > -1">
+            <div v-if="showPageList.indexOf(281) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter12.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter12.vue
index c66d0f3..cf42825 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter12.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter12.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="13">
         <!-- 绗�282椤� - 鍋舵暟椤� -->
         <div class="page-box" page="282">
-            <div v-if="showPageList.indexOf(282) > -1">
+            <div v-if="showPageList.indexOf(282) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -43,7 +43,7 @@
 
         <!-- 绗�283椤� - 濂囨暟椤� -->
         <div class="page-box" page="283">
-            <div v-if="showPageList.indexOf(283) > -1">
+            <div v-if="showPageList.indexOf(283) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -83,7 +83,7 @@
 
         <!-- 绗�284椤� - 鍋舵暟椤� -->
         <div class="page-box" page="284">
-            <div v-if="showPageList.indexOf(284) > -1">
+            <div v-if="showPageList.indexOf(284) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -127,7 +127,7 @@
 
         <!-- 绗�285椤� - 濂囨暟椤� -->
         <div class="page-box" page="285">
-            <div v-if="showPageList.indexOf(285) > -1">
+            <div v-if="showPageList.indexOf(285) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -177,7 +177,7 @@
 
         <!-- 绗�286椤� - 鍋舵暟椤� -->
         <div class="page-box" page="286">
-            <div v-if="showPageList.indexOf(286) > -1">
+            <div v-if="showPageList.indexOf(286) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -197,7 +197,7 @@
 
         <!-- 绗�287椤� - 濂囨暟椤� -->
         <div class="page-box" page="287">
-            <div v-if="showPageList.indexOf(287) > -1">
+            <div v-if="showPageList.indexOf(287) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -249,7 +249,7 @@
 
         <!-- 绗�288椤� - 鍋舵暟椤� -->
         <div class="page-box" page="288">
-            <div v-if="showPageList.indexOf(288) > -1">
+            <div v-if="showPageList.indexOf(288) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -280,7 +280,7 @@
 
         <!-- 绗�289椤� - 濂囨暟椤� -->
         <div class="page-box" page="289">
-            <div v-if="showPageList.indexOf(289) > -1">
+            <div v-if="showPageList.indexOf(289) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -311,7 +311,7 @@
 
         <!-- 绗�290椤� - 鍋舵暟椤� -->
         <div class="page-box" page="290">
-            <div v-if="showPageList.indexOf(290) > -1">
+            <div v-if="showPageList.indexOf(290) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -342,7 +342,7 @@
 
         <!-- 绗�291椤� - 濂囨暟椤� -->
         <div class="page-box" page="291">
-            <div v-if="showPageList.indexOf(291) > -1">
+            <div v-if="showPageList.indexOf(291) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -370,7 +370,7 @@
 
         <!-- 绗�292椤� - 鍋舵暟椤� -->
         <div class="page-box" page="292">
-            <div v-if="showPageList.indexOf(292) > -1">
+            <div v-if="showPageList.indexOf(292) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -417,7 +417,7 @@
 
         <!-- 绗�293椤� - 濂囨暟椤� -->
         <div class="page-box" page="293">
-            <div v-if="showPageList.indexOf(293) > -1">
+            <div v-if="showPageList.indexOf(293) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -437,7 +437,7 @@
 
         <!-- 绗�294椤� - 鍋舵暟椤� -->
         <div class="page-box" page="294">
-            <div v-if="showPageList.indexOf(294) > -1">
+            <div v-if="showPageList.indexOf(294) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -485,7 +485,7 @@
 
         <!-- 绗�295椤� - 濂囨暟椤� -->
         <div class="page-box" page="295">
-            <div v-if="showPageList.indexOf(295) > -1">
+            <div v-if="showPageList.indexOf(295) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -532,7 +532,7 @@
 
         <!-- 绗�296椤� - 鍋舵暟椤� -->
         <div class="page-box" page="296">
-            <div v-if="showPageList.indexOf(296) > -1">
+            <div v-if="showPageList.indexOf(296) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -582,7 +582,7 @@
 
         <!-- 绗�297椤� - 濂囨暟椤� -->
         <div class="page-box" page="297">
-            <div v-if="showPageList.indexOf(297) > -1">
+            <div v-if="showPageList.indexOf(297) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -629,7 +629,7 @@
 
         <!-- 绗�298椤� - 鍋舵暟椤� -->
         <div class="page-box" page="298">
-            <div v-if="showPageList.indexOf(298) > -1">
+            <div v-if="showPageList.indexOf(298) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -677,7 +677,7 @@
 
         <!-- 绗�299椤� - 濂囨暟椤� -->
         <div class="page-box" page="299">
-            <div v-if="showPageList.indexOf(299) > -1">
+            <div v-if="showPageList.indexOf(299) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -718,7 +718,7 @@
 
         <!-- 绗�300椤� - 鍋舵暟椤� -->
         <div class="page-box" page="300">
-            <div v-if="showPageList.indexOf(300) > -1">
+            <div v-if="showPageList.indexOf(300) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
@@ -751,7 +751,7 @@
 
         <!-- 绗�301椤� - 濂囨暟椤� -->
         <div class="page-box" page="301">
-            <div v-if="showPageList.indexOf(301) > -1">
+            <div v-if="showPageList.indexOf(301) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -771,7 +771,7 @@
 
         <!-- 绗�302椤� - 鍋舵暟椤� -->
         <div class="page-box" page="302">
-            <div v-if="showPageList.indexOf(302) > -1">
+            <div v-if="showPageList.indexOf(302) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -793,7 +793,7 @@
 
         <!-- 绗�303椤� - 濂囨暟椤� -->
         <div class="page-box" page="303">
-            <div v-if="showPageList.indexOf(303) > -1">
+            <div v-if="showPageList.indexOf(303) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -812,7 +812,7 @@
 
         <!-- 绗�304椤� - 鍋舵暟椤� -->
         <div class="page-box" page="304">
-            <div v-if="showPageList.indexOf(304) > -1">
+            <div v-if="showPageList.indexOf(304) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -839,7 +839,7 @@
 
         <!-- 绗�305椤� - 濂囨暟椤� -->
         <div class="page-box" page="305">
-            <div v-if="showPageList.indexOf(305) > -1">
+            <div v-if="showPageList.indexOf(305) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -873,7 +873,7 @@
 
         <!-- 绗�306椤� - 鍋舵暟椤� -->
         <div class="page-box" page="306">
-            <div v-if="showPageList.indexOf(306) > -1">
+            <div v-if="showPageList.indexOf(306) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -910,7 +910,7 @@
 
         <!-- 绗�307椤� - 濂囨暟椤� -->
         <div class="page-box" page="307">
-            <div v-if="showPageList.indexOf(307) > -1">
+            <div v-if="showPageList.indexOf(307) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -945,7 +945,7 @@
 
         <!-- 绗�308椤� - 鍋舵暟椤� -->
         <div class="page-box" page="308">
-            <div v-if="showPageList.indexOf(308) > -1">
+            <div v-if="showPageList.indexOf(308) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -985,7 +985,7 @@
 
         <!-- 绗�309椤� - 濂囨暟椤� -->
         <div class="page-box" page="309">
-            <div v-if="showPageList.indexOf(309) > -1">
+            <div v-if="showPageList.indexOf(309) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1027,7 +1027,7 @@
 
         <!-- 绗�310椤� - 鍋舵暟椤� -->
         <div class="page-box" page="310">
-            <div v-if="showPageList.indexOf(310) > -1">
+            <div v-if="showPageList.indexOf(310) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -1065,7 +1065,7 @@
 
         <!-- 绗�311椤� - 濂囨暟椤� -->
         <div class="page-box" page="311">
-            <div v-if="showPageList.indexOf(311) > -1">
+            <div v-if="showPageList.indexOf(311) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1101,7 +1101,7 @@
 
         <!-- 绗�312椤� - 鍋舵暟椤� -->
         <div class="page-box" page="312">
-            <div v-if="showPageList.indexOf(312) > -1">
+            <div v-if="showPageList.indexOf(312) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -1119,7 +1119,7 @@
 
         <!-- 绗�313椤� - 濂囨暟椤� -->
         <div class="page-box" page="313">
-            <div v-if="showPageList.indexOf(313) > -1">
+            <div v-if="showPageList.indexOf(313) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1158,7 +1158,7 @@
 
         <!-- 绗�314椤� - 鍋舵暟椤� -->
         <div class="page-box" page="314">
-            <div v-if="showPageList.indexOf(314) > -1">
+            <div v-if="showPageList.indexOf(314) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄浜岀珷&nbsp;&nbsp;&nbsp;鏃ュ父鐢熸椿娲诲姩鑳藉姏鍜岀敓娲昏川閲忚瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -1194,7 +1194,7 @@
 
         <!-- 绗�315椤� - 濂囨暟椤� -->
         <div class="page-box" page="315">
-            <div v-if="showPageList.indexOf(315) > -1">
+            <div v-if="showPageList.indexOf(315) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter13.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter13.vue
index b425745..9b716b2 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter13.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter13.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="14">
         <!-- 绗�316椤� - 鍋舵暟椤� -->
         <div class="page-box" page="316">
-            <div v-if="showPageList.indexOf(316) > -1">
+            <div v-if="showPageList.indexOf(316) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -42,7 +42,7 @@
 
         <!-- 绗�317椤� - 濂囨暟椤� -->
         <div class="page-box" page="317">
-            <div v-if="showPageList.indexOf(317) > -1">
+            <div v-if="showPageList.indexOf(317) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -85,7 +85,7 @@
 
         <!-- 绗�318椤� - 鍋舵暟椤� -->
         <div class="page-box" page="318">
-            <div v-if="showPageList.indexOf(318) > -1">
+            <div v-if="showPageList.indexOf(318) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -123,7 +123,7 @@
 
         <!-- 绗�319椤� - 濂囨暟椤� -->
         <div class="page-box" page="319">
-            <div v-if="showPageList.indexOf(319) > -1">
+            <div v-if="showPageList.indexOf(319) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -163,7 +163,7 @@
 
         <!-- 绗�320椤� - 鍋舵暟椤� -->
         <div class="page-box" page="320">
-            <div v-if="showPageList.indexOf(320) > -1">
+            <div v-if="showPageList.indexOf(320) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -192,7 +192,7 @@
 
         <!-- 绗�321椤� - 濂囨暟椤� -->
         <div class="page-box" page="321">
-            <div v-if="showPageList.indexOf(321) > -1">
+            <div v-if="showPageList.indexOf(321) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -228,7 +228,7 @@
 
         <!-- 绗�322椤� - 鍋舵暟椤� -->
         <div class="page-box" page="322">
-            <div v-if="showPageList.indexOf(322) > -1">
+            <div v-if="showPageList.indexOf(322) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -265,7 +265,7 @@
 
         <!-- 绗�323椤� - 濂囨暟椤� -->
         <div class="page-box" page="323">
-            <div v-if="showPageList.indexOf(323) > -1">
+            <div v-if="showPageList.indexOf(323) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -293,7 +293,7 @@
 
         <!-- 绗�324椤� - 鍋舵暟椤� -->
         <div class="page-box" page="324">
-            <div v-if="showPageList.indexOf(324) > -1">
+            <div v-if="showPageList.indexOf(324) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -316,7 +316,7 @@
 
         <!-- 绗�325椤� - 濂囨暟椤� -->
         <div class="page-box" page="325">
-            <div v-if="showPageList.indexOf(325) > -1">
+            <div v-if="showPageList.indexOf(325) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -336,7 +336,7 @@
 
         <!-- 绗�326椤� - 鍋舵暟椤� -->
         <div class="page-box" page="326">
-            <div v-if="showPageList.indexOf(326) > -1">
+            <div v-if="showPageList.indexOf(326) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -354,7 +354,7 @@
 
         <!-- 绗�327椤� - 濂囨暟椤� -->
         <div class="page-box" page="327">
-            <div v-if="showPageList.indexOf(327) > -1">
+            <div v-if="showPageList.indexOf(327) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -373,7 +373,7 @@
 
         <!-- 绗�328椤� - 鍋舵暟椤� -->
         <div class="page-box" page="328">
-            <div v-if="showPageList.indexOf(328) > -1">
+            <div v-if="showPageList.indexOf(328) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -394,7 +394,7 @@
 
         <!-- 绗�329椤� - 濂囨暟椤� -->
         <div class="page-box" page="329">
-            <div v-if="showPageList.indexOf(329) > -1">
+            <div v-if="showPageList.indexOf(329) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -430,7 +430,7 @@
 
         <!-- 绗�330椤� - 鍋舵暟椤� -->
         <div class="page-box" page="330">
-            <div v-if="showPageList.indexOf(330) > -1">
+            <div v-if="showPageList.indexOf(330) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -469,7 +469,7 @@
 
         <!-- 绗�331椤� - 濂囨暟椤� -->
         <div class="page-box" page="331">
-            <div v-if="showPageList.indexOf(331) > -1">
+            <div v-if="showPageList.indexOf(331) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -489,7 +489,7 @@
 
         <!-- 绗�332椤� - 鍋舵暟椤� -->
         <div class="page-box" page="332">
-            <div v-if="showPageList.indexOf(332) > -1">
+            <div v-if="showPageList.indexOf(332) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -507,7 +507,7 @@
 
         <!-- 绗�333椤� - 濂囨暟椤� -->
         <div class="page-box" page="333">
-            <div v-if="showPageList.indexOf(333) > -1">
+            <div v-if="showPageList.indexOf(333) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -526,7 +526,7 @@
 
         <!-- 绗�334椤� - 鍋舵暟椤� -->
         <div class="page-box" page="334">
-            <div v-if="showPageList.indexOf(334) > -1">
+            <div v-if="showPageList.indexOf(334) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗崄涓夌珷&nbsp;&nbsp;&nbsp;鎯呯华鍜屽績鐞嗗姛鑳借瘎瀹�</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -555,7 +555,7 @@
 
         <!-- 绗�335椤� - 濂囨暟椤� -->
         <div class="page-box" page="335">
-            <div v-if="showPageList.indexOf(335) > -1">
+            <div v-if="showPageList.indexOf(335) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter14.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter14.vue
index 0e952b9..1ba94ff 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter14.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter14.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="15">
         <!-- 绗�336椤� - 鍋舵暟椤� -->
         <div class="page-box" page="336">
-            <div v-if="showPageList.indexOf(336) > -1">
+            <div v-if="showPageList.indexOf(336) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -42,7 +42,7 @@
 
         <!-- 绗�337椤� - 濂囨暟椤� -->
         <div class="page-box" page="337">
-            <div v-if="showPageList.indexOf(337) > -1">
+            <div v-if="showPageList.indexOf(337) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -83,7 +83,7 @@
 
         <!-- 绗�338椤� - 鍋舵暟椤� -->
         <div class="page-box" page="338">
-            <div v-if="showPageList.indexOf(338) > -1">
+            <div v-if="showPageList.indexOf(338) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -122,7 +122,7 @@
 
         <!-- 绗�339椤� - 濂囨暟椤� -->
         <div class="page-box" page="339">
-            <div v-if="showPageList.indexOf(339) > -1">
+            <div v-if="showPageList.indexOf(339) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -166,7 +166,7 @@
 
         <!-- 绗�340椤� - 鍋舵暟椤� -->
         <div class="page-box" page="340">
-            <div v-if="showPageList.indexOf(340) > -1">
+            <div v-if="showPageList.indexOf(340) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -205,7 +205,7 @@
 
         <!-- 绗�341椤� - 濂囨暟椤� -->
         <div class="page-box" page="341">
-            <div v-if="showPageList.indexOf(341) > -1">
+            <div v-if="showPageList.indexOf(341) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -239,7 +239,7 @@
 
         <!-- 绗�342椤� - 鍋舵暟椤� -->
         <div class="page-box" page="342">
-            <div v-if="showPageList.indexOf(342) > -1">
+            <div v-if="showPageList.indexOf(342) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -272,7 +272,7 @@
 
         <!-- 绗�343椤� - 濂囨暟椤� -->
         <div class="page-box" page="343">
-            <div v-if="showPageList.indexOf(343) > -1">
+            <div v-if="showPageList.indexOf(343) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -304,7 +304,7 @@
 
         <!-- 绗�344椤� - 鍋舵暟椤� -->
         <div class="page-box" page="344">
-            <div v-if="showPageList.indexOf(344) > -1">
+            <div v-if="showPageList.indexOf(344) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -332,7 +332,7 @@
 
         <!-- 绗�345椤� - 濂囨暟椤� -->
         <div class="page-box" page="345">
-            <div v-if="showPageList.indexOf(345) > -1">
+            <div v-if="showPageList.indexOf(345) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -368,7 +368,7 @@
 
         <!-- 绗�346椤� - 鍋舵暟椤� -->
         <div class="page-box" page="346">
-            <div v-if="showPageList.indexOf(346) > -1">
+            <div v-if="showPageList.indexOf(346) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -398,7 +398,7 @@
 
         <!-- 绗�347椤� - 濂囨暟椤� -->
         <div class="page-box" page="347">
-            <div v-if="showPageList.indexOf(347) > -1">
+            <div v-if="showPageList.indexOf(347) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -437,7 +437,7 @@
 
         <!-- 绗�348椤� - 鍋舵暟椤� -->
         <div class="page-box" page="348">
-            <div v-if="showPageList.indexOf(348) > -1">
+            <div v-if="showPageList.indexOf(348) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -486,7 +486,7 @@
 
         <!-- 绗�349椤� - 濂囨暟椤� -->
         <div class="page-box" page="349">
-            <div v-if="showPageList.indexOf(349) > -1">
+            <div v-if="showPageList.indexOf(349) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -530,7 +530,7 @@
 
         <!-- 绗�350椤� - 鍋舵暟椤� -->
         <div class="page-box" page="350">
-            <div v-if="showPageList.indexOf(350) > -1">
+            <div v-if="showPageList.indexOf(350) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -579,7 +579,7 @@
 
         <!-- 绗�351椤� - 濂囨暟椤� -->
         <div class="page-box" page="351">
-            <div v-if="showPageList.indexOf(351) > -1">
+            <div v-if="showPageList.indexOf(351) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -605,7 +605,7 @@
 
         <!-- 绗�352椤� - 鍋舵暟椤� -->
         <div class="page-box" page="352">
-            <div v-if="showPageList.indexOf(352) > -1">
+            <div v-if="showPageList.indexOf(352) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -630,7 +630,7 @@
 
         <!-- 绗�353椤� - 濂囨暟椤� -->
         <div class="page-box" page="353">
-            <div v-if="showPageList.indexOf(353) > -1">
+            <div v-if="showPageList.indexOf(353) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -649,7 +649,7 @@
 
         <!-- 绗�354椤� - 鍋舵暟椤� -->
         <div class="page-box" page="354">
-            <div v-if="showPageList.indexOf(354) > -1">
+            <div v-if="showPageList.indexOf(354) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -675,7 +675,7 @@
 
         <!-- 绗�355椤� - 濂囨暟椤� -->
         <div class="page-box" page="355">
-            <div v-if="showPageList.indexOf(355) > -1">
+            <div v-if="showPageList.indexOf(355) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -700,7 +700,7 @@
 
         <!-- 绗�356椤� - 鍋舵暟椤� -->
         <div class="page-box" page="356">
-            <div v-if="showPageList.indexOf(356) > -1">
+            <div v-if="showPageList.indexOf(356) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter15.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter15.vue
index d3e04df..b58cc7f 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter15.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter15.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="16">
         <!-- 357椤� -->
         <div class="page-box" page="357">
-            <div v-if="showPageList.indexOf(357) > -1">
+            <div v-if="showPageList.indexOf(357) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -51,7 +51,7 @@
 
         <!-- 358椤� -->
         <div class="page-box" page="358">
-            <div v-if="showPageList.indexOf(358) > -1">
+            <div v-if="showPageList.indexOf(358) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -94,7 +94,7 @@
 
         <!-- 359椤� -->
         <div class="page-box" page="359">
-            <div v-if="showPageList.indexOf(359) > -1">
+            <div v-if="showPageList.indexOf(359) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -148,7 +148,7 @@
 
         <!-- 360椤� -->
         <div class="page-box" page="360">
-            <div v-if="showPageList.indexOf(360) > -1">
+            <div v-if="showPageList.indexOf(360) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -203,7 +203,7 @@
 
         <!-- 361椤� -->
         <div class="page-box" page="361">
-            <div v-if="showPageList.indexOf(361) > -1">
+            <div v-if="showPageList.indexOf(361) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -244,7 +244,7 @@
 
         <!-- 362椤� -->
         <div class="page-box" page="362">
-            <div v-if="showPageList.indexOf(362) > -1">
+            <div v-if="showPageList.indexOf(362) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -281,7 +281,7 @@
 
         <!-- 363椤� -->
         <div class="page-box" page="363">
-            <div v-if="showPageList.indexOf(363) > -1">
+            <div v-if="showPageList.indexOf(363) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -323,7 +323,7 @@
 
         <!-- 364椤� -->
         <div class="page-box" page="364">
-            <div v-if="showPageList.indexOf(364) > -1">
+            <div v-if="showPageList.indexOf(364) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -368,7 +368,7 @@
 
         <!-- 365椤� -->
         <div class="page-box" page="365">
-            <div v-if="showPageList.indexOf(365) > -1">
+            <div v-if="showPageList.indexOf(365) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -392,7 +392,7 @@
 
         <!-- 366椤� -->
         <div class="page-box" page="366">
-            <div v-if="showPageList.indexOf(366) > -1">
+            <div v-if="showPageList.indexOf(366) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -437,7 +437,7 @@
 
         <!-- 367椤� -->
         <div class="page-box" page="367">
-            <div v-if="showPageList.indexOf(367) > -1">
+            <div v-if="showPageList.indexOf(367) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -477,7 +477,7 @@
 
         <!-- 368椤� -->
         <div class="page-box" page="368">
-            <div v-if="showPageList.indexOf(368) > -1">
+            <div v-if="showPageList.indexOf(368) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -523,7 +523,7 @@
 
         <!-- 369椤� -->
         <div class="page-box" page="369">
-            <div v-if="showPageList.indexOf(369) > -1">
+            <div v-if="showPageList.indexOf(369) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -584,7 +584,7 @@
 
         <!-- 370椤� -->
         <div class="page-box" page="370">
-            <div v-if="showPageList.indexOf(370) > -1">
+            <div v-if="showPageList.indexOf(370) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -636,7 +636,7 @@
 
         <!-- 371椤� -->
         <div class="page-box" page="371">
-            <div v-if="showPageList.indexOf(371) > -1">
+            <div v-if="showPageList.indexOf(371) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -682,7 +682,7 @@
 
         <!-- 372椤� -->
         <div class="page-box" page="372">
-            <div v-if="showPageList.indexOf(372) > -1">
+            <div v-if="showPageList.indexOf(372) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -714,7 +714,7 @@
 
         <!-- 373椤� -->
         <div class="page-box" page="373">
-            <div v-if="showPageList.indexOf(373) > -1">
+            <div v-if="showPageList.indexOf(373) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -757,7 +757,7 @@
 
         <!-- 374椤� -->
         <div class="page-box" page="374">
-            <div v-if="showPageList.indexOf(374) > -1">
+            <div v-if="showPageList.indexOf(374) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -807,7 +807,7 @@
 
         <!-- 375椤� -->
         <div class="page-box" page="375">
-            <div v-if="showPageList.indexOf(375) > -1">
+            <div v-if="showPageList.indexOf(375) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -848,7 +848,7 @@
 
         <!-- 376椤� -->
         <div class="page-box" page="376">
-            <div v-if="showPageList.indexOf(376) > -1">
+            <div v-if="showPageList.indexOf(376) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -895,7 +895,7 @@
 
         <!-- 377椤� -->
         <div class="page-box" page="377">
-            <div v-if="showPageList.indexOf(377) > -1">
+            <div v-if="showPageList.indexOf(377) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter16.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter16.vue
index 7cc4794..86cfa5b 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter16.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter16.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="17">
         <!-- 378椤� -->
         <div class="page-box" page="378">
-            <div v-if="showPageList.indexOf(378) > -1">
+            <div v-if="showPageList.indexOf(378) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -11,7 +11,6 @@
                     </div>
                 </div>
                 <div class="bodystyle">
-
                     <h1 class="firstTitle-l">绗崄鍏珷銆�鐢佃瘖鏂�</h1>
                     <div class="bodyPic"><img src="../../assets/images/0389-01.jpg" style="width:30%" active="true" />
                     </div>
@@ -52,7 +51,7 @@
 
         <!-- 379椤� -->
         <div class="page-box" page="379">
-            <div v-if="showPageList.indexOf(379) > -1">
+            <div v-if="showPageList.indexOf(379) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -96,7 +95,7 @@
 
         <!-- 380椤� -->
         <div class="page-box" page="380">
-            <div v-if="showPageList.indexOf(380) > -1">
+            <div v-if="showPageList.indexOf(380) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -148,7 +147,7 @@
 
         <!-- 381椤� -->
         <div class="page-box" page="381">
-            <div v-if="showPageList.indexOf(381) > -1">
+            <div v-if="showPageList.indexOf(381) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -191,7 +190,7 @@
 
         <!-- 382椤� -->
         <div class="page-box" page="382">
-            <div v-if="showPageList.indexOf(382) > -1">
+            <div v-if="showPageList.indexOf(382) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -234,7 +233,7 @@
 
         <!-- 383椤� -->
         <div class="page-box" page="383">
-            <div v-if="showPageList.indexOf(383) > -1">
+            <div v-if="showPageList.indexOf(383) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -287,7 +286,7 @@
 
         <!-- 384椤� -->
         <div class="page-box" page="384">
-            <div v-if="showPageList.indexOf(384) > -1">
+            <div v-if="showPageList.indexOf(384) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -332,7 +331,7 @@
 
         <!-- 385椤� -->
         <div class="page-box" page="385">
-            <div v-if="showPageList.indexOf(385) > -1">
+            <div v-if="showPageList.indexOf(385) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -381,7 +380,7 @@
 
         <!-- 386椤� -->
         <div class="page-box" page="386">
-            <div v-if="showPageList.indexOf(386) > -1">
+            <div v-if="showPageList.indexOf(386) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -419,7 +418,7 @@
 
         <!-- 387椤� -->
         <div class="page-box" page="387">
-            <div v-if="showPageList.indexOf(387) > -1">
+            <div v-if="showPageList.indexOf(387) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -468,7 +467,7 @@
 
         <!-- 388椤� -->
         <div class="page-box" page="388">
-            <div v-if="showPageList.indexOf(388) > -1">
+            <div v-if="showPageList.indexOf(388) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -514,7 +513,7 @@
 
         <!-- 389椤� -->
         <div class="page-box" page="389">
-            <div v-if="showPageList.indexOf(389) > -1">
+            <div v-if="showPageList.indexOf(389) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -565,7 +564,7 @@
 
         <!-- 390椤� -->
         <div class="page-box" page="390">
-            <div v-if="showPageList.indexOf(390) > -1">
+            <div v-if="showPageList.indexOf(390) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -606,7 +605,7 @@
 
         <!-- 391椤� -->
         <div class="page-box" page="391">
-            <div v-if="showPageList.indexOf(391) > -1">
+            <div v-if="showPageList.indexOf(391) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -642,7 +641,7 @@
 
         <!-- 392椤� -->
         <div class="page-box" page="392">
-            <div v-if="showPageList.indexOf(392) > -1">
+            <div v-if="showPageList.indexOf(392) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter17.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter17.vue
index c44bca0..645adc9 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter17.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter17.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="17">
         <!-- 393椤� -->
         <div class="page-box" page="393">
-            <div v-if="showPageList.indexOf(393) > -1">
+            <div v-if="showPageList.indexOf(393) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">鍙傝�冩枃鐚�</h1>
                     <p class="content">[1]鐧界帀榫�.搴峰鍔熻兘璇勫畾瀛﹀涔犳寚瀵间範棰橀泦[M].2鐗�.鍖椾含锛氫汉姘戝崼鐢熷嚭鐗堢ぞ锛�2019.</p>
@@ -40,7 +40,7 @@
 
         <!-- 394椤� -->
         <div class="page-box" page="394">
-            <div v-if="showPageList.indexOf(394) > -1">
+            <div v-if="showPageList.indexOf(394) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -69,7 +69,7 @@
 
         <!-- 395椤� -->
         <div class="page-box" page="395">
-            <div v-if="showPageList.indexOf(395) > -1">
+            <div v-if="showPageList.indexOf(395) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -94,7 +94,7 @@
 
         <!-- 396椤� -->
         <div class="page-box" page="396">
-            <div v-if="showPageList.indexOf(396) > -1">
+            <div v-if="showPageList.indexOf(396) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -118,7 +118,7 @@
 
         <!-- 397椤� -->
         <div class="page-box" page="397">
-            <div v-if="showPageList.indexOf(397) > -1">
+            <div v-if="showPageList.indexOf(397) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -146,7 +146,7 @@
 
         <!-- 398椤� -->
         <div class="page-box" page="398">
-            <div v-if="showPageList.indexOf(398) > -1">
+            <div v-if="showPageList.indexOf(398) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -173,7 +173,7 @@
 
         <!-- 399椤� -->
         <div class="page-box" page="399">
-            <div v-if="showPageList.indexOf(399) > -1">
+            <div v-if="showPageList.indexOf(399) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -198,7 +198,7 @@
 
         <!-- 400椤� -->
         <div class="page-box" page="400">
-            <div v-if="showPageList.indexOf(400) > -1">
+            <div v-if="showPageList.indexOf(400) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -221,7 +221,7 @@
 
         <!-- 401椤� -->
         <div class="page-box" page="401">
-            <div v-if="showPageList.indexOf(401) > -1">
+            <div v-if="showPageList.indexOf(401) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -246,7 +246,7 @@
 
         <!-- 402椤� -->
         <div class="page-box" page="402">
-            <div v-if="showPageList.indexOf(402) > -1">
+            <div v-if="showPageList.indexOf(402) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -270,7 +270,7 @@
 
         <!-- 403椤� -->
         <div class="page-box" page="403">
-            <div v-if="showPageList.indexOf(403) > -1">
+            <div v-if="showPageList.indexOf(403) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -295,7 +295,7 @@
 
         <!-- 404椤� -->
         <div class="page-box" page="404">
-            <div v-if="showPageList.indexOf(404) > -1">
+            <div v-if="showPageList.indexOf(404) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -319,7 +319,7 @@
 
         <!-- 405椤� -->
         <div class="page-box" page="405">
-            <div v-if="showPageList.indexOf(405) > -1">
+            <div v-if="showPageList.indexOf(405) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -344,7 +344,7 @@
 
         <!-- 406椤� -->
         <div class="page-box" page="406">
-            <div v-if="showPageList.indexOf(406) > -1">
+            <div v-if="showPageList.indexOf(406) > -1 ">
                 <div class="page-header">
                     <!-- 鍙充笂椤电湁 -->
                     <div class="page-header-right">
@@ -368,7 +368,7 @@
 
         <!-- 407椤� -->
         <div class="page-box" page="407">
-            <div v-if="showPageList.indexOf(407) > -1">
+            <div v-if="showPageList.indexOf(407) > -1 ">
                 <div class="page-header">
                     <!-- 宸︿笂椤电湁 -->
                     <div class="page-header-left">
@@ -393,7 +393,7 @@
 
         <!-- 408椤� -->
         <div class="page-box" page="408">
-            <div v-if="showPageList.indexOf(408) > -1">
+            <div v-if="showPageList.indexOf(408) > -1 ">
                 <div class="bodystyle">
 
                 </div>
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter2.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter2.vue
index 4b5bc00..3fa3c6f 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter2.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter2.vue
@@ -1,7 +1,7 @@
 锘�<template>
     <div class="chapter" num="4">
         <div class="page-box" page="36">
-            <div v-if="showPageList.indexOf(36) > -1">
+            <div v-if="showPageList.indexOf(36) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -46,7 +46,7 @@
             </div>
         </div>
         <div class="page-box" page="37">
-            <div v-if="showPageList.indexOf(37) > -1">
+            <div v-if="showPageList.indexOf(37) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -81,7 +81,7 @@
             </div>
         </div>
         <div class="page-box" page="38">
-            <div v-if="showPageList.indexOf(38) > -1">
+            <div v-if="showPageList.indexOf(38) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -119,7 +119,7 @@
             </div>
         </div>
         <div class="page-box" page="39">
-            <div v-if="showPageList.indexOf(39) > -1">
+            <div v-if="showPageList.indexOf(39) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -159,7 +159,7 @@
             </div>
         </div>
         <div class="page-box" page="40">
-            <div v-if="showPageList.indexOf(40) > -1">
+            <div v-if="showPageList.indexOf(40) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -199,7 +199,7 @@
             </div>
         </div>
         <div class="page-box" page="41">
-            <div v-if="showPageList.indexOf(41) > -1">
+            <div v-if="showPageList.indexOf(41) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -240,7 +240,7 @@
             </div>
         </div>
         <div class="page-box" page="42">
-            <div v-if="showPageList.indexOf(42) > -1">
+            <div v-if="showPageList.indexOf(42) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -279,7 +279,7 @@
             </div>
         </div>
         <div class="page-box" page="43">
-            <div v-if="showPageList.indexOf(43) > -1">
+            <div v-if="showPageList.indexOf(43) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -311,7 +311,7 @@
             </div>
         </div>
         <div class="page-box" page="44">
-            <div v-if="showPageList.indexOf(44) > -1">
+            <div v-if="showPageList.indexOf(44) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -327,7 +327,7 @@
             </div>
         </div>
         <div class="page-box" page="45">
-            <div v-if="showPageList.indexOf(45) > -1">
+            <div v-if="showPageList.indexOf(45) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -365,7 +365,7 @@
             </div>
         </div>
         <div class="page-box" page="46">
-            <div v-if="showPageList.indexOf(46) > -1">
+            <div v-if="showPageList.indexOf(46) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -410,7 +410,7 @@
             </div>
         </div>
         <div class="page-box" page="47">
-            <div v-if="showPageList.indexOf(47) > -1">
+            <div v-if="showPageList.indexOf(47) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -461,7 +461,7 @@
             </div>
         </div>
         <div class="page-box" page="48">
-            <div v-if="showPageList.indexOf(48) > -1">
+            <div v-if="showPageList.indexOf(48) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -494,7 +494,7 @@
             </div>
         </div>
         <div class="page-box" page="49">
-            <div v-if="showPageList.indexOf(49) > -1">
+            <div v-if="showPageList.indexOf(49) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -533,7 +533,7 @@
             </div>
         </div>
         <div class="page-box" page="50">
-            <div v-if="showPageList.indexOf(50) > -1">
+            <div v-if="showPageList.indexOf(50) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -580,7 +580,7 @@
             </div>
         </div>
         <div class="page-box" page="51">
-            <div v-if="showPageList.indexOf(51) > -1">
+            <div v-if="showPageList.indexOf(51) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -627,7 +627,7 @@
             </div>
         </div>
         <div class="page-box" page="52">
-            <div v-if="showPageList.indexOf(52) > -1">
+            <div v-if="showPageList.indexOf(52) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -669,7 +669,7 @@
             </div>
         </div>
         <div class="page-box" page="53">
-            <div v-if="showPageList.indexOf(53) > -1">
+            <div v-if="showPageList.indexOf(53) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -702,7 +702,7 @@
             </div>
         </div>
         <div class="page-box" page="54">
-            <div v-if="showPageList.indexOf(54) > -1">
+            <div v-if="showPageList.indexOf(54) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -738,7 +738,7 @@
             </div>
         </div>
         <div class="page-box" page="55">
-            <div v-if="showPageList.indexOf(55) > -1">
+            <div v-if="showPageList.indexOf(55) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -761,7 +761,7 @@
             </div>
         </div>
         <div class="page-box" page="56">
-            <div v-if="showPageList.indexOf(56) > -1">
+            <div v-if="showPageList.indexOf(56) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簩绔�&nbsp;&nbsp;&nbsp;浜轰綋褰㈡�佽瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png"  />
@@ -801,7 +801,7 @@
             </div>
         </div>
         <div class="page-box" page="57">
-            <div v-if="showPageList.indexOf(57) > -1">
+            <div v-if="showPageList.indexOf(57) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter3.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter3.vue
index fca3545..c28fcdb 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter3.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter3.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="4">
         <!-- 绗�58椤� - 鍋舵暟椤� -->
         <div class="page-box" page="58">
-            <div v-if="showPageList.indexOf(58) > -1">
+            <div v-if="showPageList.indexOf(58) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -45,7 +45,7 @@
 
         <!-- 绗�59椤� - 濂囨暟椤� -->
         <div class="page-box" page="59">
-            <div v-if="showPageList.indexOf(59) > -1">
+            <div v-if="showPageList.indexOf(59) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -81,7 +81,7 @@
 
         <!-- 绗�60椤� - 鍋舵暟椤� -->
         <div class="page-box" page="60">
-            <div v-if="showPageList.indexOf(60) > -1">
+            <div v-if="showPageList.indexOf(60) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -115,7 +115,7 @@
 
         <!-- 绗�61椤� - 濂囨暟椤� -->
         <div class="page-box" page="61">
-            <div v-if="showPageList.indexOf(61) > -1">
+            <div v-if="showPageList.indexOf(61) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -149,7 +149,7 @@
 
         <!-- 绗�62椤� - 鍋舵暟椤� -->
         <div class="page-box" page="62">
-            <div v-if="showPageList.indexOf(62) > -1">
+            <div v-if="showPageList.indexOf(62) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -195,7 +195,7 @@
 
         <!-- 绗�63椤� - 濂囨暟椤� -->
         <div class="page-box" page="63">
-            <div v-if="showPageList.indexOf(63) > -1">
+            <div v-if="showPageList.indexOf(63) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -230,7 +230,7 @@
 
         <!-- 绗�64椤� - 鍋舵暟椤� -->
         <div class="page-box" page="64">
-            <div v-if="showPageList.indexOf(64) > -1">
+            <div v-if="showPageList.indexOf(64) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -267,7 +267,7 @@
 
         <!-- 绗�65椤� - 濂囨暟椤� -->
         <div class="page-box" page="65">
-            <div v-if="showPageList.indexOf(65) > -1">
+            <div v-if="showPageList.indexOf(65) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -305,7 +305,7 @@
 
         <!-- 绗�66椤� - 鍋舵暟椤� -->
         <div class="page-box" page="66">
-            <div v-if="showPageList.indexOf(66) > -1">
+            <div v-if="showPageList.indexOf(66) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -332,7 +332,7 @@
 
         <!-- 绗�67椤� - 濂囨暟椤� -->
         <div class="page-box" page="67">
-            <div v-if="showPageList.indexOf(67) > -1">
+            <div v-if="showPageList.indexOf(67) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -370,7 +370,7 @@
 
         <!-- 绗�68椤� - 鍋舵暟椤� -->
         <div class="page-box" page="68">
-            <div v-if="showPageList.indexOf(68) > -1">
+            <div v-if="showPageList.indexOf(68) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -414,7 +414,7 @@
 
         <!-- 绗�69椤� - 濂囨暟椤� -->
         <div class="page-box" page="69">
-            <div v-if="showPageList.indexOf(69) > -1">
+            <div v-if="showPageList.indexOf(69) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -449,7 +449,7 @@
 
         <!-- 绗�70椤� - 鍋舵暟椤� -->
         <div class="page-box" page="70">
-            <div v-if="showPageList.indexOf(70) > -1">
+            <div v-if="showPageList.indexOf(70) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -474,7 +474,7 @@
 
         <!-- 绗�71椤� - 濂囨暟椤� -->
         <div class="page-box" page="71">
-            <div v-if="showPageList.indexOf(71) > -1">
+            <div v-if="showPageList.indexOf(71) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -510,7 +510,7 @@
 
         <!-- 绗�72椤� - 鍋舵暟椤� -->
         <div class="page-box" page="72">
-            <div v-if="showPageList.indexOf(72) > -1">
+            <div v-if="showPageList.indexOf(72) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -554,7 +554,7 @@
 
         <!-- 绗�73椤� - 濂囨暟椤� -->
         <div class="page-box" page="73">
-            <div v-if="showPageList.indexOf(73) > -1">
+            <div v-if="showPageList.indexOf(73) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -586,7 +586,7 @@
 
         <!-- 绗�74椤� - 鍋舵暟椤� -->
         <div class="page-box" page="74">
-            <div v-if="showPageList.indexOf(74) > -1">
+            <div v-if="showPageList.indexOf(74) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -617,7 +617,7 @@
 
         <!-- 绗�75椤� - 濂囨暟椤� -->
         <div class="page-box" page="75">
-            <div v-if="showPageList.indexOf(75) > -1">
+            <div v-if="showPageList.indexOf(75) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -664,7 +664,7 @@
 
         <!-- 绗�76椤� - 鍋舵暟椤� -->
         <div class="page-box" page="76">
-            <div v-if="showPageList.indexOf(76) > -1">
+            <div v-if="showPageList.indexOf(76) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -699,7 +699,7 @@
 
         <!-- 绗�77椤� - 濂囨暟椤� -->
         <div class="page-box" page="77">
-            <div v-if="showPageList.indexOf(77) > -1">
+            <div v-if="showPageList.indexOf(77) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -745,7 +745,7 @@
 
         <!-- 绗�78椤� - 鍋舵暟椤� -->
         <div class="page-box" page="78">
-            <div v-if="showPageList.indexOf(78) > -1">
+            <div v-if="showPageList.indexOf(78) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
@@ -793,7 +793,7 @@
 
         <!-- 绗�79椤� - 濂囨暟椤� -->
         <div class="page-box" page="79">
-            <div v-if="showPageList.indexOf(79) > -1">
+            <div v-if="showPageList.indexOf(79) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -820,7 +820,7 @@
 
         <!-- 绗�80椤� - 鍋舵暟椤� -->
         <div class="page-box" page="80">
-            <div v-if="showPageList.indexOf(80) > -1">
+            <div v-if="showPageList.indexOf(80) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗笁绔�&nbsp;&nbsp;&nbsp;蹇冭偤鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../asse../../asse../../assets/images/pageHeader.png" />
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter4.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter4.vue
index dc7802b..1fbbed1 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter4.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter4.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="5">
         <!-- 绗�81椤� - 濂囨暟椤� -->
         <div class="page-box" page="81">
-            <div v-if="showPageList.indexOf(81) > -1">
+            <div v-if="showPageList.indexOf(81) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -45,7 +45,7 @@
 
         <!-- 绗�82椤� - 鍋舵暟椤� -->
         <div class="page-box" page="82">
-            <div v-if="showPageList.indexOf(82) > -1">
+            <div v-if="showPageList.indexOf(82) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -81,7 +81,7 @@
 
         <!-- 绗�83椤� - 濂囨暟椤� -->
         <div class="page-box" page="83">
-            <div v-if="showPageList.indexOf(83) > -1">
+            <div v-if="showPageList.indexOf(83) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -130,7 +130,7 @@
 
         <!-- 绗�84椤� - 鍋舵暟椤� -->
         <div class="page-box" page="84">
-            <div v-if="showPageList.indexOf(84) > -1">
+            <div v-if="showPageList.indexOf(84) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -167,7 +167,7 @@
 
         <!-- 绗�85椤� - 濂囨暟椤� -->
         <div class="page-box" page="85">
-            <div v-if="showPageList.indexOf(85) > -1">
+            <div v-if="showPageList.indexOf(85) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -198,7 +198,7 @@
 
         <!-- 绗�86椤� - 鍋舵暟椤� -->
         <div class="page-box" page="86">
-            <div v-if="showPageList.indexOf(86) > -1">
+            <div v-if="showPageList.indexOf(86) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -229,7 +229,7 @@
 
         <!-- 绗�87椤� - 濂囨暟椤� -->
         <div class="page-box" page="87">
-            <div v-if="showPageList.indexOf(87) > -1">
+            <div v-if="showPageList.indexOf(87) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -273,7 +273,7 @@
 
         <!-- 绗�88椤� - 鍋舵暟椤� -->
         <div class="page-box" page="88">
-            <div v-if="showPageList.indexOf(88) > -1">
+            <div v-if="showPageList.indexOf(88) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -316,7 +316,7 @@
 
         <!-- 绗�89椤� - 濂囨暟椤� -->
         <div class="page-box" page="89">
-            <div v-if="showPageList.indexOf(89) > -1">
+            <div v-if="showPageList.indexOf(89) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -359,7 +359,7 @@
 
         <!-- 绗�90椤� - 鍋舵暟椤� -->
         <div class="page-box" page="90">
-            <div v-if="showPageList.indexOf(90) > -1">
+            <div v-if="showPageList.indexOf(90) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -392,7 +392,7 @@
 
         <!-- 绗�91椤� - 濂囨暟椤� -->
         <div class="page-box" page="91">
-            <div v-if="showPageList.indexOf(91) > -1">
+            <div v-if="showPageList.indexOf(91) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -444,7 +444,7 @@
 
         <!-- 绗�92椤� - 鍋舵暟椤� -->
         <div class="page-box" page="92">
-            <div v-if="showPageList.indexOf(92) > -1">
+            <div v-if="showPageList.indexOf(92) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -494,7 +494,7 @@
 
         <!-- 绗�93椤� - 濂囨暟椤� -->
         <div class="page-box" page="93">
-            <div v-if="showPageList.indexOf(93) > -1">
+            <div v-if="showPageList.indexOf(93) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -545,7 +545,7 @@
 
         <!-- 绗�94椤� - 鍋舵暟椤� -->
         <div class="page-box" page="94">
-            <div v-if="showPageList.indexOf(94) > -1">
+            <div v-if="showPageList.indexOf(94) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -597,7 +597,7 @@
 
         <!-- 绗�95椤� - 濂囨暟椤� -->
         <div class="page-box" page="95">
-            <div v-if="showPageList.indexOf(95) > -1">
+            <div v-if="showPageList.indexOf(95) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -650,7 +650,7 @@
 
         <!-- 绗�96椤� - 鍋舵暟椤� -->
         <div class="page-box" page="96">
-            <div v-if="showPageList.indexOf(96) > -1">
+            <div v-if="showPageList.indexOf(96) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -701,7 +701,7 @@
 
         <!-- 绗�97椤� - 濂囨暟椤� -->
         <div class="page-box" page="97">
-            <div v-if="showPageList.indexOf(97) > -1">
+            <div v-if="showPageList.indexOf(97) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -752,7 +752,7 @@
 
         <!-- 绗�98椤� - 鍋舵暟椤� -->
         <div class="page-box" page="98">
-            <div v-if="showPageList.indexOf(98) > -1">
+            <div v-if="showPageList.indexOf(98) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -802,7 +802,7 @@
 
         <!-- 绗�99椤� - 濂囨暟椤� -->
         <div class="page-box" page="99">
-            <div v-if="showPageList.indexOf(99) > -1">
+            <div v-if="showPageList.indexOf(99) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -851,7 +851,7 @@
 
         <!-- 绗�100椤� - 鍋舵暟椤� -->
         <div class="page-box" page="100">
-            <div v-if="showPageList.indexOf(100) > -1">
+            <div v-if="showPageList.indexOf(100) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -898,7 +898,7 @@
 
         <!-- 绗�101椤� - 濂囨暟椤� -->
         <div class="page-box" page="101">
-            <div v-if="showPageList.indexOf(101) > -1">
+            <div v-if="showPageList.indexOf(101) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -949,7 +949,7 @@
 
         <!-- 绗�102椤� - 鍋舵暟椤� -->
         <div class="page-box" page="102">
-            <div v-if="showPageList.indexOf(102) > -1">
+            <div v-if="showPageList.indexOf(102) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -993,7 +993,7 @@
 
         <!-- 绗�103椤� - 濂囨暟椤� -->
         <div class="page-box" page="103">
-            <div v-if="showPageList.indexOf(103) > -1">
+            <div v-if="showPageList.indexOf(103) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1047,7 +1047,7 @@
 
         <!-- 绗�104椤� - 鍋舵暟椤� -->
         <div class="page-box" page="104">
-            <div v-if="showPageList.indexOf(104) > -1">
+            <div v-if="showPageList.indexOf(104) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -1095,7 +1095,7 @@
 
         <!-- 绗�105椤� - 濂囨暟椤� -->
         <div class="page-box" page="105">
-            <div v-if="showPageList.indexOf(105) > -1">
+            <div v-if="showPageList.indexOf(105) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1145,7 +1145,7 @@
 
         <!-- 绗�106椤� - 鍋舵暟椤� -->
         <div class="page-box" page="106">
-            <div v-if="showPageList.indexOf(106) > -1">
+            <div v-if="showPageList.indexOf(106) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -1195,7 +1195,7 @@
 
         <!-- 绗�107椤� - 濂囨暟椤� -->
         <div class="page-box" page="107">
-            <div v-if="showPageList.indexOf(107) > -1">
+            <div v-if="showPageList.indexOf(107) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1238,7 +1238,7 @@
 
         <!-- 绗�108椤� - 鍋舵暟椤� -->
         <div class="page-box" page="108">
-            <div v-if="showPageList.indexOf(108) > -1">
+            <div v-if="showPageList.indexOf(108) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗洓绔�&nbsp;&nbsp;&nbsp;鑲屽姏璇勫畾</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -1277,7 +1277,7 @@
 
         <!-- 绗�109椤� - 濂囨暟椤� -->
         <div class="page-box" page="109">
-            <div v-if="showPageList.indexOf(109) > -1">
+            <div v-if="showPageList.indexOf(109) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter5.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter5.vue
index 8352700..33214b6 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter5.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter5.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="6">
         <!-- 绗�110椤� - 鍋舵暟椤� -->
         <div class="page-box" page="110">
-            <div v-if="showPageList.indexOf(110) > -1">
+            <div v-if="showPageList.indexOf(110) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簲绔�&nbsp;&nbsp;&nbsp;鑲屽紶鍔涜瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -45,7 +45,7 @@
 
         <!-- 绗�111椤� - 濂囨暟椤� -->
         <div class="page-box" page="111">
-            <div v-if="showPageList.indexOf(111) > -1">
+            <div v-if="showPageList.indexOf(111) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -81,7 +81,7 @@
 
         <!-- 绗�112椤� - 鍋舵暟椤� -->
         <div class="page-box" page="112">
-            <div v-if="showPageList.indexOf(112) > -1">
+            <div v-if="showPageList.indexOf(112) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簲绔�&nbsp;&nbsp;&nbsp;鑲屽紶鍔涜瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -122,7 +122,7 @@
 
         <!-- 绗�113椤� - 濂囨暟椤� -->
         <div class="page-box" page="113">
-            <div v-if="showPageList.indexOf(113) > -1">
+            <div v-if="showPageList.indexOf(113) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -164,7 +164,7 @@
 
         <!-- 绗�114椤� - 鍋舵暟椤� -->
         <div class="page-box" page="114">
-            <div v-if="showPageList.indexOf(114) > -1">
+            <div v-if="showPageList.indexOf(114) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簲绔�&nbsp;&nbsp;&nbsp;鑲屽紶鍔涜瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -197,7 +197,7 @@
 
         <!-- 绗�115椤� - 濂囨暟椤� -->
         <div class="page-box" page="115">
-            <div v-if="showPageList.indexOf(115) > -1">
+            <div v-if="showPageList.indexOf(115) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -237,7 +237,7 @@
 
         <!-- 绗�116椤� - 鍋舵暟椤� -->
         <div class="page-box" page="116">
-            <div v-if="showPageList.indexOf(116) > -1">
+            <div v-if="showPageList.indexOf(116) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簲绔�&nbsp;&nbsp;&nbsp;鑲屽紶鍔涜瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -285,7 +285,7 @@
 
         <!-- 绗�117椤� - 濂囨暟椤� -->
         <div class="page-box" page="117">
-            <div v-if="showPageList.indexOf(117) > -1">
+            <div v-if="showPageList.indexOf(117) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -333,7 +333,7 @@
 
         <!-- 绗�118椤� - 鍋舵暟椤� -->
         <div class="page-box" page="118">
-            <div v-if="showPageList.indexOf(118) > -1">
+            <div v-if="showPageList.indexOf(118) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簲绔�&nbsp;&nbsp;&nbsp;鑲屽紶鍔涜瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -385,7 +385,7 @@
 
         <!-- 绗�119椤� - 濂囨暟椤� -->
         <div class="page-box" page="119">
-            <div v-if="showPageList.indexOf(119) > -1">
+            <div v-if="showPageList.indexOf(119) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -437,7 +437,7 @@
 
         <!-- 绗�120椤� - 鍋舵暟椤� -->
         <div class="page-box" page="120">
-            <div v-if="showPageList.indexOf(120) > -1">
+            <div v-if="showPageList.indexOf(120) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簲绔�&nbsp;&nbsp;&nbsp;鑲屽紶鍔涜瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -478,7 +478,7 @@
 
         <!-- 绗�121椤� - 濂囨暟椤� -->
         <div class="page-box" page="121">
-            <div v-if="showPageList.indexOf(121) > -1">
+            <div v-if="showPageList.indexOf(121) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -532,7 +532,7 @@
 
         <!-- 绗�122椤� - 鍋舵暟椤� -->
         <div class="page-box" page="122">
-            <div v-if="showPageList.indexOf(122) > -1">
+            <div v-if="showPageList.indexOf(122) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗簲绔�&nbsp;&nbsp;&nbsp;鑲屽紶鍔涜瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -571,7 +571,7 @@
 
         <!-- 绗�123椤� - 濂囨暟椤� -->
         <div class="page-box" page="123">
-            <div v-if="showPageList.indexOf(123) > -1">
+            <div v-if="showPageList.indexOf(123) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter6.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter6.vue
index 25482ed..7e92ba0 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter6.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter6.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="7">
         <!-- 绗�124椤� - 鍋舵暟椤� -->
         <div class="page-box" page="124">
-            <div v-if="showPageList.indexOf(124) > -1">
+            <div v-if="showPageList.indexOf(124) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -46,7 +46,7 @@
 
         <!-- 绗�125椤� - 濂囨暟椤� -->
         <div class="page-box" page="125">
-            <div v-if="showPageList.indexOf(125) > -1">
+            <div v-if="showPageList.indexOf(125) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -80,7 +80,7 @@
 
         <!-- 绗�126椤� - 鍋舵暟椤� -->
         <div class="page-box" page="126">
-            <div v-if="showPageList.indexOf(126) > -1">
+            <div v-if="showPageList.indexOf(126) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -98,7 +98,7 @@
 
         <!-- 绗�127椤� - 濂囨暟椤� -->
         <div class="page-box" page="127">
-            <div v-if="showPageList.indexOf(127) > -1">
+            <div v-if="showPageList.indexOf(127) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -129,7 +129,7 @@
 
         <!-- 绗�128椤� - 鍋舵暟椤� -->
         <div class="page-box" page="128">
-            <div v-if="showPageList.indexOf(128) > -1">
+            <div v-if="showPageList.indexOf(128) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -164,7 +164,7 @@
 
         <!-- 绗�129椤� - 濂囨暟椤� -->
         <div class="page-box" page="129">
-            <div v-if="showPageList.indexOf(129) > -1">
+            <div v-if="showPageList.indexOf(129) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -205,7 +205,7 @@
 
         <!-- 绗�130椤� - 鍋舵暟椤� -->
         <div class="page-box" page="130">
-            <div v-if="showPageList.indexOf(130) > -1">
+            <div v-if="showPageList.indexOf(130) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -245,7 +245,7 @@
 
         <!-- 绗�131椤� - 濂囨暟椤� -->
         <div class="page-box" page="131">
-            <div v-if="showPageList.indexOf(131) > -1">
+            <div v-if="showPageList.indexOf(131) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -282,7 +282,7 @@
 
         <!-- 绗�132椤� - 鍋舵暟椤� -->
         <div class="page-box" page="132">
-            <div v-if="showPageList.indexOf(132) > -1">
+            <div v-if="showPageList.indexOf(132) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -327,7 +327,7 @@
 
         <!-- 绗�133椤� - 濂囨暟椤� -->
         <div class="page-box" page="133">
-            <div v-if="showPageList.indexOf(133) > -1">
+            <div v-if="showPageList.indexOf(133) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -371,7 +371,7 @@
 
         <!-- 绗�134椤� - 鍋舵暟椤� -->
         <div class="page-box" page="134">
-            <div v-if="showPageList.indexOf(134) > -1">
+            <div v-if="showPageList.indexOf(134) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -413,7 +413,7 @@
 
         <!-- 绗�135椤� - 濂囨暟椤� -->
         <div class="page-box" page="135">
-            <div v-if="showPageList.indexOf(135) > -1">
+            <div v-if="showPageList.indexOf(135) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -461,7 +461,7 @@
 
         <!-- 绗�136椤� - 鍋舵暟椤� -->
         <div class="page-box" page="136">
-            <div v-if="showPageList.indexOf(136) > -1">
+            <div v-if="showPageList.indexOf(136) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -509,7 +509,7 @@
 
         <!-- 绗�137椤� - 濂囨暟椤� -->
         <div class="page-box" page="137">
-            <div v-if="showPageList.indexOf(137) > -1">
+            <div v-if="showPageList.indexOf(137) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -554,7 +554,7 @@
 
         <!-- 绗�138椤� - 鍋舵暟椤� -->
         <div class="page-box" page="138">
-            <div v-if="showPageList.indexOf(138) > -1">
+            <div v-if="showPageList.indexOf(138) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -594,7 +594,7 @@
 
         <!-- 绗�139椤� - 濂囨暟椤� -->
         <div class="page-box" page="139">
-            <div v-if="showPageList.indexOf(139) > -1">
+            <div v-if="showPageList.indexOf(139) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -635,7 +635,7 @@
 
         <!-- 绗�140椤� - 鍋舵暟椤� -->
         <div class="page-box" page="140">
-            <div v-if="showPageList.indexOf(140) > -1">
+            <div v-if="showPageList.indexOf(140) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -676,7 +676,7 @@
 
         <!-- 绗�141椤� - 濂囨暟椤� -->
         <div class="page-box" page="141">
-            <div v-if="showPageList.indexOf(141) > -1">
+            <div v-if="showPageList.indexOf(141) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -715,7 +715,7 @@
 
         <!-- 绗�142椤� - 鍋舵暟椤� -->
         <div class="page-box" page="142">
-            <div v-if="showPageList.indexOf(142) > -1">
+            <div v-if="showPageList.indexOf(142) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -758,7 +758,7 @@
 
         <!-- 绗�143椤� - 濂囨暟椤� -->
         <div class="page-box" page="143">
-            <div v-if="showPageList.indexOf(143) > -1">
+            <div v-if="showPageList.indexOf(143) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -794,7 +794,7 @@
 
         <!-- 绗�144椤� - 鍋舵暟椤� -->
         <div class="page-box" page="144">
-            <div v-if="showPageList.indexOf(144) > -1">
+            <div v-if="showPageList.indexOf(144) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叚绔�&nbsp;&nbsp;&nbsp;鍏宠妭娲诲姩搴﹁瘎瀹�</span>
                     <img class="header-img" src="../../asse../../assets/images/pageHeader.png" />
@@ -828,7 +828,7 @@
 
         <!-- 绗�145椤� - 濂囨暟椤� -->
         <div class="page-box" page="145">
-            <div v-if="showPageList.indexOf(145) > -1">
+            <div v-if="showPageList.indexOf(145) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter7.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter7.vue
index 550fece..4e12af9 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter7.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter7.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="8">
         <!-- 绗�146椤� - 鍋舵暟椤� -->
         <div class="page-box" page="146">
-            <div v-if="showPageList.indexOf(146) > -1">
+            <div v-if="showPageList.indexOf(146) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -43,7 +43,7 @@
 
         <!-- 绗�147椤� - 濂囨暟椤� -->
         <div class="page-box" page="147">
-            <div v-if="showPageList.indexOf(147) > -1">
+            <div v-if="showPageList.indexOf(147) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -79,7 +79,7 @@
 
         <!-- 绗�148椤� - 鍋舵暟椤� -->
         <div class="page-box" page="148">
-            <div v-if="showPageList.indexOf(148) > -1">
+            <div v-if="showPageList.indexOf(148) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -124,7 +124,7 @@
 
         <!-- 绗�149椤� - 濂囨暟椤� -->
         <div class="page-box" page="149">
-            <div v-if="showPageList.indexOf(149) > -1">
+            <div v-if="showPageList.indexOf(149) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -174,7 +174,7 @@
 
         <!-- 绗�150椤� - 鍋舵暟椤� -->
         <div class="page-box" page="150">
-            <div v-if="showPageList.indexOf(150) > -1">
+            <div v-if="showPageList.indexOf(150) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -213,7 +213,7 @@
 
         <!-- 绗�151椤� - 濂囨暟椤� -->
         <div class="page-box" page="151">
-            <div v-if="showPageList.indexOf(151) > -1">
+            <div v-if="showPageList.indexOf(151) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -256,7 +256,7 @@
 
         <!-- 绗�152椤� - 鍋舵暟椤� -->
         <div class="page-box" page="152">
-            <div v-if="showPageList.indexOf(152) > -1">
+            <div v-if="showPageList.indexOf(152) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -284,7 +284,7 @@
 
         <!-- 绗�153椤� - 濂囨暟椤� -->
         <div class="page-box" page="153">
-            <div v-if="showPageList.indexOf(153) > -1">
+            <div v-if="showPageList.indexOf(153) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -312,7 +312,7 @@
 
         <!-- 绗�154椤� - 鍋舵暟椤� -->
         <div class="page-box" page="154">
-            <div v-if="showPageList.indexOf(154) > -1">
+            <div v-if="showPageList.indexOf(154) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -364,7 +364,7 @@
 
         <!-- 绗�155椤� - 濂囨暟椤� -->
         <div class="page-box" page="155">
-            <div v-if="showPageList.indexOf(155) > -1">
+            <div v-if="showPageList.indexOf(155) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -398,7 +398,7 @@
 
         <!-- 绗�156椤� - 鍋舵暟椤� -->
         <div class="page-box" page="156">
-            <div v-if="showPageList.indexOf(156) > -1">
+            <div v-if="showPageList.indexOf(156) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -427,7 +427,7 @@
 
         <!-- 绗�157椤� - 濂囨暟椤� -->
         <div class="page-box" page="157">
-            <div v-if="showPageList.indexOf(157) > -1">
+            <div v-if="showPageList.indexOf(157) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -471,7 +471,7 @@
 
         <!-- 绗�158椤� - 鍋舵暟椤� -->
         <div class="page-box" page="158">
-            <div v-if="showPageList.indexOf(158) > -1">
+            <div v-if="showPageList.indexOf(158) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -513,7 +513,7 @@
 
         <!-- 绗�159椤� - 濂囨暟椤� -->
         <div class="page-box" page="159">
-            <div v-if="showPageList.indexOf(159) > -1">
+            <div v-if="showPageList.indexOf(159) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -541,7 +541,7 @@
 
         <!-- 绗�160椤� - 鍋舵暟椤� -->
         <div class="page-box" page="160">
-            <div v-if="showPageList.indexOf(160) > -1">
+            <div v-if="showPageList.indexOf(160) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竷绔�&nbsp;&nbsp;&nbsp;鎰熻鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -570,7 +570,7 @@
 
         <!-- 绗�161椤� - 濂囨暟椤� -->
         <div class="page-box" page="161">
-            <div v-if="showPageList.indexOf(161) > -1">
+            <div v-if="showPageList.indexOf(161) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter8.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter8.vue
index b0a4514..67d1a5f 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter8.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter8.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="9">
         <!-- 绗�162椤� - 鍋舵暟椤� -->
         <div class="page-box" page="162">
-            <div v-if="showPageList.indexOf(162) > -1">
+            <div v-if="showPageList.indexOf(162) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -45,7 +45,7 @@
 
         <!-- 绗�163椤� - 濂囨暟椤� -->
         <div class="page-box" page="163">
-            <div v-if="showPageList.indexOf(163) > -1">
+            <div v-if="showPageList.indexOf(163) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -89,7 +89,7 @@
 
         <!-- 绗�164椤� - 鍋舵暟椤� -->
         <div class="page-box" page="164">
-            <div v-if="showPageList.indexOf(164) > -1">
+            <div v-if="showPageList.indexOf(164) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -133,7 +133,7 @@
 
         <!-- 绗�165椤� - 濂囨暟椤� -->
         <div class="page-box" page="165">
-            <div v-if="showPageList.indexOf(165) > -1">
+            <div v-if="showPageList.indexOf(165) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -160,7 +160,7 @@
 
         <!-- 绗�166椤� - 鍋舵暟椤� -->
         <div class="page-box" page="166">
-            <div v-if="showPageList.indexOf(166) > -1">
+            <div v-if="showPageList.indexOf(166) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -179,7 +179,7 @@
 
         <!-- 绗�167椤� - 濂囨暟椤� -->
         <div class="page-box" page="167">
-            <div v-if="showPageList.indexOf(167) > -1">
+            <div v-if="showPageList.indexOf(167) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -206,7 +206,7 @@
 
         <!-- 绗�168椤� - 鍋舵暟椤� -->
         <div class="page-box" page="168">
-            <div v-if="showPageList.indexOf(168) > -1">
+            <div v-if="showPageList.indexOf(168) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -225,7 +225,7 @@
 
         <!-- 绗�169椤� - 濂囨暟椤� -->
         <div class="page-box" page="169">
-            <div v-if="showPageList.indexOf(169) > -1">
+            <div v-if="showPageList.indexOf(169) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -261,7 +261,7 @@
 
         <!-- 绗�170椤� - 鍋舵暟椤� -->
         <div class="page-box" page="170">
-            <div v-if="showPageList.indexOf(170) > -1">
+            <div v-if="showPageList.indexOf(170) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -305,7 +305,7 @@
 
         <!-- 绗�171椤� - 濂囨暟椤� -->
         <div class="page-box" page="171">
-            <div v-if="showPageList.indexOf(171) > -1">
+            <div v-if="showPageList.indexOf(171) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -338,7 +338,7 @@
 
         <!-- 绗�172椤� - 鍋舵暟椤� -->
         <div class="page-box" page="172">
-            <div v-if="showPageList.indexOf(172) > -1">
+            <div v-if="showPageList.indexOf(172) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -375,7 +375,7 @@
 
         <!-- 绗�173椤� - 濂囨暟椤� -->
         <div class="page-box" page="173">
-            <div v-if="showPageList.indexOf(173) > -1">
+            <div v-if="showPageList.indexOf(173) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -412,7 +412,7 @@
 
         <!-- 绗�174椤� - 鍋舵暟椤� -->
         <div class="page-box" page="174">
-            <div v-if="showPageList.indexOf(174) > -1">
+            <div v-if="showPageList.indexOf(174) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -449,7 +449,7 @@
 
         <!-- 绗�175椤� - 濂囨暟椤� -->
         <div class="page-box" page="175">
-            <div v-if="showPageList.indexOf(175) > -1">
+            <div v-if="showPageList.indexOf(175) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -493,7 +493,7 @@
 
         <!-- 绗�176椤� - 鍋舵暟椤� -->
         <div class="page-box" page="176">
-            <div v-if="showPageList.indexOf(176) > -1">
+            <div v-if="showPageList.indexOf(176) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -540,7 +540,7 @@
 
         <!-- 绗�177椤� - 濂囨暟椤� -->
         <div class="page-box" page="177">
-            <div v-if="showPageList.indexOf(177) > -1">
+            <div v-if="showPageList.indexOf(177) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -580,7 +580,7 @@
 
         <!-- 绗�178椤� - 鍋舵暟椤� -->
         <div class="page-box" page="178">
-            <div v-if="showPageList.indexOf(178) > -1">
+            <div v-if="showPageList.indexOf(178) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -622,7 +622,7 @@
 
         <!-- 绗�179椤� - 濂囨暟椤� -->
         <div class="page-box" page="179">
-            <div v-if="showPageList.indexOf(179) > -1">
+            <div v-if="showPageList.indexOf(179) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -668,7 +668,7 @@
 
         <!-- 绗�180椤� - 鍋舵暟椤� -->
         <div class="page-box" page="180">
-            <div v-if="showPageList.indexOf(180) > -1">
+            <div v-if="showPageList.indexOf(180) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -706,7 +706,7 @@
 
         <!-- 绗�181椤� - 濂囨暟椤� -->
         <div class="page-box" page="181">
-            <div v-if="showPageList.indexOf(181) > -1">
+            <div v-if="showPageList.indexOf(181) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -753,7 +753,7 @@
 
         <!-- 绗�182椤� - 鍋舵暟椤� -->
         <div class="page-box" page="182">
-            <div v-if="showPageList.indexOf(182) > -1">
+            <div v-if="showPageList.indexOf(182) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -784,7 +784,7 @@
 
         <!-- 绗�183椤� - 濂囨暟椤� -->
         <div class="page-box" page="183">
-            <div v-if="showPageList.indexOf(183) > -1">
+            <div v-if="showPageList.indexOf(183) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -823,7 +823,7 @@
 
         <!-- 绗�184椤� - 鍋舵暟椤� -->
         <div class="page-box" page="184">
-            <div v-if="showPageList.indexOf(184) > -1">
+            <div v-if="showPageList.indexOf(184) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -868,7 +868,7 @@
 
         <!-- 绗�185椤� - 濂囨暟椤� -->
         <div class="page-box" page="185">
-            <div v-if="showPageList.indexOf(185) > -1">
+            <div v-if="showPageList.indexOf(185) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -911,7 +911,7 @@
 
         <!-- 绗�186椤� - 鍋舵暟椤� -->
         <div class="page-box" page="186">
-            <div v-if="showPageList.indexOf(186) > -1">
+            <div v-if="showPageList.indexOf(186) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗叓绔�&nbsp;&nbsp;&nbsp;璁ょ煡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -951,7 +951,7 @@
 
         <!-- 绗�187椤� - 濂囨暟椤� -->
         <div class="page-box" page="187">
-            <div v-if="showPageList.indexOf(187) > -1">
+            <div v-if="showPageList.indexOf(187) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/chapter9.vue b/src/books/rehabilitationAssessmentTechniques/view/components/chapter9.vue
index a5dd286..76d71ee 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/chapter9.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/chapter9.vue
@@ -2,7 +2,7 @@
     <div class="chapter" num="10">
         <!-- 绗�188椤� - 鍋舵暟椤� -->
         <div class="page-box" page="188">
-            <div v-if="showPageList.indexOf(188) > -1">
+            <div v-if="showPageList.indexOf(188) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -46,7 +46,7 @@
 
         <!-- 绗�189椤� - 濂囨暟椤� -->
         <div class="page-box" page="189">
-            <div v-if="showPageList.indexOf(189) > -1">
+            <div v-if="showPageList.indexOf(189) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -83,7 +83,7 @@
 
         <!-- 绗�190椤� - 鍋舵暟椤� -->
         <div class="page-box" page="190">
-            <div v-if="showPageList.indexOf(190) > -1">
+            <div v-if="showPageList.indexOf(190) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗節绔� 绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
@@ -125,7 +125,7 @@
 
         <!-- 绗�191椤� - 濂囨暟椤� -->
         <div class="page-box" page="191">
-            <div v-if="showPageList.indexOf(191) > -1">
+            <div v-if="showPageList.indexOf(191) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -172,7 +172,7 @@
 
         <!-- 绗�192椤� - 鍋舵暟椤� -->
         <div class="page-box" page="192">
-            <div v-if="showPageList.indexOf(192) > -1">
+            <div v-if="showPageList.indexOf(192) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -222,7 +222,7 @@
 
         <!-- 绗�193椤� - 濂囨暟椤� -->
         <div class="page-box" page="193">
-            <div v-if="showPageList.indexOf(193) > -1">
+            <div v-if="showPageList.indexOf(193) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -265,7 +265,7 @@
 
         <!-- 绗�194椤� - 鍋舵暟椤� -->
         <div class="page-box" page="194">
-            <div v-if="showPageList.indexOf(194) > -1">
+            <div v-if="showPageList.indexOf(194) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -307,7 +307,7 @@
 
         <!-- 绗�195椤� - 濂囨暟椤� -->
         <div class="page-box" page="195">
-            <div v-if="showPageList.indexOf(195) > -1">
+            <div v-if="showPageList.indexOf(195) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -357,7 +357,7 @@
 
         <!-- 绗�196椤� - 鍋舵暟椤� -->
         <div class="page-box" page="196">
-            <div v-if="showPageList.indexOf(196) > -1">
+            <div v-if="showPageList.indexOf(196) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -410,7 +410,7 @@
 
         <!-- 绗�197椤� - 濂囨暟椤� -->
         <div class="page-box" page="197">
-            <div v-if="showPageList.indexOf(197) > -1">
+            <div v-if="showPageList.indexOf(197) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -458,7 +458,7 @@
 
         <!-- 绗�198椤� - 鍋舵暟椤� -->
         <div class="page-box" page="198">
-            <div v-if="showPageList.indexOf(198) > -1">
+            <div v-if="showPageList.indexOf(198) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -490,7 +490,7 @@
 
         <!-- 绗�199椤� - 濂囨暟椤� -->
         <div class="page-box" page="199">
-            <div v-if="showPageList.indexOf(199) > -1">
+            <div v-if="showPageList.indexOf(199) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -509,7 +509,7 @@
 
         <!-- 绗�200椤� - 鍋舵暟椤� -->
         <div class="page-box" page="200">
-            <div v-if="showPageList.indexOf(200) > -1">
+            <div v-if="showPageList.indexOf(200) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -551,7 +551,7 @@
 
         <!-- 绗�201椤� - 濂囨暟椤� -->
         <div class="page-box" page="201">
-            <div v-if="showPageList.indexOf(201) > -1">
+            <div v-if="showPageList.indexOf(201) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -599,7 +599,7 @@
 
         <!-- 绗�202椤� - 鍋舵暟椤� -->
         <div class="page-box" page="202">
-            <div v-if="showPageList.indexOf(202) > -1">
+            <div v-if="showPageList.indexOf(202) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -639,7 +639,7 @@
 
         <!-- 绗�203椤� - 濂囨暟椤� -->
         <div class="page-box" page="203">
-            <div v-if="showPageList.indexOf(203) > -1">
+            <div v-if="showPageList.indexOf(203) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -688,7 +688,7 @@
 
         <!-- 绗�204椤� - 鍋舵暟椤� -->
         <div class="page-box" page="204">
-            <div v-if="showPageList.indexOf(204) > -1">
+            <div v-if="showPageList.indexOf(204) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -733,7 +733,7 @@
 
         <!-- 绗�205椤� - 濂囨暟椤� -->
         <div class="page-box" page="205">
-            <div v-if="showPageList.indexOf(205) > -1">
+            <div v-if="showPageList.indexOf(205) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -774,7 +774,7 @@
 
         <!-- 绗�206椤� - 鍋舵暟椤� -->
         <div class="page-box" page="206">
-            <div v-if="showPageList.indexOf(206) > -1">
+            <div v-if="showPageList.indexOf(206) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -813,7 +813,7 @@
 
         <!-- 绗�207椤� - 濂囨暟椤� -->
         <div class="page-box" page="207">
-            <div v-if="showPageList.indexOf(207) > -1">
+            <div v-if="showPageList.indexOf(207) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -856,7 +856,7 @@
 
         <!-- 绗�208椤� - 鍋舵暟椤� -->
         <div class="page-box" page="208">
-            <div v-if="showPageList.indexOf(208) > -1">
+            <div v-if="showPageList.indexOf(208) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -897,7 +897,7 @@
 
         <!-- 绗�209椤� - 濂囨暟椤� -->
         <div class="page-box" page="209">
-            <div v-if="showPageList.indexOf(209) > -1">
+            <div v-if="showPageList.indexOf(209) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -938,7 +938,7 @@
 
         <!-- 绗�210椤� - 鍋舵暟椤� -->
         <div class="page-box" page="210">
-            <div v-if="showPageList.indexOf(210) > -1">
+            <div v-if="showPageList.indexOf(210) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -977,7 +977,7 @@
 
         <!-- 绗�211椤� - 濂囨暟椤� -->
         <div class="page-box" page="211">
-            <div v-if="showPageList.indexOf(211) > -1">
+            <div v-if="showPageList.indexOf(211) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1020,7 +1020,7 @@
 
         <!-- 绗�212椤� - 鍋舵暟椤� -->
         <div class="page-box" page="212">
-            <div v-if="showPageList.indexOf(212) > -1">
+            <div v-if="showPageList.indexOf(212) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1062,7 +1062,7 @@
 
         <!-- 绗�213椤� - 濂囨暟椤� -->
         <div class="page-box" page="213">
-            <div v-if="showPageList.indexOf(213) > -1">
+            <div v-if="showPageList.indexOf(213) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1102,7 +1102,7 @@
 
         <!-- 绗�214椤� - 鍋舵暟椤� -->
         <div class="page-box" page="214">
-            <div v-if="showPageList.indexOf(214) > -1">
+            <div v-if="showPageList.indexOf(214) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1142,7 +1142,7 @@
 
         <!-- 绗�215椤� - 濂囨暟椤� -->
         <div class="page-box" page="215">
-            <div v-if="showPageList.indexOf(215) > -1">
+            <div v-if="showPageList.indexOf(215) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1183,7 +1183,7 @@
 
         <!-- 绗�216椤� - 鍋舵暟椤� -->
         <div class="page-box" page="216">
-            <div v-if="showPageList.indexOf(216) > -1">
+            <div v-if="showPageList.indexOf(216) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1223,7 +1223,7 @@
 
         <!-- 绗�217椤� - 濂囨暟椤� -->
         <div class="page-box" page="217">
-            <div v-if="showPageList.indexOf(217) > -1">
+            <div v-if="showPageList.indexOf(217) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1263,7 +1263,7 @@
 
         <!-- 绗�218椤� - 鍋舵暟椤� -->
         <div class="page-box" page="218">
-            <div v-if="showPageList.indexOf(218) > -1">
+            <div v-if="showPageList.indexOf(218) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1306,7 +1306,7 @@
 
         <!-- 绗�219椤� - 濂囨暟椤� -->
         <div class="page-box" page="219">
-            <div v-if="showPageList.indexOf(219) > -1">
+            <div v-if="showPageList.indexOf(219) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1338,7 +1338,7 @@
 
         <!-- 绗�220椤� - 鍋舵暟椤� -->
         <div class="page-box" page="220">
-            <div v-if="showPageList.indexOf(220) > -1">
+            <div v-if="showPageList.indexOf(220) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1367,7 +1367,7 @@
 
         <!-- 绗�221椤� - 濂囨暟椤� -->
         <div class="page-box" page="221">
-            <div v-if="showPageList.indexOf(221) > -1">
+            <div v-if="showPageList.indexOf(221) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1386,7 +1386,7 @@
 
         <!-- 绗�222椤� - 鍋舵暟椤� -->
         <div class="page-box" page="222">
-            <div v-if="showPageList.indexOf(222) > -1">
+            <div v-if="showPageList.indexOf(222) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1421,7 +1421,7 @@
 
         <!-- 绗�223椤� - 濂囨暟椤� -->
         <div class="page-box" page="223">
-            <div v-if="showPageList.indexOf(223) > -1">
+            <div v-if="showPageList.indexOf(223) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1457,7 +1457,7 @@
 
         <!-- 绗�224椤� - 鍋舵暟椤� -->
         <div class="page-box" page="224">
-            <div v-if="showPageList.indexOf(224) > -1">
+            <div v-if="showPageList.indexOf(224) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1486,7 +1486,7 @@
 
         <!-- 绗�225椤� - 濂囨暟椤� -->
         <div class="page-box" page="225">
-            <div v-if="showPageList.indexOf(225) > -1">
+            <div v-if="showPageList.indexOf(225) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1520,7 +1520,7 @@
 
         <!-- 绗�226椤� - 鍋舵暟椤� -->
         <div class="page-box" page="226">
-            <div v-if="showPageList.indexOf(226) > -1">
+            <div v-if="showPageList.indexOf(226) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1554,7 +1554,7 @@
 
         <!-- 绗�227椤� - 濂囨暟椤� -->
         <div class="page-box" page="227">
-            <div v-if="showPageList.indexOf(227) > -1">
+            <div v-if="showPageList.indexOf(227) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1581,7 +1581,7 @@
 
         <!-- 绗�228椤� - 鍋舵暟椤� -->
         <div class="page-box" page="228">
-            <div v-if="showPageList.indexOf(228) > -1">
+            <div v-if="showPageList.indexOf(228) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1600,7 +1600,7 @@
 
         <!-- 绗�229椤� - 濂囨暟椤� -->
         <div class="page-box" page="229">
-            <div v-if="showPageList.indexOf(229) > -1">
+            <div v-if="showPageList.indexOf(229) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1625,7 +1625,7 @@
 
         <!-- 绗�230椤� - 鍋舵暟椤� -->
         <div class="page-box" page="230">
-            <div v-if="showPageList.indexOf(230) > -1">
+            <div v-if="showPageList.indexOf(230) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
@@ -1654,7 +1654,7 @@
 
         <!-- 绗�231椤� - 濂囨暟椤� -->
         <div class="page-box" page="231">
-            <div v-if="showPageList.indexOf(231) > -1">
+            <div v-if="showPageList.indexOf(231) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -1683,7 +1683,7 @@
 
         <!-- 绗�232椤� - 鍋舵暟椤� -->
         <div class="page-box" page="232">
-            <div v-if="showPageList.indexOf(232) > -1">
+            <div v-if="showPageList.indexOf(232) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">
                         绗節绔�&nbsp;&nbsp;&nbsp;绁炵粡鍔熻兘璇勫畾</span>
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/header.vue b/src/books/rehabilitationAssessmentTechniques/view/components/header.vue
index 7353234..96199bd 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/header.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/header.vue
@@ -2,19 +2,19 @@
     <div class="chapter" num="1">
         <!-- 1椤�(灏侀潰) -->
         <div class="page-box" page="1" style="min-height: auto">
-            <div v-if="showPageList.indexOf(1) > -1">
+            <div v-if="showPageList.indexOf(1) > -1 ">
                 <img style="width: 100%;" src="../../assets/images/fengmian.jpg" />
             </div>
         </div>
         <!-- 1椤�(灏侀潰) -->
         <div class="page-box" page="2" style="min-height: auto">
-            <div v-if="showPageList.indexOf(2) > -1">
+            <div v-if="showPageList.indexOf(2) > -1 ">
                 <img style="width: 100%;" src="../../assets/images/feiye.png" />
             </div>
         </div>
         <!-- 绗�1椤� - 濂囨暟椤� -->
         <div class="page-box" page="3">
-            <div v-if="showPageList.indexOf(3) > -1">
+            <div v-if="showPageList.indexOf(3) > -1 ">
                 <div class="bodystyle">
                     <p class="copyright-text">鍐呭鎻愯</p>
                     <p class="copyright-text">
@@ -50,7 +50,7 @@
 
         <!-- 绗�2椤� - 鍋舵暟椤� -->
         <div class="page-box" page="4">
-            <div v-if="showPageList.indexOf(4) > -1">
+            <div v-if="showPageList.indexOf(4) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">鍏ㄥ浗楂樼瓑鑱屼笟鏁欒偛搴峰娌荤枟鎶�鏈笓涓氭柊褰㈡�佽鍒掓暀鏉愬缓璁炬寚瀵煎鍛樹細</h1>
                     <p class="content"><span class="bold">涓� 浠� 濮� 鍛�</span>銆�娈峰繝鍕囷紙<span class="quotation-s">姹熻嫃鍖昏嵂鑱屼笟瀛﹂櫌</span>锛�
@@ -75,7 +75,7 @@
 
         <!-- 绗�3椤� - 濂囨暟椤� -->
         <div class="page-box" page="5">
-            <div v-if="showPageList.indexOf(5) > -1">
+            <div v-if="showPageList.indexOf(5) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">鍏ㄥ浗楂樼瓑鑱屼笟鏁欒偛搴峰娌荤枟鎶�鏈笓涓氭柊褰㈡�佽鍒掓暀鏉愭暟瀛楁暀鏉愬缓璁炬寚瀵煎鍛樹細</h1>
                     <p class="content"><span class="bold">涓� 浠� 濮� 鍛�</span>銆�寮犲厜瀹囷紙<span
@@ -95,7 +95,7 @@
 
         <!-- 绗�4椤� - 鍋舵暟椤� -->
         <div class="page-box" page="6">
-            <div v-if="showPageList.indexOf(6) > -1">
+            <div v-if="showPageList.indexOf(6) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">缂栬�呭悕鍗�</h1>
                     <p class="content"><span class="bold">涓汇��缂�</span>銆�鑰垮В濮c��寮犳案闈�</p>
@@ -119,7 +119,7 @@
 
         <!-- 绗�5椤� - 濂囨暟椤� -->
         <div class="page-box" page="7">
-            <div v-if="showPageList.indexOf(7) > -1">
+            <div v-if="showPageList.indexOf(7) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">鏁板瓧鏁欐潗缂栬�呭悕鍗�</h1>
                     <p class="content"><span class="bold">涓汇��缂�</span>銆�鑰垮В濮c��寮犳案闈�</p>
@@ -140,7 +140,7 @@
 
         <!-- 绗�6椤� - 鍋舵暟椤� -->
         <div class="page-box" page="8">
-            <div v-if="showPageList.indexOf(8) > -1">
+            <div v-if="showPageList.indexOf(8) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">鍑虹増璇存槑</h1>
                     <p class="content">
@@ -162,7 +162,7 @@
 
         <!-- 绗�7椤� - 濂囨暟椤� -->
         <div class="page-box" page="9">
-            <div v-if="showPageList.indexOf(9) > -1">
+            <div v-if="showPageList.indexOf(9) > -1 ">
                 <div class="page-header-left">
                     <div class="header-txt">
                         搴峰璇勫畾鎶�鏈�
@@ -204,7 +204,7 @@
 
         <!-- 绗�8椤� - 鍋舵暟椤� -->
         <div class="page-box" page="10">
-            <div v-if="showPageList.indexOf(10) > -1">
+            <div v-if="showPageList.indexOf(10) > -1 ">
                 <div class="bodystyle">
                     <h1 class="firstTitle-l">鍓嶈█</h1>
                     <p class="content">
@@ -228,7 +228,7 @@
 
         <!-- 绗�9椤� - 濂囨暟椤� -->
         <div class="page-box" page="11">
-            <div v-if="showPageList.indexOf(11) > -1">
+            <div v-if="showPageList.indexOf(11) > -1 ">
                 <div class="page-header-right">
                     <span class="header-title">绗竴绔�&nbsp;&nbsp;&nbsp;缁</span>
                     <img class="header-img" src="../../assets/images/pageHeader.png" />
diff --git a/src/books/rehabilitationAssessmentTechniques/view/components/index.vue b/src/books/rehabilitationAssessmentTechniques/view/components/index.vue
index 2b56f26..4ac14ba 100644
--- a/src/books/rehabilitationAssessmentTechniques/view/components/index.vue
+++ b/src/books/rehabilitationAssessmentTechniques/view/components/index.vue
@@ -8,47 +8,47 @@
             transform: `scale(${pageZoom})`,
             transformOrigin: 'center top',
         }">
-            <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList"></pageHeader>
-            <chapter1 v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <pageHeader v-if="showCatalogList.indexOf(1) > -1 " :showPageList="loadPageList"></pageHeader>
+            <chapter1 v-if="showCatalogList.indexOf(2) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter1>
-            <chapter2 v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter2 v-if="showCatalogList.indexOf(3) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter2>
-            <chapter3 v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter3 v-if="showCatalogList.indexOf(4) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter3>
-            <chapter4 v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter4 v-if="showCatalogList.indexOf(5) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter4>
-            <chapter5 v-if="showCatalogList.indexOf(6) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter5 v-if="showCatalogList.indexOf(6) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter5>
-            <chapter6 v-if="showCatalogList.indexOf(7) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter6 v-if="showCatalogList.indexOf(7) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter6>
-            <chapter7 v-if="showCatalogList.indexOf(8) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter7 v-if="showCatalogList.indexOf(8) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter7>
-            <chapter8 v-if="showCatalogList.indexOf(9) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter8 v-if="showCatalogList.indexOf(9) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter8>
-            <chapter9 v-if="showCatalogList.indexOf(10) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter9 v-if="showCatalogList.indexOf(10) > -1 " :showPageList="loadPageList" :resourceList="resourceList">
             </chapter9>
-            <chapter10 v-if="showCatalogList.indexOf(11) > -1" :showPageList="loadPageList"
+            <chapter10 v-if="showCatalogList.indexOf(11) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter10>
-            <chapter11 v-if="showCatalogList.indexOf(12) > -1" :showPageList="loadPageList"
+            <chapter11 v-if="showCatalogList.indexOf(12) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter11>
-            <chapter12 v-if="showCatalogList.indexOf(13) > -1" :showPageList="loadPageList"
+            <chapter12 v-if="showCatalogList.indexOf(13) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter12>
-            <chapter13 v-if="showCatalogList.indexOf(14) > -1" :showPageList="loadPageList"
+            <chapter13 v-if="showCatalogList.indexOf(14) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter13>
-            <chapter14 v-if="showCatalogList.indexOf(15) > -1" :showPageList="loadPageList"
+            <chapter14 v-if="showCatalogList.indexOf(15) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter14>
-            <chapter15 v-if="showCatalogList.indexOf(16) > -1" :showPageList="loadPageList"
+            <chapter15 v-if="showCatalogList.indexOf(16) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter15>
-            <chapter16 v-if="showCatalogList.indexOf(17) > -1" :showPageList="loadPageList"
+            <chapter16 v-if="showCatalogList.indexOf(17) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter16>
-            <chapter17 v-if="showCatalogList.indexOf(18) > -1" :showPageList="loadPageList"
+            <chapter17 v-if="showCatalogList.indexOf(18) > -1 " :showPageList="loadPageList"
                 :resourceList="resourceList">
             </chapter17>
 
@@ -347,7 +347,7 @@
 
             // 澶勭悊鏍囪鏁版嵁
             handelSignData(type, data) {
-                if (this.loadPageList.indexOf(Number(data.page)) > -1) {
+                if (this.loadPageList.indexOf(Number(data.page)) > -1 ) {
                     // 绔嬪嵆娓叉煋
                     this.renderSign(type, data);
                 }
@@ -386,7 +386,7 @@
                     }
                     for (let i = 0; i < allTextNodes.length; i++) {
                         const textDom = allTextNodes[i];
-                        if (textDom.textContent.indexOf(data.txt) > -1) {
+                        if (textDom.textContent.indexOf(data.txt) > -1 ) {
                             let reg = new RegExp(`${data.txt}`, "ig");
                             switch (type) {
                                 case "Highlight":
diff --git a/src/books/rehabilitationMedicineIntroduction/assets/main.less b/src/books/rehabilitationMedicineIntroduction/assets/main.less
index e032034..752f56a 100644
--- a/src/books/rehabilitationMedicineIntroduction/assets/main.less
+++ b/src/books/rehabilitationMedicineIntroduction/assets/main.less
@@ -20,6 +20,8 @@
     position: relative;
   }
 
+  
+
   .page-header-left {
     padding: 70px 0 20px 0;
   }
@@ -359,7 +361,7 @@
 
   .p-bqy {
     line-height: 20px;
-    font-size: 12px;
+    font-size: 14px;
   }
 
 
@@ -1007,7 +1009,6 @@
 
   /*姝f枃鍐呭灞呬腑*/
   .center {
-    font-size: 1em;
     text-indent: 0em;
     text-align: center;
   }
diff --git a/src/books/rehabilitationMedicineIntroduction/view/components/header.vue b/src/books/rehabilitationMedicineIntroduction/view/components/header.vue
index 4678942..061929e 100644
--- a/src/books/rehabilitationMedicineIntroduction/view/components/header.vue
+++ b/src/books/rehabilitationMedicineIntroduction/view/components/header.vue
@@ -20,8 +20,9 @@
                         鏈暀鏉愭槸鈥滃叏鍥介珮绛夎亴涓氭暀鑲插悍澶嶆不鐤楁妧鏈笓涓氭柊褰㈡�佽鍒掓暀鏉愨�濅箣涓�锛岀郴鏍规嵁鏈鏁欐潗鐨勭紪鍐欐寚瀵兼�濇兂鍜屽師鍒欒姹傦紝缁撳悎涓撲笟鍩瑰吇鐩爣鍜屾湰璇剧▼瑕佹眰鐨勬暀瀛︾洰鏍囩紪鍐欒�屾垚锛屽唴瀹规兜鐩栦簡娈嬬柧瀛︺�佸姛鑳介殰纰嶃�佸悍澶嶅尰瀛︾殑宸ヤ綔鏂瑰紡鍜屾祦绋嬬瓑銆傛澶栵紝鏈暀鏉愯繕澧炲姞浜嗕赴瀵岀殑鏁板瓧璧勬簮锛屽寘鎷井璇俱�佽浠躲�佹�濈淮瀵煎浘銆佸矖浣嶅鏍囪�冭瘯绛夌煡璇嗙偣鎬荤粨銆佽兘鍔涙祴璇曠瓑锛屼赴瀵屼簡鏁欐潗鍐呭锛屽寮轰簡绾夸笂鍜岀嚎涓嬫暀瀛︾殑鑱斿姩鎬э紝浠ユ彁鍗囧鐢熷涔犵殑涓诲姩鎬у拰绉瀬鎬с��
                     </p>
                     <p class="p-bqy mb-10">鏈暀鏉愪富瑕佷緵搴峰娌荤枟鎶�鏈�佷腑鍖诲悍澶嶆妧鏈�佽繍鍔ㄥ仴搴锋寚瀵笺�佷綋鑲蹭繚鍋ヤ笌搴峰绛変笓涓氫娇鐢紝杩樺彲浣滀负搴峰鍖诲宸ヤ綔鑰呯殑鍙傝�冧功銆�</p>
-                    <p class="p-bqy bold">鍥句功鍦ㄧ増缂栫洰锛圕IP锛夋暟鎹�</p>
-                    <p class="p-bqy">搴峰鍖诲瀵艰/闃庡皬鑺逛富缂�.--鍖椾含锛氫腑鍥藉崗鍜屽尰绉戝ぇ瀛﹀嚭鐗堢ぞ锛�2025.7.--锛堝叏鍥介珮绛夎亴涓氭暀鑲插悍澶嶆不鐤楁妧鏈笓涓氭柊褰㈡�佽鍒掓暀鏉愶級.--ISBN
+                    <p><br></p>
+                    <p class="p-bqy bold ">鍥句功鍦ㄧ増缂栫洰锛圕IP锛夋暟鎹�</p>
+                    <p class="p-bqy mb-10">搴峰鍖诲瀵艰/闃庡皬鑺逛富缂�.--鍖椾含锛氫腑鍥藉崗鍜屽尰绉戝ぇ瀛﹀嚭鐗堢ぞ锛�2025.7.--锛堝叏鍥介珮绛夎亴涓氭暀鑲插悍澶嶆不鐤楁妧鏈笓涓氭柊褰㈡�佽鍒掓暀鏉愶級.--ISBN
                         978-7-5679-2640-0</p>
                     <p class="p-bqy">鈪�.R49</p>
                     <p class="p-bqy">涓浗鍥藉鐗堟湰棣咰IP鏁版嵁鏍稿瓧绗�2025F9C602鍙�</p>
diff --git a/src/books/rehabilitationMedicineIntroduction/view/components/index.vue b/src/books/rehabilitationMedicineIntroduction/view/components/index.vue
index 19d502d..954a992 100644
--- a/src/books/rehabilitationMedicineIntroduction/view/components/index.vue
+++ b/src/books/rehabilitationMedicineIntroduction/view/components/index.vue
@@ -9,21 +9,21 @@
             transformOrigin: 'center top',
         }">
             <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList"></pageHeader>
-            <chapter1 v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter1 v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter1>
-            <chapter2 v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter2 v-if="showCatalogList.indexOf(3) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter2>
-            <chapter3 v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter3 v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter3>
-            <chapter4 v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter4 v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter4>
-            <chapter5 v-if="showCatalogList.indexOf(6) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter5 v-if="showCatalogList.indexOf(6) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter5>
-            <chapter6 v-if="showCatalogList.indexOf(7) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter6 v-if="showCatalogList.indexOf(7) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter6>
-            <chapter7 v-if="showCatalogList.indexOf(8) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter7 v-if="showCatalogList.indexOf(8) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter7>
-            <chapter8 v-if="showCatalogList.indexOf(9) > -1" :showPageList="loadPageList" :resourceList="resourceList">
+            <chapter8 v-if="showCatalogList.indexOf(9) > -1" :showPageList="loadPageList" :getResourceInfo="resourceListFun">
             </chapter8>
 
         </div>
@@ -41,7 +41,6 @@
     import chapter6 from "./chapter6.vue"
     import chapter7 from "./chapter7.vue"
     import chapter8 from "./chapter8.vue"
-
     import NoteIcon from "@/assets/images/biji.png";
     import _ from "lodash";
     import Swiper from "swiper/bundle";
@@ -178,7 +177,7 @@
                 threshold: 0, // 鎸囧畾浜ゅ弶姣斾緥锛岃繖閲岃涓� 0.5锛岃〃绀哄綋鐩爣鍏冪礌涓�鍗婃垨鏇村鏄剧ず鍦ㄨ绐椾腑鏃惰Е鍙戝洖璋冨嚱鏁般��
             });
 
-            // this.getBookResourceList();
+            this.getBookResourceList();
 
             // 鍚姩椤电爜瑙傚療
             setTimeout(() => {
@@ -188,7 +187,7 @@
 
             // 娴嬭瘯椤甸潰璺宠浆
             setTimeout(() => {
-                this.gotoPage(2, 28);
+                this.gotoPage(3, 31);
             }, 500);
 
             // const pageDom = (this.container ? this.container : document)
@@ -226,7 +225,7 @@
                 this.resourceList = await this.config.getBookResources(
                     process.env.VUE_APP_RESOURCE_CTX + (process.env.VUE_APP_ENV == "product"
                         ? process.env.VUE_APP_BOOK_ID
-                        : "clinicalDiseasesSummary")
+                        : "rehabilitationMedicineIntroduction")
                 );
             },
             // 婊氬姩鐩戝惉
diff --git a/src/components/dialogExaminations/index.vue b/src/components/dialogExaminations/index.vue
index 59bce20..5685dbf 100644
--- a/src/components/dialogExaminations/index.vue
+++ b/src/components/dialogExaminations/index.vue
@@ -30,7 +30,7 @@
                 <!-- 鏍囬 -->
                 <div class="questionTitle">
                   <div class="titleContent">
-                    <span class="questionNum" :style="{
+                    <span class="questionNum" v-if="item.catalogName != '鏉愭枡棰�'" :style="{
                       marginTop:
                         value.questionType == 'completion' ||
                           value.questionType == 'mathField'
@@ -38,6 +38,18 @@
                           : '0',
                     }">{{ index + 1 }}.
                     </span>
+                    <span class="questionNum" v-if="
+                      item.catalogName == '鏉愭枡棰�' &&
+                      value.questionType != 'material'
+                    " :style="{
+                        marginTop:
+                          value.questionType == 'completion' ||
+                            value.questionType == 'mathField'
+                            ? '12px'
+                            : '0',
+                      }">{{ index }}.
+                    </span>
+
                     <!-- 鍚姏杩涘害鏉� -->
                     <!-- <answerAudioPlayer :audioUrl="value.src" v-show="item.name == '鍚姏棰�'" /> -->
                     <!-- 浠呮枃瀛� -->
@@ -74,8 +86,8 @@
                           typeof itemText != 'string' &&
                           value.questionType == 'mathField'
                         " class="mathField" :menuItems="[]" @input="
-                          onChangeInput($event, nindex, index, itemText.num)
-                          ">
+                            onChangeInput($event, nindex, index, itemText.num)
+                            ">
                           {{ value.userAnswer[itemText.num] }}
                         </math-field>
                       </span>
@@ -95,9 +107,10 @@
                     </p>
                   </div>
                   <img :src="value.isCollect ? isHeart : heart" alt="" class="collect-png"
-                    @click="setCollect(nindex, index)" v-if="!hideCollect && item.type != 'material'" />
+                    @click="setCollect(nindex, index)" v-if="!hideCollect && value.questionType != 'material'" />
                   <!-- 鏀惰棌 -->
                 </div>
+                <!-- 閫夐」 -->
                 <div class="questionContent">
                   <!-- 鍗曢�� -->
                   <el-radio-group :disabled="value.isComplete" class="option" v-if="
@@ -106,10 +119,10 @@
                   " v-model="value.userAnswer">
                     <el-radio v-for="(content, contentIndex) in value.option" :key="contentIndex + 'contentIndex'"
                       :label="content.value" :class="value.optionStyle == 'Image' ||
-                        value.optionStyle == 'TxtAndImage' ||
-                        value.optionStyle == 'RichText'
-                        ? 'optionImg'
-                        : 'optionTxt'
+                          value.optionStyle == 'TxtAndImage' ||
+                          value.optionStyle == 'RichText'
+                          ? 'optionImg'
+                          : 'optionTxt'
                         ">
                       <p class="optionContent" v-if="value.optionStyle == 'Txt'">
                         {{ content.value }}銆亄{ content.txt }}
@@ -133,10 +146,10 @@
                     v-else-if="value.questionType == 'multipleChoice'">
                     <el-checkbox v-for="(content, contentCindex) in value.option" :key="contentCindex + 'contentCindex'"
                       :label="content.value" :name="content.text" :class="value.optionStyle == 'Image' ||
-                        value.optionStyle == 'TxtAndImage' ||
-                        value.optionStyle == 'RichText'
-                        ? 'optionImg'
-                        : 'optionTxt'
+                          value.optionStyle == 'TxtAndImage' ||
+                          value.optionStyle == 'RichText'
+                          ? 'optionImg'
+                          : 'optionTxt'
                         ">
                       <p class="optionContent" v-if="value.optionStyle == 'Txt'">
                         {{ content.value }}銆亄{ content.txt }}
@@ -175,7 +188,7 @@
                     <el-button @click="checkPares(value)" style="margin-top: 10px">鏌ョ湅瑙f瀽</el-button>
                   </div>
                   <!-- 鎻愪氦鍚庤В鏋� -->
-                  <div class="analysis" v-if="value.isComplete">
+                  <div class="analysis" v-if="value.isComplete && value.questionType != 'material'">
                     <el-collapse v-model="value.isUnfold" accordion v-if="
                       value.questionType != 'shortAnswer' &&
                       value.questionType != 'formula'
@@ -189,8 +202,8 @@
                                 <span v-html="arrayToString(value.answer)" class="correctBox"></span>
                               </p>
                               <p :class="value.isRight
-                                ? 'correct textOverFlow'
-                                : 'error textOverFlow'
+                                  ? 'correct textOverFlow'
+                                  : 'error textOverFlow'
                                 " :title="arrayToString(value.userAnswer)" style="margin-left: 20px">
                                 <span>鎮ㄧ殑绛旀锛�</span>
                                 <span class="errorBox" v-if="isHaveAnswer(value.userAnswer)">{{
@@ -219,13 +232,12 @@
                                   fill="#d81e06" p-id="25746"></path>
                               </svg>
                             </span>
-
                             <div class="headerConent sitgBox">
                               <p v-if="!value.isUnfold">
-                                <span class="analysisColor">灞曞紑瑙f瀽</span><el-image />
+                                <span class="analysisColor">灞曞紑瑙f瀽</span>
                               </p>
                               <p v-else>
-                                <span class="analysisColor">鏀惰捣瑙f瀽</span><el-image />
+                                <span class="analysisColor">鏀惰捣瑙f瀽</span>
                               </p>
                             </div>
                           </div>
@@ -259,10 +271,10 @@
                         <div class="referBox" v-if="value.analysisCon">
                           <span>瑙f瀽锛�</span>
                           <p v-html="value.analysisCon" :class="[
-                            'subjectiveBox',
-                            'ti-2',
-                            value.isUnfold ? 'yincang' : '',
-                          ].join(' ')
+                              'subjectiveBox',
+                              'ti-2',
+                              value.isUnfold ? 'yincang' : '',
+                            ].join(' ')
                             "></p>
                         </div>
                       </el-collapse-item>
@@ -273,18 +285,18 @@
             </ul>
           </div>
           <div class="bottom-btn" v-if="!loading">
-            <el-button class="examinations-btn-box" @click="saveAnswer">淇濆瓨</el-button>
+            <el-button class="examinations-btn-box" @click="saveAnswer(page)">淇濆瓨</el-button>
             <el-button @click="
-              (page) => {
+              () => {
                 handleQuestion();
-                saveAnswer(page);
+                saveAnswer(this.page);
               }
             " class="examinations-btn-box" :style="{ borderColor: primaryColor }">鎻愪氦</el-button>
             <el-button @click="redo" class="examinations-btn-box">閲嶅仛</el-button>
             <el-button @click="
-              (page) => {
+              () => {
                 openAnswers();
-                saveAnswer(page);
+                saveAnswer(this.page);
               }
             " class="examinations-btn-box" :style="{ borderColor: primaryColor }">鏌ョ湅绛旀</el-button>
           </div>
@@ -299,6 +311,7 @@
 import { Message } from "element-ui";
 import TEditorVue from "../teditor/index.vue";
 import config from "@/assets/js/config";
+import getQuestionList from "@/assets/methods/examination";
 export default {
   name: "examination-option",
   components: { TEditorVue },
@@ -333,7 +346,7 @@
       type: Array,
       required: true,
       default: () => [],
-    }
+    },
   },
   data() {
     return {
@@ -371,10 +384,8 @@
   watch: {
     cardList: {
       handler(newVal, ol) {
-        console.log("棰樼洰缁勪欢newVal", newVal);
-        // this.cardData = this.cardList;
-        if (newVal && newVal.length) {
-          this.loading = false;
+        if (newVal && newVal.length && this.loading) {
+          this.handleCardle();
         }
       },
       immediate: true,
@@ -386,6 +397,68 @@
     this.getErrorList();
   },
   methods: {
+    async openDialogQuestion() {
+      this.localDialogVisible = true;
+      await this.handleCardle();
+    },
+
+    // 澶勭悊閫昏緫闂
+    async handleCardle() {
+      this.loading = true;
+      this.cardData = await getQuestionList(
+        this.page,
+        this.questionIDList,
+        this.config.activeBook,
+        this.cardList
+      );
+      if (this.cardData && this.cardData.length) {
+        // 閫掑綊澶勭悊鎵�鏈夐鐩紝灞曞紑 childList
+        this.cardData = this.flattenCardData(this.cardData);
+        this.loading = false;
+      }
+    },
+
+    /**
+     * 閫掑綊澶勭悊 cardData锛屽皢 material 绫诲瀷棰樼洰鐨� childList 灞曞紑
+     * 骞朵负姣忎釜瀛愰娣诲姞 parentIndex锛屾柟渚垮悗缁畾浣�
+     */
+    flattenCardData(cardData) {
+      const processedData = [];
+      cardData.forEach((section, sectionIndex) => {
+        // 涓烘瘡涓ぇ绫伙紙濡傚崟閫夐銆佹潗鏂欓锛夊垱寤轰竴涓柊鐨勫璞�
+        const processedSection = {
+          ...section,
+          infoList: [], // 閲嶇疆 infoList 鐢ㄤ簬瀛樻斁澶勭悊鍚庣殑棰樼洰
+        };
+
+        section.infoList.forEach((item, itemIndex) => {
+          if (
+            item.questionType == "material" &&
+            item.childList &&
+            item.childList.length > 0
+          ) {
+            // 濡傛灉鏄潗鏂欓涓旀湁瀛愰
+            // 1. 淇濈暀鏉愭枡棰樻湰韬紙濡傛灉闇�瑕佹樉绀洪骞诧級
+            processedSection.infoList.push(item);
+            item.childList.forEach((child, childIndex) => {
+              // 灏嗗瓙棰樻坊鍔犲埌娓叉煋鍒楄〃
+              processedSection.infoList.push(child);
+            });
+          } else {
+            // 濡傛灉涓嶆槸鏉愭枡棰橈紝鎴栬�呮病鏈夊瓙棰橈紝鐩存帴娣诲姞
+            processedSection.infoList.push(item);
+          }
+        });
+
+        // 灏嗗鐞嗗ソ鐨� section 娣诲姞鍒版渶缁堢粨鏋滀腑
+        // 鍙湁褰撳鐞嗗悗鐨� infoList 鏈夊唴瀹规椂鎵嶆坊鍔犺 section
+        if (processedSection.infoList.length > 0) {
+          processedData.push(processedSection);
+        }
+      });
+
+      return processedData;
+    },
     hadleOpenDialog() { },
     // 鑾峰彇涓嶅彈淇濇姢鐨勫浘鐗�
     getPublicImage(md5, width, height) {
@@ -473,15 +546,12 @@
     },
     // 鎵规敼棰樼洰  (缁冧範,鎴戠殑鍋氶,鎴戠殑鏀惰棌妯″紡涓�)
     handleQuestion() {
-      debugger
       let errorId = [];
       const list = this.cardData;
-
       for (let index = 0; index < list.length; index++) {
         const item = list[index];
         for (let cindex = 0; cindex < item.infoList.length; cindex++) {
           const citem = item.infoList[cindex];
-          citem.isComplete = true;
           // 淇敼棰樼洰鐘舵�佷负瀹屾垚
           citem.isComplete = true;
           // 鎵规敼棰樼洰
@@ -564,9 +634,9 @@
       }
     },
     // 淇濆瓨鎸夐挳
-    saveAnswer(e) {
-      if (e) {
-        const pageNum = e
+    saveAnswer(page) {
+      if (page) {
+        const pageNum = page;
         const oldAnswerData = localStorage.getItem(
           this.config.activeBook.name + "oldAnswerData"
         );
@@ -579,6 +649,8 @@
             asnwerList.push({
               id: citem.id,
               userAnswer: citem.userAnswer,
+              isComplete: citem.isComplete,
+              isRight: citem.isRight,
             });
           }
         }
@@ -597,14 +669,6 @@
         );
         Message.success("淇濆瓨鎴愬姛");
       }
-
-      // if(oldData[this.chapter]) {
-      //   oldData[this.chapter][this.page] = asnwerList
-      // } else {
-      //   oldData[this.chapter] = {}
-      //   oldData[this.chapter][this.page] = asnwerList
-      // }
-      // console.log(oldData);
     },
     handleCollect(infoNum, num) {
       this.cardData[infoNum].infoList[num].isCollect =
@@ -619,7 +683,6 @@
         item = this.cardData[num];
       }
       item.isCollect = !item.isCollect;
-      console.log(111, item);
       if (this.cardData.length == 0) {
         this.collectList.push(item.id);
       } else {
@@ -637,7 +700,6 @@
         const item = this.allCollect[index];
         if (item.type == this.sourceType) item.collectList = this.collectList;
       }
-      console.log("鐐瑰嚮鏀惰棌鎸夐挳", this.allCollect);
       this.MG.identity
         .setUserKey({
           setKeyRequests: [
@@ -654,8 +716,7 @@
     },
     // 鑾峰彇鏀惰棌id鍒楄〃
     getCollectIdList() {
-      console.log(this.cardList, "cardList")
-      const token = localStorage.getItem("token");
+      const token = localStorage.getItem(this.config.tokenKey);
       if (!token) return false;
       this.MG.identity
         .getUserKey({
@@ -665,7 +726,6 @@
         .then((res) => {
           try {
             const collect = JSON.parse(res[0].value);
-            console.log("鍏ㄩ儴鏀惰棌id", collect);
             if (collect.length) {
               this.collectList = collect.find(
                 (citem) => citem.type == this.sourceType
@@ -687,7 +747,7 @@
     },
     // 鑾峰彇閿欓id鍒楄〃
     getErrorList() {
-      const token = localStorage.getItem("token");
+      const token = localStorage.getItem(this.config.tokenKey);
       if (!token) return false;
       this.MG.identity
         .getUserKey({
@@ -717,17 +777,6 @@
     },
     closeDialog() {
       this.localDialogVisible = false;
-    },
-    openDialogQuestion() {
-      this.localDialogVisible = true;
-      console.log(this.cardList, "this.cardList缁勪欢");
-      console.log(this.page, "this.page缁勪欢");
-      console.log(this.questionIDList, "this.questionIDList缁勪欢");
-      console.log(this.config.activeBook,"this.config.activeBook缁勪欢");
-      
-      
-
-
     },
   },
 };
@@ -1116,7 +1165,6 @@
 }
 
 /deep/ .el-collapse-item__content {
-  width: 100%;
   padding: 0 20px;
   background-color: #f4f4f4;
   font-size: 16px;
@@ -1439,7 +1487,7 @@
           color: #fff;
           font-weight: 900;
           font-size: 16px;
-          font-family: 'FZLTXIHJW';
+          font-family: "FZLTXIHJW";
 
           span:nth-child(2):hover {
             cursor: pointer;
@@ -1451,7 +1499,7 @@
           color: #fff;
           font-weight: 900;
           font-size: 16px;
-          font-family: 'FZLTXIHJW';
+          font-family: "FZLTXIHJW";
         }
       }
 
@@ -1473,8 +1521,6 @@
         }
       }
     }
-
-
 
     .notBox {
       position: absolute;
diff --git a/src/components/svgIcon/index.vue b/src/components/svgIcon/index.vue
index 92e0b8e..881046b 100644
--- a/src/components/svgIcon/index.vue
+++ b/src/components/svgIcon/index.vue
@@ -3,12 +3,12 @@
   <i v-if="iconFileName.indexOf('el-icon-') === 0" :class="iconFileName" />
 
   <!-- 濡傛灉鏄� SVG 鍥炬爣锛岃繘琛屾敼閫� -->
-  <svg v-else class="svg-icon" aria-hidden="true" v-on="$listeners" >
+  <svg v-else class="svg-icon" aria-hidden="true" v-on="$listeners">
     <!-- 
       :xlink:href 鍔ㄦ�佺粦瀹氬浘鏍嘔D
       娉ㄦ剰锛氳繖閲屽亣璁句綘鐨勫浘鏍嘔D鏄� "icon-" + iconFileName
     -->
-    <use :xlink:href="`#icon-${iconFileName}`" />
+    <use class="useBox" :xlink:href="`#icon-${iconFileName}`" />
   </svg>
 </template>
 
@@ -26,18 +26,10 @@
 
 <style scoped>
 .svg-icon {
-  /* 
-    1. width 鍜� height 浣跨敤 em 鍗曚綅锛屼娇鍏朵笌 font-size 鍏宠仈銆�
-    2. overflow: hidden 闃叉鍥炬爣鍦ㄦ煇浜涙儏鍐典笅婧㈠嚭銆�
-    3. vertical-align: 璋冩暣鍥炬爣涓庢枃瀛楃殑瀵归綈鍩虹嚎銆�
-    4. fill: currentColor; 鍛婅瘔SVG鍐呴儴鎵�鏈夋病鏈夋寚瀹歠ill鐨勫厓绱狅紝
-       缁熶竴浣跨敤褰撳墠鍏冪礌鐨� 'color' 鍊间綔涓哄~鍏呰壊銆�
-  */
   width: 1em;
   height: 1em;
   overflow: hidden;
   vertical-align: -0.15em;
   fill: currentColor;
 }
-
 </style>
diff --git a/yarn.lock b/yarn.lock
index 8623d8b..db76591 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -24,13 +24,14 @@
     "@jridgewell/gen-mapping" "^0.3.5"
     "@jridgewell/trace-mapping" "^0.3.24"
 
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2":
-  version "7.24.2"
-  resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.2.tgz"
-  integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.24.2", "@babel/code-frame@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz"
+  integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
   dependencies:
-    "@babel/highlight" "^7.24.2"
-    picocolors "^1.0.0"
+    "@babel/helper-validator-identifier" "^7.27.1"
+    js-tokens "^4.0.0"
+    picocolors "^1.1.1"
 
 "@babel/code-frame@7.12.11":
   version "7.12.11"
@@ -39,10 +40,10 @@
   dependencies:
     "@babel/highlight" "^7.10.4"
 
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.24.4.tgz"
-  integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==
+"@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7", "@babel/compat-data@^7.28.0":
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz"
+  integrity sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==
 
 "@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.0.0-0 || ^8.0.0-0 <8.0.0", "@babel/core@^7.11.0", "@babel/core@^7.12.0", "@babel/core@^7.12.16", "@babel/core@^7.13.0", "@babel/core@^7.4.0 || ^8.0.0-0 <8.0.0":
   version "7.24.4"
@@ -74,213 +75,169 @@
     eslint-visitor-keys "^2.1.0"
     semver "^6.3.1"
 
-"@babel/generator@^7.24.1", "@babel/generator@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.24.4.tgz"
-  integrity sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==
+"@babel/generator@^7.24.4", "@babel/generator@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz"
+  integrity sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==
   dependencies:
-    "@babel/types" "^7.24.0"
-    "@jridgewell/gen-mapping" "^0.3.5"
-    "@jridgewell/trace-mapping" "^0.3.25"
-    jsesc "^2.5.1"
+    "@babel/parser" "^7.28.3"
+    "@babel/types" "^7.28.2"
+    "@jridgewell/gen-mapping" "^0.3.12"
+    "@jridgewell/trace-mapping" "^0.3.28"
+    jsesc "^3.0.2"
 
-"@babel/helper-annotate-as-pure@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz"
-  integrity sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==
+"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3":
+  version "7.27.3"
+  resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz"
+  integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
   dependencies:
-    "@babel/types" "^7.22.5"
+    "@babel/types" "^7.27.3"
 
-"@babel/helper-builder-binary-assignment-operator-visitor@^7.22.15":
-  version "7.22.15"
-  resolved "https://registry.npmmirror.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz"
-  integrity sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==
+"@babel/helper-compilation-targets@^7.12.16", "@babel/helper-compilation-targets@^7.23.6", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
+  version "7.27.2"
+  resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz"
+  integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
   dependencies:
-    "@babel/types" "^7.22.15"
-
-"@babel/helper-compilation-targets@^7.12.16", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6":
-  version "7.23.6"
-  resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz"
-  integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
-  dependencies:
-    "@babel/compat-data" "^7.23.5"
-    "@babel/helper-validator-option" "^7.23.5"
-    browserslist "^4.22.2"
+    "@babel/compat-data" "^7.27.2"
+    "@babel/helper-validator-option" "^7.27.1"
+    browserslist "^4.24.0"
     lru-cache "^5.1.1"
     semver "^6.3.1"
 
-"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.1", "@babel/helper-create-class-features-plugin@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.4.tgz"
-  integrity sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.27.1", "@babel/helper-create-class-features-plugin@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.3.tgz"
+  integrity sha512-V9f6ZFIYSLNEbuGA/92uOvYsGCJNsuA8ESZ4ldc09bWk/j8H8TKiPw8Mk1eG6olpnO0ALHJmYfZvF4MEE4gajg==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-member-expression-to-functions" "^7.23.0"
-    "@babel/helper-optimise-call-expression" "^7.22.5"
-    "@babel/helper-replace-supers" "^7.24.1"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-    "@babel/helper-split-export-declaration" "^7.22.6"
+    "@babel/helper-annotate-as-pure" "^7.27.3"
+    "@babel/helper-member-expression-to-functions" "^7.27.1"
+    "@babel/helper-optimise-call-expression" "^7.27.1"
+    "@babel/helper-replace-supers" "^7.27.1"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+    "@babel/traverse" "^7.28.3"
     semver "^6.3.1"
 
-"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.15", "@babel/helper-create-regexp-features-plugin@^7.22.5":
-  version "7.22.15"
-  resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz"
-  integrity sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz"
+  integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    regexpu-core "^5.3.1"
+    "@babel/helper-annotate-as-pure" "^7.27.1"
+    regexpu-core "^6.2.0"
     semver "^6.3.1"
 
-"@babel/helper-define-polyfill-provider@^0.6.1":
-  version "0.6.1"
-  resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz"
-  integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==
+"@babel/helper-define-polyfill-provider@^0.6.5":
+  version "0.6.5"
+  resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz"
+  integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
   dependencies:
-    "@babel/helper-compilation-targets" "^7.22.6"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    debug "^4.1.1"
+    "@babel/helper-compilation-targets" "^7.27.2"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    debug "^4.4.1"
     lodash.debounce "^4.0.8"
-    resolve "^1.14.2"
+    resolve "^1.22.10"
 
-"@babel/helper-environment-visitor@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz"
-  integrity sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==
+"@babel/helper-globals@^7.28.0":
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz"
+  integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==
 
-"@babel/helper-function-name@^7.22.5", "@babel/helper-function-name@^7.23.0":
-  version "7.23.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz"
-  integrity sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==
+"@babel/helper-member-expression-to-functions@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz"
+  integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
   dependencies:
-    "@babel/template" "^7.22.15"
-    "@babel/types" "^7.23.0"
+    "@babel/traverse" "^7.27.1"
+    "@babel/types" "^7.27.1"
 
-"@babel/helper-hoist-variables@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz"
-  integrity sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz"
+  integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
   dependencies:
-    "@babel/types" "^7.22.5"
+    "@babel/traverse" "^7.27.1"
+    "@babel/types" "^7.27.1"
 
-"@babel/helper-member-expression-to-functions@^7.23.0":
-  version "7.23.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz"
-  integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
+"@babel/helper-module-transforms@^7.23.3", "@babel/helper-module-transforms@^7.27.1":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz"
+  integrity sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==
   dependencies:
-    "@babel/types" "^7.23.0"
+    "@babel/helper-module-imports" "^7.27.1"
+    "@babel/helper-validator-identifier" "^7.27.1"
+    "@babel/traverse" "^7.28.3"
 
-"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.12.13", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1", "@babel/helper-module-imports@^7.24.3":
-  version "7.24.3"
-  resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz"
-  integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==
+"@babel/helper-optimise-call-expression@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz"
+  integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
   dependencies:
-    "@babel/types" "^7.24.0"
+    "@babel/types" "^7.27.1"
 
-"@babel/helper-module-imports@~7.22.15":
-  version "7.22.15"
-  resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz"
-  integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz"
+  integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
+
+"@babel/helper-remap-async-to-generator@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz"
+  integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
   dependencies:
-    "@babel/types" "^7.22.15"
+    "@babel/helper-annotate-as-pure" "^7.27.1"
+    "@babel/helper-wrap-function" "^7.27.1"
+    "@babel/traverse" "^7.27.1"
 
-"@babel/helper-module-transforms@^7.23.3":
-  version "7.23.3"
-  resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz"
-  integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==
+"@babel/helper-replace-supers@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz"
+  integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-module-imports" "^7.22.15"
-    "@babel/helper-simple-access" "^7.22.5"
-    "@babel/helper-split-export-declaration" "^7.22.6"
-    "@babel/helper-validator-identifier" "^7.22.20"
+    "@babel/helper-member-expression-to-functions" "^7.27.1"
+    "@babel/helper-optimise-call-expression" "^7.27.1"
+    "@babel/traverse" "^7.27.1"
 
-"@babel/helper-optimise-call-expression@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz"
-  integrity sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==
+"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz"
+  integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
   dependencies:
-    "@babel/types" "^7.22.5"
+    "@babel/traverse" "^7.27.1"
+    "@babel/types" "^7.27.1"
 
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz"
-  integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==
+"@babel/helper-string-parser@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz"
+  integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
 
-"@babel/helper-remap-async-to-generator@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz"
-  integrity sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==
+"@babel/helper-validator-identifier@^7.22.20", "@babel/helper-validator-identifier@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz"
+  integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
+
+"@babel/helper-validator-option@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz"
+  integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+
+"@babel/helper-wrap-function@^7.27.1":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.28.3.tgz"
+  integrity sha512-zdf983tNfLZFletc0RRXYrHrucBEg95NIFMkn6K9dbeMYnsgHaSBGcQqdsCSStG2PYwRre0Qc2NNSCXbG+xc6g==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-wrap-function" "^7.22.20"
-
-"@babel/helper-replace-supers@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz"
-  integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==
-  dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-member-expression-to-functions" "^7.23.0"
-    "@babel/helper-optimise-call-expression" "^7.22.5"
-
-"@babel/helper-simple-access@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz"
-  integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-skip-transparent-expression-wrappers@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz"
-  integrity sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-split-export-declaration@^7.22.6":
-  version "7.22.6"
-  resolved "https://registry.npmmirror.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz"
-  integrity sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==
-  dependencies:
-    "@babel/types" "^7.22.5"
-
-"@babel/helper-string-parser@^7.23.4":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz"
-  integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==
-
-"@babel/helper-validator-identifier@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz"
-  integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-
-"@babel/helper-validator-option@^7.23.5":
-  version "7.23.5"
-  resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz"
-  integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==
-
-"@babel/helper-wrap-function@^7.22.20":
-  version "7.22.20"
-  resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz"
-  integrity sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==
-  dependencies:
-    "@babel/helper-function-name" "^7.22.5"
-    "@babel/template" "^7.22.15"
-    "@babel/types" "^7.22.19"
+    "@babel/template" "^7.27.2"
+    "@babel/traverse" "^7.28.3"
+    "@babel/types" "^7.28.2"
 
 "@babel/helpers@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.24.4.tgz"
-  integrity sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz"
+  integrity sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==
   dependencies:
-    "@babel/template" "^7.24.0"
-    "@babel/traverse" "^7.24.1"
-    "@babel/types" "^7.24.0"
+    "@babel/template" "^7.27.2"
+    "@babel/types" "^7.28.2"
 
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.24.2":
+"@babel/highlight@^7.10.4":
   version "7.24.2"
   resolved "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.24.2.tgz"
   integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==
@@ -290,746 +247,645 @@
     js-tokens "^4.0.0"
     picocolors "^1.0.0"
 
-"@babel/parser@^7.23.5", "@babel/parser@^7.23.9", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1", "@babel/parser@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.24.4.tgz"
-  integrity sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==
-
-"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.4.tgz"
-  integrity sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==
+"@babel/parser@^7.23.5", "@babel/parser@^7.24.4", "@babel/parser@^7.27.2", "@babel/parser@^7.28.0", "@babel/parser@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz"
+  integrity sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/types" "^7.28.2"
 
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz"
-  integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==
+"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz"
+  integrity sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/traverse" "^7.27.1"
 
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz"
-  integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==
+"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz"
+  integrity sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-    "@babel/plugin-transform-optional-chaining" "^7.24.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz"
-  integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.27.1.tgz"
+  integrity sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz"
+  integrity sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+    "@babel/plugin-transform-optional-chaining" "^7.27.1"
+
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.28.3.tgz"
+  integrity sha512-b6YTX108evsvE4YgWyQ921ZAFFQm3Bn+CA3+ZXlNVnPhx+UfsVURoPjfGAPCjBgrqo30yX/C2nZGX96DxvR9Iw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/traverse" "^7.28.3"
 
 "@babel/plugin-proposal-class-properties@^7.12.13":
   version "7.18.6"
-  resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz"
+  resolved "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz"
   integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==
   dependencies:
     "@babel/helper-create-class-features-plugin" "^7.18.6"
     "@babel/helper-plugin-utils" "^7.18.6"
 
 "@babel/plugin-proposal-decorators@^7.12.13":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.24.1.tgz"
-  integrity sha512-zPEvzFijn+hRvJuX2Vu3KbEBN39LN3f7tW3MQO2LsIs57B26KU+kUc82BdAktS1VCM6libzh45eKGI65lg0cpA==
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.28.0.tgz"
+  integrity sha512-zOiZqvANjWDUaUS9xMxbMcK/Zccztbe/6ikvUXaG9nsPH3w6qh5UaPGAnirI/WhIbZ8m3OHU0ReyPrknG+ZKeg==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.24.1"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-decorators" "^7.24.1"
+    "@babel/helper-create-class-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/plugin-syntax-decorators" "^7.27.1"
 
 "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
   version "7.21.0-placeholder-for-preset-env.2"
-  resolved "https://registry.npmmirror.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz"
+  resolved "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz"
   integrity sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==
 
-"@babel/plugin-syntax-async-generators@^7.8.4":
-  version "7.8.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz"
-  integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+"@babel/plugin-syntax-decorators@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz"
+  integrity sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-class-properties@^7.12.13":
-  version "7.12.13"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz"
-  integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.12.13"
-
-"@babel/plugin-syntax-class-static-block@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz"
-  integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-decorators@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.24.1.tgz"
-  integrity sha512-05RJdO/cCrtVWuAaSn1tS3bH8jbsJa/Y1uD186u6J4C/1mnHFxseeuWpsqr9anvo7TUulev7tm7GDwRV+VuhDw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
 "@babel/plugin-syntax-dynamic-import@^7.8.3":
   version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz"
+  resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz"
   integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-export-namespace-from@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz"
-  integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
+"@babel/plugin-syntax-import-assertions@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz"
+  integrity sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.8.3"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-syntax-import-assertions@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz"
-  integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==
+"@babel/plugin-syntax-import-attributes@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.27.1.tgz"
+  integrity sha512-oFT0FrKHgF53f4vOsZGi2Hh3I35PfSmVs4IBFLFj4dnafP+hIWDLg3VyKmUHfLoLHlyxY4C7DGtmHuJgn+IGww==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-syntax-import-attributes@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz"
-  integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==
+"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz"
+  integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-
-"@babel/plugin-syntax-import-meta@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz"
-  integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-json-strings@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz"
-  integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-jsx@^7.12.13", "@babel/plugin-syntax-jsx@^7.2.0", "@babel/plugin-syntax-jsx@^7.23.3":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.1.tgz"
-  integrity sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-
-"@babel/plugin-syntax-logical-assignment-operators@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz"
-  integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz"
-  integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-numeric-separator@^7.10.4":
-  version "7.10.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz"
-  integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.10.4"
-
-"@babel/plugin-syntax-object-rest-spread@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz"
-  integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-catch-binding@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz"
-  integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-optional-chaining@^7.8.3":
-  version "7.8.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz"
-  integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.8.0"
-
-"@babel/plugin-syntax-private-property-in-object@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz"
-  integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
-
-"@babel/plugin-syntax-top-level-await@^7.14.5":
-  version "7.14.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz"
-  integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
-  dependencies:
-    "@babel/helper-plugin-utils" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
 "@babel/plugin-syntax-unicode-sets-regex@^7.18.6":
   version "7.18.6"
-  resolved "https://registry.npmmirror.com/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz"
+  resolved "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz"
   integrity sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==
   dependencies:
     "@babel/helper-create-regexp-features-plugin" "^7.18.6"
     "@babel/helper-plugin-utils" "^7.18.6"
 
-"@babel/plugin-transform-arrow-functions@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz"
-  integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==
+"@babel/plugin-transform-arrow-functions@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz"
+  integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-async-generator-functions@^7.24.3":
-  version "7.24.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz"
-  integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==
+"@babel/plugin-transform-async-generator-functions@^7.28.0":
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.28.0.tgz"
+  integrity sha512-BEOdvX4+M765icNPZeidyADIvQ1m1gmunXufXxvRESy/jNNyfovIqUyE7MVgGBjWktCoJlzvFA1To2O4ymIO3Q==
   dependencies:
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-remap-async-to-generator" "^7.22.20"
-    "@babel/plugin-syntax-async-generators" "^7.8.4"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-remap-async-to-generator" "^7.27.1"
+    "@babel/traverse" "^7.28.0"
 
-"@babel/plugin-transform-async-to-generator@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz"
-  integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==
+"@babel/plugin-transform-async-to-generator@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz"
+  integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
   dependencies:
-    "@babel/helper-module-imports" "^7.24.1"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-remap-async-to-generator" "^7.22.20"
+    "@babel/helper-module-imports" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-remap-async-to-generator" "^7.27.1"
 
-"@babel/plugin-transform-block-scoped-functions@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz"
-  integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==
+"@babel/plugin-transform-block-scoped-functions@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz"
+  integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-block-scoping@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.4.tgz"
-  integrity sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==
+"@babel/plugin-transform-block-scoping@^7.28.0":
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.28.0.tgz"
+  integrity sha512-gKKnwjpdx5sER/wl0WN0efUBFzF/56YZO0RJrSYP4CljXnP31ByY7fol89AzomdlLNzI36AvOTmYHsnZTCkq8Q==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-class-properties@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz"
-  integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==
+"@babel/plugin-transform-class-properties@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz"
+  integrity sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.24.1"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-create-class-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-class-static-block@^7.24.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.4.tgz"
-  integrity sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==
+"@babel/plugin-transform-class-static-block@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.28.3.tgz"
+  integrity sha512-LtPXlBbRoc4Njl/oh1CeD/3jC+atytbnf/UqLoqTDcEYGUPj022+rvfkbDYieUrSj3CaV4yHDByPE+T2HwfsJg==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.24.4"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-class-static-block" "^7.14.5"
+    "@babel/helper-create-class-features-plugin" "^7.28.3"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-classes@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz"
-  integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==
+"@babel/plugin-transform-classes@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.28.3.tgz"
+  integrity sha512-DoEWC5SuxuARF2KdKmGUq3ghfPMO6ZzR12Dnp5gubwbeWJo4dbNWXJPVlwvh4Zlq6Z7YVvL8VFxeSOJgjsx4Sg==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-replace-supers" "^7.24.1"
-    "@babel/helper-split-export-declaration" "^7.22.6"
-    globals "^11.1.0"
+    "@babel/helper-annotate-as-pure" "^7.27.3"
+    "@babel/helper-compilation-targets" "^7.27.2"
+    "@babel/helper-globals" "^7.28.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-replace-supers" "^7.27.1"
+    "@babel/traverse" "^7.28.3"
 
-"@babel/plugin-transform-computed-properties@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz"
-  integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==
+"@babel/plugin-transform-computed-properties@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz"
+  integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/template" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/template" "^7.27.1"
 
-"@babel/plugin-transform-destructuring@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz"
-  integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==
+"@babel/plugin-transform-destructuring@^7.28.0":
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.28.0.tgz"
+  integrity sha512-v1nrSMBiKcodhsyJ4Gf+Z0U/yawmJDBOTpEB3mcQY52r9RIyPneGyAS/yM6seP/8I+mWI3elOMtT5dB8GJVs+A==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/traverse" "^7.28.0"
 
-"@babel/plugin-transform-dotall-regex@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz"
-  integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==
+"@babel/plugin-transform-dotall-regex@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz"
+  integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-duplicate-keys@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz"
-  integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==
+"@babel/plugin-transform-duplicate-keys@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz"
+  integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-dynamic-import@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz"
-  integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==
+"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz"
+  integrity sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-exponentiation-operator@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz"
-  integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==
+"@babel/plugin-transform-dynamic-import@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz"
+  integrity sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==
   dependencies:
-    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-export-namespace-from@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz"
-  integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==
+"@babel/plugin-transform-explicit-resource-management@^7.28.0":
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-explicit-resource-management/-/plugin-transform-explicit-resource-management-7.28.0.tgz"
+  integrity sha512-K8nhUcn3f6iB+P3gwCv/no7OdzOZQcKchW6N389V6PD8NUWKZHzndOd9sPDVbMoBsbmjMqlB4L9fm+fEFNVlwQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/plugin-transform-destructuring" "^7.28.0"
 
-"@babel/plugin-transform-for-of@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz"
-  integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==
+"@babel/plugin-transform-exponentiation-operator@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz"
+  integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-function-name@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz"
-  integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==
+"@babel/plugin-transform-export-namespace-from@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz"
+  integrity sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==
   dependencies:
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-json-strings@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz"
-  integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==
+"@babel/plugin-transform-for-of@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz"
+  integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-json-strings" "^7.8.3"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
 
-"@babel/plugin-transform-literals@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz"
-  integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==
+"@babel/plugin-transform-function-name@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz"
+  integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-compilation-targets" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/traverse" "^7.27.1"
 
-"@babel/plugin-transform-logical-assignment-operators@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz"
-  integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==
+"@babel/plugin-transform-json-strings@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz"
+  integrity sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-member-expression-literals@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz"
-  integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==
+"@babel/plugin-transform-literals@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz"
+  integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-modules-amd@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz"
-  integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==
+"@babel/plugin-transform-logical-assignment-operators@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz"
+  integrity sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==
   dependencies:
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-modules-commonjs@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz"
-  integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==
+"@babel/plugin-transform-member-expression-literals@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz"
+  integrity sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==
   dependencies:
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-simple-access" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-modules-systemjs@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz"
-  integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==
+"@babel/plugin-transform-modules-amd@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz"
+  integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
   dependencies:
-    "@babel/helper-hoist-variables" "^7.22.5"
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-validator-identifier" "^7.22.20"
+    "@babel/helper-module-transforms" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-modules-umd@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz"
-  integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==
+"@babel/plugin-transform-modules-commonjs@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz"
+  integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
   dependencies:
-    "@babel/helper-module-transforms" "^7.23.3"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-module-transforms" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
-  version "7.22.5"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz"
-  integrity sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==
+"@babel/plugin-transform-modules-systemjs@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz"
+  integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.5"
-    "@babel/helper-plugin-utils" "^7.22.5"
+    "@babel/helper-module-transforms" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-validator-identifier" "^7.27.1"
+    "@babel/traverse" "^7.27.1"
 
-"@babel/plugin-transform-new-target@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz"
-  integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==
+"@babel/plugin-transform-modules-umd@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz"
+  integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-module-transforms" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz"
-  integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==
+"@babel/plugin-transform-named-capturing-groups-regex@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz"
+  integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+    "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-numeric-separator@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz"
-  integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==
+"@babel/plugin-transform-new-target@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz"
+  integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-object-rest-spread@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz"
-  integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==
+"@babel/plugin-transform-nullish-coalescing-operator@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz"
+  integrity sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==
   dependencies:
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
-    "@babel/plugin-transform-parameters" "^7.24.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-object-super@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz"
-  integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==
+"@babel/plugin-transform-numeric-separator@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz"
+  integrity sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-replace-supers" "^7.24.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-optional-catch-binding@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz"
-  integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==
+"@babel/plugin-transform-object-rest-spread@^7.28.0":
+  version "7.28.0"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.28.0.tgz"
+  integrity sha512-9VNGikXxzu5eCiQjdE4IZn8sb9q7Xsk5EXLDBKUYg1e/Tve8/05+KJEtcxGxAgCY5t/BpKQM+JEL/yT4tvgiUA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+    "@babel/helper-compilation-targets" "^7.27.2"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/plugin-transform-destructuring" "^7.28.0"
+    "@babel/plugin-transform-parameters" "^7.27.7"
+    "@babel/traverse" "^7.28.0"
 
-"@babel/plugin-transform-optional-chaining@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz"
-  integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==
+"@babel/plugin-transform-object-super@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz"
+  integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-replace-supers" "^7.27.1"
 
-"@babel/plugin-transform-parameters@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz"
-  integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==
+"@babel/plugin-transform-optional-catch-binding@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz"
+  integrity sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-private-methods@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz"
-  integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==
+"@babel/plugin-transform-optional-chaining@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz"
+  integrity sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==
   dependencies:
-    "@babel/helper-create-class-features-plugin" "^7.24.1"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
 
-"@babel/plugin-transform-private-property-in-object@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz"
-  integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==
+"@babel/plugin-transform-parameters@^7.27.7":
+  version "7.27.7"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz"
+  integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
   dependencies:
-    "@babel/helper-annotate-as-pure" "^7.22.5"
-    "@babel/helper-create-class-features-plugin" "^7.24.1"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-property-literals@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz"
-  integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==
+"@babel/plugin-transform-private-methods@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz"
+  integrity sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-create-class-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-regenerator@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz"
-  integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==
+"@babel/plugin-transform-private-property-in-object@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz"
+  integrity sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    regenerator-transform "^0.15.2"
+    "@babel/helper-annotate-as-pure" "^7.27.1"
+    "@babel/helper-create-class-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-reserved-words@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz"
-  integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==
+"@babel/plugin-transform-property-literals@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz"
+  integrity sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regenerator@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.28.3.tgz"
+  integrity sha512-K3/M/a4+ESb5LEldjQb+XSrpY0nF+ZBFlTCbSnKaYAMfD8v33O6PMs4uYnOk19HlcsI8WMu3McdFPTiQHF/1/A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regexp-modifiers@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz"
+  integrity sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-reserved-words@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz"
+  integrity sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.27.1"
 
 "@babel/plugin-transform-runtime@^7.12.15":
-  version "7.24.3"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.24.3.tgz"
-  integrity sha512-J0BuRPNlNqlMTRJ72eVptpt9VcInbxO6iP3jaxr+1NPhC0UkKL+6oeX6VXMEYdADnuqmMmsBspt4d5w8Y/TCbQ==
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.28.3.tgz"
+  integrity sha512-Y6ab1kGqZ0u42Zv/4a7l0l72n9DKP/MKoKWaUSBylrhNZO2prYuqFOLbn5aW5SIFXwSH93yfjbgllL8lxuGKLg==
   dependencies:
-    "@babel/helper-module-imports" "^7.24.3"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    babel-plugin-polyfill-corejs2 "^0.4.10"
-    babel-plugin-polyfill-corejs3 "^0.10.1"
-    babel-plugin-polyfill-regenerator "^0.6.1"
+    "@babel/helper-module-imports" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    babel-plugin-polyfill-corejs2 "^0.4.14"
+    babel-plugin-polyfill-corejs3 "^0.13.0"
+    babel-plugin-polyfill-regenerator "^0.6.5"
     semver "^6.3.1"
 
-"@babel/plugin-transform-shorthand-properties@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz"
-  integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==
+"@babel/plugin-transform-shorthand-properties@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz"
+  integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-spread@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz"
-  integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==
+"@babel/plugin-transform-spread@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz"
+  integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
 
-"@babel/plugin-transform-sticky-regex@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz"
-  integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==
+"@babel/plugin-transform-sticky-regex@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz"
+  integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-template-literals@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz"
-  integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==
+"@babel/plugin-transform-template-literals@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz"
+  integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-typeof-symbol@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz"
-  integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==
+"@babel/plugin-transform-typeof-symbol@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz"
+  integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-unicode-escapes@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz"
-  integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==
+"@babel/plugin-transform-unicode-escapes@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz"
+  integrity sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==
   dependencies:
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-unicode-property-regex@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz"
-  integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==
+"@babel/plugin-transform-unicode-property-regex@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz"
+  integrity sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-unicode-regex@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz"
-  integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==
+"@babel/plugin-transform-unicode-regex@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz"
+  integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
-"@babel/plugin-transform-unicode-sets-regex@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz"
-  integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==
+"@babel/plugin-transform-unicode-sets-regex@^7.27.1":
+  version "7.27.1"
+  resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz"
+  integrity sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==
   dependencies:
-    "@babel/helper-create-regexp-features-plugin" "^7.22.15"
-    "@babel/helper-plugin-utils" "^7.24.0"
+    "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
 
 "@babel/preset-env@^7.12.16":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.24.4.tgz"
-  integrity sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.28.3.tgz"
+  integrity sha512-ROiDcM+GbYVPYBOeCR6uBXKkQpBExLl8k9HO1ygXEyds39j+vCCsjmj7S8GOniZQlEs81QlkdJZe76IpLSiqpg==
   dependencies:
-    "@babel/compat-data" "^7.24.4"
-    "@babel/helper-compilation-targets" "^7.23.6"
-    "@babel/helper-plugin-utils" "^7.24.0"
-    "@babel/helper-validator-option" "^7.23.5"
-    "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.24.4"
-    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1"
-    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1"
-    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1"
+    "@babel/compat-data" "^7.28.0"
+    "@babel/helper-compilation-targets" "^7.27.2"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/helper-validator-option" "^7.27.1"
+    "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.27.1"
+    "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.27.1"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.27.1"
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.27.1"
+    "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.28.3"
     "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
-    "@babel/plugin-syntax-async-generators" "^7.8.4"
-    "@babel/plugin-syntax-class-properties" "^7.12.13"
-    "@babel/plugin-syntax-class-static-block" "^7.14.5"
-    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
-    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-    "@babel/plugin-syntax-import-assertions" "^7.24.1"
-    "@babel/plugin-syntax-import-attributes" "^7.24.1"
-    "@babel/plugin-syntax-import-meta" "^7.10.4"
-    "@babel/plugin-syntax-json-strings" "^7.8.3"
-    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
-    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
-    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
-    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-    "@babel/plugin-syntax-top-level-await" "^7.14.5"
+    "@babel/plugin-syntax-import-assertions" "^7.27.1"
+    "@babel/plugin-syntax-import-attributes" "^7.27.1"
     "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
-    "@babel/plugin-transform-arrow-functions" "^7.24.1"
-    "@babel/plugin-transform-async-generator-functions" "^7.24.3"
-    "@babel/plugin-transform-async-to-generator" "^7.24.1"
-    "@babel/plugin-transform-block-scoped-functions" "^7.24.1"
-    "@babel/plugin-transform-block-scoping" "^7.24.4"
-    "@babel/plugin-transform-class-properties" "^7.24.1"
-    "@babel/plugin-transform-class-static-block" "^7.24.4"
-    "@babel/plugin-transform-classes" "^7.24.1"
-    "@babel/plugin-transform-computed-properties" "^7.24.1"
-    "@babel/plugin-transform-destructuring" "^7.24.1"
-    "@babel/plugin-transform-dotall-regex" "^7.24.1"
-    "@babel/plugin-transform-duplicate-keys" "^7.24.1"
-    "@babel/plugin-transform-dynamic-import" "^7.24.1"
-    "@babel/plugin-transform-exponentiation-operator" "^7.24.1"
-    "@babel/plugin-transform-export-namespace-from" "^7.24.1"
-    "@babel/plugin-transform-for-of" "^7.24.1"
-    "@babel/plugin-transform-function-name" "^7.24.1"
-    "@babel/plugin-transform-json-strings" "^7.24.1"
-    "@babel/plugin-transform-literals" "^7.24.1"
-    "@babel/plugin-transform-logical-assignment-operators" "^7.24.1"
-    "@babel/plugin-transform-member-expression-literals" "^7.24.1"
-    "@babel/plugin-transform-modules-amd" "^7.24.1"
-    "@babel/plugin-transform-modules-commonjs" "^7.24.1"
-    "@babel/plugin-transform-modules-systemjs" "^7.24.1"
-    "@babel/plugin-transform-modules-umd" "^7.24.1"
-    "@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
-    "@babel/plugin-transform-new-target" "^7.24.1"
-    "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1"
-    "@babel/plugin-transform-numeric-separator" "^7.24.1"
-    "@babel/plugin-transform-object-rest-spread" "^7.24.1"
-    "@babel/plugin-transform-object-super" "^7.24.1"
-    "@babel/plugin-transform-optional-catch-binding" "^7.24.1"
-    "@babel/plugin-transform-optional-chaining" "^7.24.1"
-    "@babel/plugin-transform-parameters" "^7.24.1"
-    "@babel/plugin-transform-private-methods" "^7.24.1"
-    "@babel/plugin-transform-private-property-in-object" "^7.24.1"
-    "@babel/plugin-transform-property-literals" "^7.24.1"
-    "@babel/plugin-transform-regenerator" "^7.24.1"
-    "@babel/plugin-transform-reserved-words" "^7.24.1"
-    "@babel/plugin-transform-shorthand-properties" "^7.24.1"
-    "@babel/plugin-transform-spread" "^7.24.1"
-    "@babel/plugin-transform-sticky-regex" "^7.24.1"
-    "@babel/plugin-transform-template-literals" "^7.24.1"
-    "@babel/plugin-transform-typeof-symbol" "^7.24.1"
-    "@babel/plugin-transform-unicode-escapes" "^7.24.1"
-    "@babel/plugin-transform-unicode-property-regex" "^7.24.1"
-    "@babel/plugin-transform-unicode-regex" "^7.24.1"
-    "@babel/plugin-transform-unicode-sets-regex" "^7.24.1"
+    "@babel/plugin-transform-arrow-functions" "^7.27.1"
+    "@babel/plugin-transform-async-generator-functions" "^7.28.0"
+    "@babel/plugin-transform-async-to-generator" "^7.27.1"
+    "@babel/plugin-transform-block-scoped-functions" "^7.27.1"
+    "@babel/plugin-transform-block-scoping" "^7.28.0"
+    "@babel/plugin-transform-class-properties" "^7.27.1"
+    "@babel/plugin-transform-class-static-block" "^7.28.3"
+    "@babel/plugin-transform-classes" "^7.28.3"
+    "@babel/plugin-transform-computed-properties" "^7.27.1"
+    "@babel/plugin-transform-destructuring" "^7.28.0"
+    "@babel/plugin-transform-dotall-regex" "^7.27.1"
+    "@babel/plugin-transform-duplicate-keys" "^7.27.1"
+    "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.27.1"
+    "@babel/plugin-transform-dynamic-import" "^7.27.1"
+    "@babel/plugin-transform-explicit-resource-management" "^7.28.0"
+    "@babel/plugin-transform-exponentiation-operator" "^7.27.1"
+    "@babel/plugin-transform-export-namespace-from" "^7.27.1"
+    "@babel/plugin-transform-for-of" "^7.27.1"
+    "@babel/plugin-transform-function-name" "^7.27.1"
+    "@babel/plugin-transform-json-strings" "^7.27.1"
+    "@babel/plugin-transform-literals" "^7.27.1"
+    "@babel/plugin-transform-logical-assignment-operators" "^7.27.1"
+    "@babel/plugin-transform-member-expression-literals" "^7.27.1"
+    "@babel/plugin-transform-modules-amd" "^7.27.1"
+    "@babel/plugin-transform-modules-commonjs" "^7.27.1"
+    "@babel/plugin-transform-modules-systemjs" "^7.27.1"
+    "@babel/plugin-transform-modules-umd" "^7.27.1"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.27.1"
+    "@babel/plugin-transform-new-target" "^7.27.1"
+    "@babel/plugin-transform-nullish-coalescing-operator" "^7.27.1"
+    "@babel/plugin-transform-numeric-separator" "^7.27.1"
+    "@babel/plugin-transform-object-rest-spread" "^7.28.0"
+    "@babel/plugin-transform-object-super" "^7.27.1"
+    "@babel/plugin-transform-optional-catch-binding" "^7.27.1"
+    "@babel/plugin-transform-optional-chaining" "^7.27.1"
+    "@babel/plugin-transform-parameters" "^7.27.7"
+    "@babel/plugin-transform-private-methods" "^7.27.1"
+    "@babel/plugin-transform-private-property-in-object" "^7.27.1"
+    "@babel/plugin-transform-property-literals" "^7.27.1"
+    "@babel/plugin-transform-regenerator" "^7.28.3"
+    "@babel/plugin-transform-regexp-modifiers" "^7.27.1"
+    "@babel/plugin-transform-reserved-words" "^7.27.1"
+    "@babel/plugin-transform-shorthand-properties" "^7.27.1"
+    "@babel/plugin-transform-spread" "^7.27.1"
+    "@babel/plugin-transform-sticky-regex" "^7.27.1"
+    "@babel/plugin-transform-template-literals" "^7.27.1"
+    "@babel/plugin-transform-typeof-symbol" "^7.27.1"
+    "@babel/plugin-transform-unicode-escapes" "^7.27.1"
+    "@babel/plugin-transform-unicode-property-regex" "^7.27.1"
+    "@babel/plugin-transform-unicode-regex" "^7.27.1"
+    "@babel/plugin-transform-unicode-sets-regex" "^7.27.1"
     "@babel/preset-modules" "0.1.6-no-external-plugins"
-    babel-plugin-polyfill-corejs2 "^0.4.10"
-    babel-plugin-polyfill-corejs3 "^0.10.4"
-    babel-plugin-polyfill-regenerator "^0.6.1"
-    core-js-compat "^3.31.0"
+    babel-plugin-polyfill-corejs2 "^0.4.14"
+    babel-plugin-polyfill-corejs3 "^0.13.0"
+    babel-plugin-polyfill-regenerator "^0.6.5"
+    core-js-compat "^3.43.0"
     semver "^6.3.1"
 
 "@babel/preset-modules@0.1.6-no-external-plugins":
   version "0.1.6-no-external-plugins"
-  resolved "https://registry.npmmirror.com/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz"
+  resolved "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz"
   integrity sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==
   dependencies:
     "@babel/helper-plugin-utils" "^7.0.0"
     "@babel/types" "^7.4.4"
     esutils "^2.0.2"
 
-"@babel/regjsgen@^0.8.0":
-  version "0.8.0"
-  resolved "https://registry.npmmirror.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz"
-  integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
+"@babel/runtime@^7.10.5", "@babel/runtime@^7.12.13", "@babel/runtime@^7.7.2":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.3.tgz"
+  integrity sha512-9uIQ10o0WGdpP6GDhXcdOJPJuDgFtIDtN/9+ArJQ2NAfAmiuhTQdzkaTGR33v43GYS2UrSA0eX2pPPHoFVvpxA==
 
-"@babel/runtime@^7.10.5", "@babel/runtime@^7.12.13", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
-  version "7.24.4"
-  resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.24.4.tgz"
-  integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==
+"@babel/template@^7.24.0", "@babel/template@^7.27.1", "@babel/template@^7.27.2":
+  version "7.27.2"
+  resolved "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz"
+  integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
   dependencies:
-    regenerator-runtime "^0.14.0"
+    "@babel/code-frame" "^7.27.1"
+    "@babel/parser" "^7.27.2"
+    "@babel/types" "^7.27.1"
 
-"@babel/template@^7.22.15", "@babel/template@^7.23.9", "@babel/template@^7.24.0":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/template/-/template-7.24.0.tgz"
-  integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==
+"@babel/traverse@^7.24.1", "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.0", "@babel/traverse@^7.28.3":
+  version "7.28.3"
+  resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz"
+  integrity sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==
   dependencies:
-    "@babel/code-frame" "^7.23.5"
-    "@babel/parser" "^7.24.0"
-    "@babel/types" "^7.24.0"
-
-"@babel/traverse@^7.23.9", "@babel/traverse@^7.24.1":
-  version "7.24.1"
-  resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.24.1.tgz"
-  integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==
-  dependencies:
-    "@babel/code-frame" "^7.24.1"
-    "@babel/generator" "^7.24.1"
-    "@babel/helper-environment-visitor" "^7.22.20"
-    "@babel/helper-function-name" "^7.23.0"
-    "@babel/helper-hoist-variables" "^7.22.5"
-    "@babel/helper-split-export-declaration" "^7.22.6"
-    "@babel/parser" "^7.24.1"
-    "@babel/types" "^7.24.0"
+    "@babel/code-frame" "^7.27.1"
+    "@babel/generator" "^7.28.3"
+    "@babel/helper-globals" "^7.28.0"
+    "@babel/parser" "^7.28.3"
+    "@babel/template" "^7.27.2"
+    "@babel/types" "^7.28.2"
     debug "^4.3.1"
-    globals "^11.1.0"
 
-"@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.9", "@babel/types@^7.24.0", "@babel/types@^7.4.4":
-  version "7.24.0"
-  resolved "https://registry.npmmirror.com/@babel/types/-/types-7.24.0.tgz"
-  integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==
+"@babel/types@^7.24.0", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.2", "@babel/types@^7.4.4":
+  version "7.28.2"
+  resolved "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz"
+  integrity sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==
   dependencies:
-    "@babel/helper-string-parser" "^7.23.4"
-    "@babel/helper-validator-identifier" "^7.22.20"
-    to-fast-properties "^2.0.0"
+    "@babel/helper-string-parser" "^7.27.1"
+    "@babel/helper-validator-identifier" "^7.27.1"
 
 "@cortex-js/compute-engine@0.24.1":
   version "0.24.1"
@@ -1085,24 +941,18 @@
   resolved "https://registry.npmmirror.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz"
   integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
 
-"@jridgewell/gen-mapping@^0.3.5":
-  version "0.3.5"
-  resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz"
-  integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
+"@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5":
+  version "0.3.13"
+  resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz"
+  integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
   dependencies:
-    "@jridgewell/set-array" "^1.2.1"
-    "@jridgewell/sourcemap-codec" "^1.4.10"
+    "@jridgewell/sourcemap-codec" "^1.5.0"
     "@jridgewell/trace-mapping" "^0.3.24"
 
 "@jridgewell/resolve-uri@^3.1.0":
   version "3.1.2"
   resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz"
   integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
-
-"@jridgewell/set-array@^1.2.1":
-  version "1.2.1"
-  resolved "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz"
-  integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
 
 "@jridgewell/source-map@^0.3.3":
   version "0.3.6"
@@ -1112,15 +962,15 @@
     "@jridgewell/gen-mapping" "^0.3.5"
     "@jridgewell/trace-mapping" "^0.3.25"
 
-"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15":
-  version "1.4.15"
-  resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz"
-  integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
+"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0", "@jridgewell/sourcemap-codec@^1.5.5":
+  version "1.5.5"
+  resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz"
+  integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
 
-"@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
-  version "0.3.25"
-  resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz"
-  integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25", "@jridgewell/trace-mapping@^0.3.28":
+  version "0.3.30"
+  resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz"
+  integrity sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==
   dependencies:
     "@jridgewell/resolve-uri" "^3.1.0"
     "@jridgewell/sourcemap-codec" "^1.4.14"
@@ -1257,7 +1107,7 @@
   dependencies:
     "@types/node" "*"
 
-"@types/eslint-scope@^3.7.3":
+"@types/eslint-scope@^3.7.7":
   version "3.7.7"
   resolved "https://registry.npmmirror.com/@types/eslint-scope/-/eslint-scope-3.7.7.tgz"
   integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==
@@ -1273,10 +1123,10 @@
     "@types/estree" "*"
     "@types/json-schema" "*"
 
-"@types/estree@*", "@types/estree@^1.0.5":
-  version "1.0.5"
-  resolved "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz"
-  integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==
+"@types/estree@*", "@types/estree@^1.0.8":
+  version "1.0.8"
+  resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz"
+  integrity sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==
 
 "@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33":
   version "4.19.0"
@@ -1315,7 +1165,7 @@
   dependencies:
     "@types/node" "*"
 
-"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
+"@types/json-schema@*", "@types/json-schema@^7.0.15", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
   version "7.0.15"
   resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz"
   integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
@@ -1414,45 +1264,43 @@
 
 "@vue/babel-helper-vue-jsx-merge-props@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz"
   integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==
 
-"@vue/babel-helper-vue-transform-on@1.2.2":
-  version "1.2.2"
-  resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.2.2.tgz"
-  integrity sha512-nOttamHUR3YzdEqdM/XXDyCSdxMA9VizUKoroLX6yTyRtggzQMHXcmwh8a7ZErcJttIBIc9s68a1B8GZ+Dmvsw==
+"@vue/babel-helper-vue-transform-on@1.5.0":
+  version "1.5.0"
+  resolved "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.5.0.tgz"
+  integrity sha512-0dAYkerNhhHutHZ34JtTl2czVQHUNWv6xEbkdF5W+Yrv5pCWsqjeORdOgbtW2I9gWlt+wBmVn+ttqN9ZxR5tzA==
 
 "@vue/babel-plugin-jsx@^1.0.3":
-  version "1.2.2"
-  resolved "https://registry.npmmirror.com/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.2.2.tgz"
-  integrity sha512-nYTkZUVTu4nhP199UoORePsql0l+wj7v/oyQjtThUVhJl1U+6qHuoVhIvR3bf7eVKjbCK+Cs2AWd7mi9Mpz9rA==
+  version "1.5.0"
+  resolved "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.5.0.tgz"
+  integrity sha512-mneBhw1oOqCd2247O0Yw/mRwC9jIGACAJUlawkmMBiNmL4dGA2eMzuNZVNqOUfYTa6vqmND4CtOPzmEEEqLKFw==
   dependencies:
-    "@babel/helper-module-imports" "~7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/plugin-syntax-jsx" "^7.23.3"
-    "@babel/template" "^7.23.9"
-    "@babel/traverse" "^7.23.9"
-    "@babel/types" "^7.23.9"
-    "@vue/babel-helper-vue-transform-on" "1.2.2"
-    "@vue/babel-plugin-resolve-type" "1.2.2"
-    camelcase "^6.3.0"
-    html-tags "^3.3.1"
-    svg-tags "^1.0.0"
+    "@babel/helper-module-imports" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/plugin-syntax-jsx" "^7.27.1"
+    "@babel/template" "^7.27.2"
+    "@babel/traverse" "^7.28.0"
+    "@babel/types" "^7.28.2"
+    "@vue/babel-helper-vue-transform-on" "1.5.0"
+    "@vue/babel-plugin-resolve-type" "1.5.0"
+    "@vue/shared" "^3.5.18"
 
-"@vue/babel-plugin-resolve-type@1.2.2":
-  version "1.2.2"
-  resolved "https://registry.npmmirror.com/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.2.2.tgz"
-  integrity sha512-EntyroPwNg5IPVdUJupqs0CFzuf6lUrVvCspmv2J1FITLeGnUCuoGNNk78dgCusxEiYj6RMkTJflGSxk5aIC4A==
+"@vue/babel-plugin-resolve-type@1.5.0":
+  version "1.5.0"
+  resolved "https://registry.npmjs.org/@vue/babel-plugin-resolve-type/-/babel-plugin-resolve-type-1.5.0.tgz"
+  integrity sha512-Wm/60o+53JwJODm4Knz47dxJnLDJ9FnKnGZJbUUf8nQRAtt6P+undLUAVU3Ha33LxOJe6IPoifRQ6F/0RrU31w==
   dependencies:
-    "@babel/code-frame" "^7.23.5"
-    "@babel/helper-module-imports" "~7.22.15"
-    "@babel/helper-plugin-utils" "^7.22.5"
-    "@babel/parser" "^7.23.9"
-    "@vue/compiler-sfc" "^3.4.15"
+    "@babel/code-frame" "^7.27.1"
+    "@babel/helper-module-imports" "^7.27.1"
+    "@babel/helper-plugin-utils" "^7.27.1"
+    "@babel/parser" "^7.28.0"
+    "@vue/compiler-sfc" "^3.5.18"
 
 "@vue/babel-plugin-transform-vue-jsx@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz"
   integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==
   dependencies:
     "@babel/helper-module-imports" "^7.0.0"
@@ -1462,10 +1310,10 @@
     lodash.kebabcase "^4.1.1"
     svg-tags "^1.0.0"
 
-"@vue/babel-preset-app@^5.0.8":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-5.0.8.tgz"
-  integrity sha512-yl+5qhpjd8e1G4cMXfORkkBlvtPCIgmRf3IYCWYDKIQ7m+PPa5iTm4feiNmCMD6yGqQWMhhK/7M3oWGL9boKwg==
+"@vue/babel-preset-app@^5.0.9":
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-5.0.9.tgz"
+  integrity sha512-0rKOF4s/AhaRMJLybxOCgXfwtYhO3pwDSL/q/W8wRs1LzmHAc77FyTXWlun6VyKiSKwSdtH7CvOiWqq+DfofdA==
   dependencies:
     "@babel/core" "^7.12.16"
     "@babel/helper-compilation-targets" "^7.12.16"
@@ -1486,7 +1334,7 @@
 
 "@vue/babel-preset-jsx@^1.1.2":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz"
   integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==
   dependencies:
     "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0"
@@ -1500,35 +1348,35 @@
 
 "@vue/babel-sugar-composition-api-inject-h@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz"
   integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==
   dependencies:
     "@babel/plugin-syntax-jsx" "^7.2.0"
 
 "@vue/babel-sugar-composition-api-render-instance@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz"
   integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==
   dependencies:
     "@babel/plugin-syntax-jsx" "^7.2.0"
 
 "@vue/babel-sugar-functional-vue@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz"
   integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==
   dependencies:
     "@babel/plugin-syntax-jsx" "^7.2.0"
 
 "@vue/babel-sugar-inject-h@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz"
   integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==
   dependencies:
     "@babel/plugin-syntax-jsx" "^7.2.0"
 
 "@vue/babel-sugar-v-model@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz"
   integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==
   dependencies:
     "@babel/plugin-syntax-jsx" "^7.2.0"
@@ -1540,66 +1388,66 @@
 
 "@vue/babel-sugar-v-on@^1.4.0":
   version "1.4.0"
-  resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz"
+  resolved "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz"
   integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==
   dependencies:
     "@babel/plugin-syntax-jsx" "^7.2.0"
     "@vue/babel-plugin-transform-vue-jsx" "^1.4.0"
     camelcase "^5.0.0"
 
-"@vue/cli-overlay@^5.0.8":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-5.0.8.tgz"
-  integrity sha512-KmtievE/B4kcXp6SuM2gzsnSd8WebkQpg3XaB6GmFh1BJGRqa1UiW9up7L/Q67uOdTigHxr5Ar2lZms4RcDjwQ==
+"@vue/cli-overlay@^5.0.9":
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-5.0.9.tgz"
+  integrity sha512-aBdZWrYKxLuFz1FDsk/muFD7GycrsW73Gi11yRc7R2W7Bm8mDRc9HKAI790gdg4NV+chkDFmfkegjg5iMDEpAA==
 
 "@vue/cli-plugin-babel@~5.0.0":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.8.tgz"
-  integrity sha512-a4qqkml3FAJ3auqB2kN2EMPocb/iu0ykeELwed+9B1c1nQ1HKgslKMHMPavYx3Cd/QAx2mBD4hwKBqZXEI/CsQ==
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-5.0.9.tgz"
+  integrity sha512-oDZt1Kfe4KGNtig3/3zFo2pIeDJij2uS0M6S+tAqQno4Zpla2D8Hk/AR5PrstUd/HmhHZYJoGyF78MOfj3SbWg==
   dependencies:
     "@babel/core" "^7.12.16"
-    "@vue/babel-preset-app" "^5.0.8"
-    "@vue/cli-shared-utils" "^5.0.8"
+    "@vue/babel-preset-app" "^5.0.9"
+    "@vue/cli-shared-utils" "^5.0.9"
     babel-loader "^8.2.2"
     thread-loader "^3.0.0"
     webpack "^5.54.0"
 
 "@vue/cli-plugin-eslint@~5.0.0":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.8.tgz"
-  integrity sha512-d11+I5ONYaAPW1KyZj9GlrV/E6HZePq5L5eAF5GgoVdu6sxr6bDgEoxzhcS1Pk2eh8rn1MxG/FyyR+eCBj/CNg==
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-5.0.9.tgz"
+  integrity sha512-OfAa85qhP0dKSprI8+9qjbXW8BzOlOvEtXwdrTrAKlD6aN8oa/u6k4vbfJGdYbpsbpkj8FXYdCRkTgNG8KZbxg==
   dependencies:
-    "@vue/cli-shared-utils" "^5.0.8"
+    "@vue/cli-shared-utils" "^5.0.9"
     eslint-webpack-plugin "^3.1.0"
     globby "^11.0.2"
     webpack "^5.54.0"
     yorkie "^2.0.0"
 
-"@vue/cli-plugin-router@^5.0.8":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/cli-plugin-router/-/cli-plugin-router-5.0.8.tgz"
-  integrity sha512-Gmv4dsGdAsWPqVijz3Ux2OS2HkMrWi1ENj2cYL75nUeL+Xj5HEstSqdtfZ0b1q9NCce+BFB6QnHfTBXc/fCvMg==
+"@vue/cli-plugin-router@^5.0.9":
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-5.0.9.tgz"
+  integrity sha512-kopbO/8kIl5CAffwgptXEwV509i+M0FfwW4sSkgQ2RzpxOYBjQZvp+096mjZfFcWKSmryNP/ri/Mnu78vmhlhw==
   dependencies:
-    "@vue/cli-shared-utils" "^5.0.8"
+    "@vue/cli-shared-utils" "^5.0.9"
 
-"@vue/cli-plugin-vuex@^5.0.8":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.8.tgz"
-  integrity sha512-HSYWPqrunRE5ZZs8kVwiY6oWcn95qf/OQabwLfprhdpFWAGtLStShjsGED2aDpSSeGAskQETrtR/5h7VqgIlBA==
+"@vue/cli-plugin-vuex@^5.0.9":
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-5.0.9.tgz"
+  integrity sha512-AQhgGNFVd4Pu2crvS0a+hRckgrJv07gzOASdbLd3I72wkT43dd01MLRp8IBRRsu92t3MXenW86AZUCbQBz3//A==
 
-"@vue/cli-service@^3.0.0 || ^4.0.0 || ^5.0.0-0", "@vue/cli-service@~5.0.0":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-5.0.8.tgz"
-  integrity sha512-nV7tYQLe7YsTtzFrfOMIHc5N2hp5lHG2rpYr0aNja9rNljdgcPZLyQRb2YRivTHqTv7lI962UXFURcpStHgyFw==
+"@vue/cli-service@^3.0.0 || ^4.0.0 || ^5.0.0-0", "@vue/cli-service@^5.0.9":
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/cli-service/-/cli-service-5.0.9.tgz"
+  integrity sha512-yTX7GVyM19tEbd+y5/gA6MkVKA6K61nVYHYAivD61Hx6odVFmQsaC3/R3cWAHM1P5oVKCevBbumPljbT+tFG2w==
   dependencies:
     "@babel/helper-compilation-targets" "^7.12.16"
     "@soda/friendly-errors-webpack-plugin" "^1.8.0"
     "@soda/get-current-script" "^1.0.2"
     "@types/minimist" "^1.2.0"
-    "@vue/cli-overlay" "^5.0.8"
-    "@vue/cli-plugin-router" "^5.0.8"
-    "@vue/cli-plugin-vuex" "^5.0.8"
-    "@vue/cli-shared-utils" "^5.0.8"
+    "@vue/cli-overlay" "^5.0.9"
+    "@vue/cli-plugin-router" "^5.0.9"
+    "@vue/cli-plugin-vuex" "^5.0.9"
+    "@vue/cli-shared-utils" "^5.0.9"
     "@vue/component-compiler-utils" "^3.3.0"
     "@vue/vue-loader-v15" "npm:vue-loader@^15.9.7"
     "@vue/web-component-wrapper" "^1.3.0"
@@ -1648,10 +1496,10 @@
     webpack-virtual-modules "^0.4.2"
     whatwg-fetch "^3.6.2"
 
-"@vue/cli-shared-utils@^5.0.8":
-  version "5.0.8"
-  resolved "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-5.0.8.tgz"
-  integrity sha512-uK2YB7bBVuQhjOJF+O52P9yFMXeJVj7ozqJkwYE9PlMHL1LMHjtCYm4cSdOebuPzyP+/9p0BimM/OqxsevIopQ==
+"@vue/cli-shared-utils@^5.0.9":
+  version "5.0.9"
+  resolved "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.9.tgz"
+  integrity sha512-lf4KykiG8j9KwvNVi7fKtASmHuLsxCcCsflVU2b2CHMRuR4weOIV3zuuCrjWKjk0APn/MHJhgCjJGzHMbTtd5w==
   dependencies:
     "@achrinza/node-ipc" "^9.2.5"
     chalk "^4.1.2"
@@ -1666,39 +1514,39 @@
     semver "^7.3.4"
     strip-ansi "^6.0.0"
 
-"@vue/compiler-core@3.4.23":
-  version "3.4.23"
-  resolved "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.23.tgz"
-  integrity sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==
+"@vue/compiler-core@3.5.20":
+  version "3.5.20"
+  resolved "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.20.tgz"
+  integrity sha512-8TWXUyiqFd3GmP4JTX9hbiTFRwYHgVL/vr3cqhr4YQ258+9FADwvj7golk2sWNGHR67QgmCZ8gz80nQcMokhwg==
   dependencies:
-    "@babel/parser" "^7.24.1"
-    "@vue/shared" "3.4.23"
+    "@babel/parser" "^7.28.3"
+    "@vue/shared" "3.5.20"
     entities "^4.5.0"
     estree-walker "^2.0.2"
-    source-map-js "^1.2.0"
+    source-map-js "^1.2.1"
 
-"@vue/compiler-dom@3.4.23":
-  version "3.4.23"
-  resolved "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.23.tgz"
-  integrity sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==
+"@vue/compiler-dom@3.5.20":
+  version "3.5.20"
+  resolved "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.20.tgz"
+  integrity sha512-whB44M59XKjqUEYOMPYU0ijUV0G+4fdrHVKDe32abNdX/kJe1NUEMqsi4cwzXa9kyM9w5S8WqFsrfo1ogtBZGQ==
   dependencies:
-    "@vue/compiler-core" "3.4.23"
-    "@vue/shared" "3.4.23"
+    "@vue/compiler-core" "3.5.20"
+    "@vue/shared" "3.5.20"
 
-"@vue/compiler-sfc@^3.4.15":
-  version "3.4.23"
-  resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.23.tgz"
-  integrity sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==
+"@vue/compiler-sfc@^3.5.18":
+  version "3.5.20"
+  resolved "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.20.tgz"
+  integrity sha512-SFcxapQc0/feWiSBfkGsa1v4DOrnMAQSYuvDMpEaxbpH5dKbnEM5KobSNSgU+1MbHCl+9ftm7oQWxvwDB6iBfw==
   dependencies:
-    "@babel/parser" "^7.24.1"
-    "@vue/compiler-core" "3.4.23"
-    "@vue/compiler-dom" "3.4.23"
-    "@vue/compiler-ssr" "3.4.23"
-    "@vue/shared" "3.4.23"
+    "@babel/parser" "^7.28.3"
+    "@vue/compiler-core" "3.5.20"
+    "@vue/compiler-dom" "3.5.20"
+    "@vue/compiler-ssr" "3.5.20"
+    "@vue/shared" "3.5.20"
     estree-walker "^2.0.2"
-    magic-string "^0.30.8"
-    postcss "^8.4.38"
-    source-map-js "^1.2.0"
+    magic-string "^0.30.17"
+    postcss "^8.5.6"
+    source-map-js "^1.2.1"
 
 "@vue/compiler-sfc@2.7.16":
   version "2.7.16"
@@ -1711,13 +1559,13 @@
   optionalDependencies:
     prettier "^1.18.2 || ^2.0.0"
 
-"@vue/compiler-ssr@3.4.23":
-  version "3.4.23"
-  resolved "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.23.tgz"
-  integrity sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==
+"@vue/compiler-ssr@3.5.20":
+  version "3.5.20"
+  resolved "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.20.tgz"
+  integrity sha512-RSl5XAMc5YFUXpDQi+UQDdVjH9FnEpLDHIALg5J0ITHxkEzJ8uQLlo7CIbjPYqmZtt6w0TsIPbo1izYXwDG7JA==
   dependencies:
-    "@vue/compiler-dom" "3.4.23"
-    "@vue/shared" "3.4.23"
+    "@vue/compiler-dom" "3.5.20"
+    "@vue/shared" "3.5.20"
 
 "@vue/component-compiler-utils@^3.1.0", "@vue/component-compiler-utils@^3.3.0":
   version "3.3.0"
@@ -1735,10 +1583,10 @@
   optionalDependencies:
     prettier "^1.18.2 || ^2.0.0"
 
-"@vue/shared@3.4.23":
-  version "3.4.23"
-  resolved "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.23.tgz"
-  integrity sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg==
+"@vue/shared@^3.5.18", "@vue/shared@3.5.20":
+  version "3.5.20"
+  resolved "https://registry.npmjs.org/@vue/shared/-/shared-3.5.20.tgz"
+  integrity sha512-SoRGP596KU/ig6TfgkCMbXkr4YJ91n/QSdMuqeP5r3hVIYA3CPHUBCc7Skak0EAKV+5lL4KyIh61VA/pK1CIAA==
 
 "@vue/vue-loader-v15@npm:vue-loader@^15.9.7":
   version "15.11.1"
@@ -1756,135 +1604,135 @@
   resolved "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz"
   integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==
 
-"@webassemblyjs/ast@^1.12.1", "@webassemblyjs/ast@1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.12.1.tgz"
-  integrity sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==
+"@webassemblyjs/ast@^1.14.1", "@webassemblyjs/ast@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz"
+  integrity sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==
   dependencies:
-    "@webassemblyjs/helper-numbers" "1.11.6"
-    "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+    "@webassemblyjs/helper-numbers" "1.13.2"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
 
-"@webassemblyjs/floating-point-hex-parser@1.11.6":
-  version "1.11.6"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz"
-  integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==
+"@webassemblyjs/floating-point-hex-parser@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz"
+  integrity sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==
 
-"@webassemblyjs/helper-api-error@1.11.6":
-  version "1.11.6"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz"
-  integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==
+"@webassemblyjs/helper-api-error@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz"
+  integrity sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==
 
-"@webassemblyjs/helper-buffer@1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz"
-  integrity sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==
+"@webassemblyjs/helper-buffer@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz"
+  integrity sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==
 
-"@webassemblyjs/helper-numbers@1.11.6":
-  version "1.11.6"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz"
-  integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==
+"@webassemblyjs/helper-numbers@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz"
+  integrity sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==
   dependencies:
-    "@webassemblyjs/floating-point-hex-parser" "1.11.6"
-    "@webassemblyjs/helper-api-error" "1.11.6"
+    "@webassemblyjs/floating-point-hex-parser" "1.13.2"
+    "@webassemblyjs/helper-api-error" "1.13.2"
     "@xtuc/long" "4.2.2"
 
-"@webassemblyjs/helper-wasm-bytecode@1.11.6":
-  version "1.11.6"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz"
-  integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==
+"@webassemblyjs/helper-wasm-bytecode@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz"
+  integrity sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==
 
-"@webassemblyjs/helper-wasm-section@1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz"
-  integrity sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==
+"@webassemblyjs/helper-wasm-section@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz"
+  integrity sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==
   dependencies:
-    "@webassemblyjs/ast" "1.12.1"
-    "@webassemblyjs/helper-buffer" "1.12.1"
-    "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
-    "@webassemblyjs/wasm-gen" "1.12.1"
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-buffer" "1.14.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/wasm-gen" "1.14.1"
 
-"@webassemblyjs/ieee754@1.11.6":
-  version "1.11.6"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz"
-  integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==
+"@webassemblyjs/ieee754@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz"
+  integrity sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==
   dependencies:
     "@xtuc/ieee754" "^1.2.0"
 
-"@webassemblyjs/leb128@1.11.6":
-  version "1.11.6"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz"
-  integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==
+"@webassemblyjs/leb128@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz"
+  integrity sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==
   dependencies:
     "@xtuc/long" "4.2.2"
 
-"@webassemblyjs/utf8@1.11.6":
-  version "1.11.6"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz"
-  integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==
+"@webassemblyjs/utf8@1.13.2":
+  version "1.13.2"
+  resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz"
+  integrity sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==
 
-"@webassemblyjs/wasm-edit@^1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz"
-  integrity sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==
+"@webassemblyjs/wasm-edit@^1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz"
+  integrity sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==
   dependencies:
-    "@webassemblyjs/ast" "1.12.1"
-    "@webassemblyjs/helper-buffer" "1.12.1"
-    "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
-    "@webassemblyjs/helper-wasm-section" "1.12.1"
-    "@webassemblyjs/wasm-gen" "1.12.1"
-    "@webassemblyjs/wasm-opt" "1.12.1"
-    "@webassemblyjs/wasm-parser" "1.12.1"
-    "@webassemblyjs/wast-printer" "1.12.1"
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-buffer" "1.14.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/helper-wasm-section" "1.14.1"
+    "@webassemblyjs/wasm-gen" "1.14.1"
+    "@webassemblyjs/wasm-opt" "1.14.1"
+    "@webassemblyjs/wasm-parser" "1.14.1"
+    "@webassemblyjs/wast-printer" "1.14.1"
 
-"@webassemblyjs/wasm-gen@1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz"
-  integrity sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==
+"@webassemblyjs/wasm-gen@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz"
+  integrity sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==
   dependencies:
-    "@webassemblyjs/ast" "1.12.1"
-    "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
-    "@webassemblyjs/ieee754" "1.11.6"
-    "@webassemblyjs/leb128" "1.11.6"
-    "@webassemblyjs/utf8" "1.11.6"
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/ieee754" "1.13.2"
+    "@webassemblyjs/leb128" "1.13.2"
+    "@webassemblyjs/utf8" "1.13.2"
 
-"@webassemblyjs/wasm-opt@1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz"
-  integrity sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==
+"@webassemblyjs/wasm-opt@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz"
+  integrity sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==
   dependencies:
-    "@webassemblyjs/ast" "1.12.1"
-    "@webassemblyjs/helper-buffer" "1.12.1"
-    "@webassemblyjs/wasm-gen" "1.12.1"
-    "@webassemblyjs/wasm-parser" "1.12.1"
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-buffer" "1.14.1"
+    "@webassemblyjs/wasm-gen" "1.14.1"
+    "@webassemblyjs/wasm-parser" "1.14.1"
 
-"@webassemblyjs/wasm-parser@^1.12.1", "@webassemblyjs/wasm-parser@1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz"
-  integrity sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==
+"@webassemblyjs/wasm-parser@^1.14.1", "@webassemblyjs/wasm-parser@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz"
+  integrity sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==
   dependencies:
-    "@webassemblyjs/ast" "1.12.1"
-    "@webassemblyjs/helper-api-error" "1.11.6"
-    "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
-    "@webassemblyjs/ieee754" "1.11.6"
-    "@webassemblyjs/leb128" "1.11.6"
-    "@webassemblyjs/utf8" "1.11.6"
+    "@webassemblyjs/ast" "1.14.1"
+    "@webassemblyjs/helper-api-error" "1.13.2"
+    "@webassemblyjs/helper-wasm-bytecode" "1.13.2"
+    "@webassemblyjs/ieee754" "1.13.2"
+    "@webassemblyjs/leb128" "1.13.2"
+    "@webassemblyjs/utf8" "1.13.2"
 
-"@webassemblyjs/wast-printer@1.12.1":
-  version "1.12.1"
-  resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz"
-  integrity sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==
+"@webassemblyjs/wast-printer@1.14.1":
+  version "1.14.1"
+  resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz"
+  integrity sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==
   dependencies:
-    "@webassemblyjs/ast" "1.12.1"
+    "@webassemblyjs/ast" "1.14.1"
     "@xtuc/long" "4.2.2"
 
 "@xtuc/ieee754@^1.2.0":
   version "1.2.0"
-  resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz"
+  resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz"
   integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
 
 "@xtuc/long@4.2.2":
   version "4.2.2"
-  resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz"
+  resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz"
   integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
 
 abab@^2.0.5, abab@^2.0.6:
@@ -1897,7 +1745,7 @@
   resolved "https://registry.npmmirror.com/abbrev/-/abbrev-1.1.1.tgz"
   integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
 
-accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8:
+accepts@~1.3.4, accepts@~1.3.8:
   version "1.3.8"
   resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz"
   integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
@@ -1913,10 +1761,10 @@
     acorn "^7.1.1"
     acorn-walk "^7.1.1"
 
-acorn-import-attributes@^1.9.5:
-  version "1.9.5"
-  resolved "https://registry.npmmirror.com/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz"
-  integrity sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==
+acorn-import-phases@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz"
+  integrity sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==
 
 acorn-jsx@^5.3.1, acorn-jsx@^5.3.2:
   version "5.3.2"
@@ -1933,10 +1781,10 @@
   resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-8.3.2.tgz"
   integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==
 
-"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.0.4, acorn@^8.0.5, acorn@^8.5.0, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0:
-  version "8.11.3"
-  resolved "https://registry.npmmirror.com/acorn/-/acorn-8.11.3.tgz"
-  integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==
+"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.0.4, acorn@^8.0.5, acorn@^8.14.0, acorn@^8.15.0, acorn@^8.5.0, acorn@^8.9.0:
+  version "8.15.0"
+  resolved "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz"
+  integrity sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==
 
 acorn@^7.1.1:
   version "7.4.1"
@@ -2228,12 +2076,12 @@
     possible-typed-array-names "^1.0.0"
 
 axios@^1.6.8:
-  version "1.6.8"
-  resolved "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz"
-  integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==
+  version "1.11.0"
+  resolved "https://registry.npmjs.org/axios/-/axios-1.11.0.tgz"
+  integrity sha512-1Lx3WLFQWm3ooKDYZD1eXmoGO9fxYQjrycfHFC8P0sCfQVXyROp0p9PFWBehewBOdCwHc+f/b8I0fMto5eSfwA==
   dependencies:
     follow-redirects "^1.15.6"
-    form-data "^4.0.0"
+    form-data "^4.0.4"
     proxy-from-env "^1.1.0"
 
 babel-helper-vue-jsx-merge-props@^2.0.0:
@@ -2253,34 +2101,34 @@
 
 babel-plugin-dynamic-import-node@^2.3.3:
   version "2.3.3"
-  resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz"
+  resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz"
   integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
   dependencies:
     object.assign "^4.1.0"
 
-babel-plugin-polyfill-corejs2@^0.4.10:
-  version "0.4.10"
-  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz"
-  integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==
+babel-plugin-polyfill-corejs2@^0.4.14:
+  version "0.4.14"
+  resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz"
+  integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
   dependencies:
-    "@babel/compat-data" "^7.22.6"
-    "@babel/helper-define-polyfill-provider" "^0.6.1"
+    "@babel/compat-data" "^7.27.7"
+    "@babel/helper-define-polyfill-provider" "^0.6.5"
     semver "^6.3.1"
 
-babel-plugin-polyfill-corejs3@^0.10.1, babel-plugin-polyfill-corejs3@^0.10.4:
-  version "0.10.4"
-  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz"
-  integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==
+babel-plugin-polyfill-corejs3@^0.13.0:
+  version "0.13.0"
+  resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.13.0.tgz"
+  integrity sha512-U+GNwMdSFgzVmfhNm8GJUX88AadB3uo9KpJqS3FaqNIPKgySuvMb+bHPsOmmuWyIcuqZj/pzt1RUIUZns4y2+A==
   dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.6.1"
-    core-js-compat "^3.36.1"
+    "@babel/helper-define-polyfill-provider" "^0.6.5"
+    core-js-compat "^3.43.0"
 
-babel-plugin-polyfill-regenerator@^0.6.1:
-  version "0.6.1"
-  resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz"
-  integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==
+babel-plugin-polyfill-regenerator@^0.6.5:
+  version "0.6.5"
+  resolved "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz"
+  integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
   dependencies:
-    "@babel/helper-define-polyfill-provider" "^0.6.1"
+    "@babel/helper-define-polyfill-provider" "^0.6.5"
 
 babel-runtime@6.x:
   version "6.26.0"
@@ -2342,10 +2190,10 @@
   resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz"
   integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
 
-body-parser@1.20.2:
-  version "1.20.2"
-  resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.2.tgz"
-  integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==
+body-parser@1.20.3:
+  version "1.20.3"
+  resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz"
+  integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
   dependencies:
     bytes "3.1.2"
     content-type "~1.0.5"
@@ -2355,7 +2203,7 @@
     http-errors "2.0.0"
     iconv-lite "0.4.24"
     on-finished "2.4.1"
-    qs "6.11.0"
+    qs "6.13.0"
     raw-body "2.5.2"
     type-is "~1.6.18"
     unpipe "1.0.0"
@@ -2374,9 +2222,9 @@
   integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
 
 brace-expansion@^1.1.7:
-  version "1.1.11"
-  resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.11.tgz"
-  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+  version "1.1.12"
+  resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz"
+  integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
   dependencies:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
@@ -2397,27 +2245,27 @@
     split-string "^3.0.2"
     to-regex "^3.0.1"
 
-braces@^3.0.2, braces@~3.0.2:
-  version "3.0.2"
-  resolved "https://registry.npmmirror.com/braces/-/braces-3.0.2.tgz"
-  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+braces@^3.0.3, braces@~3.0.2:
+  version "3.0.3"
+  resolved "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz"
+  integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
   dependencies:
-    fill-range "^7.0.1"
+    fill-range "^7.1.1"
 
 browser-process-hrtime@^1.0.0:
   version "1.0.0"
   resolved "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz"
   integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
 
-browserslist@^4.0.0, browserslist@^4.16.3, browserslist@^4.21.10, browserslist@^4.21.4, browserslist@^4.22.2, browserslist@^4.23.0, "browserslist@>= 4.21.0":
-  version "4.23.0"
-  resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.23.0.tgz"
-  integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
+browserslist@^4.0.0, browserslist@^4.16.3, browserslist@^4.21.4, browserslist@^4.23.0, browserslist@^4.24.0, browserslist@^4.25.3, "browserslist@>= 4.21.0":
+  version "4.25.4"
+  resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.25.4.tgz"
+  integrity sha512-4jYpcjabC606xJ3kw2QwGEZKX0Aw7sgQdZCvIK9dhVSPh76BKo+C+btT1RRofH7B+8iNpEbgGNVWiLki5q93yg==
   dependencies:
-    caniuse-lite "^1.0.30001587"
-    electron-to-chromium "^1.4.668"
-    node-releases "^2.0.14"
-    update-browserslist-db "^1.0.13"
+    caniuse-lite "^1.0.30001737"
+    electron-to-chromium "^1.5.211"
+    node-releases "^2.0.19"
+    update-browserslist-db "^1.1.3"
 
 buffer-from@^1.0.0:
   version "1.1.2"
@@ -2432,14 +2280,9 @@
     base64-js "^1.3.1"
     ieee754 "^1.1.13"
 
-bytes@3.0.0:
-  version "3.0.0"
-  resolved "https://registry.npmmirror.com/bytes/-/bytes-3.0.0.tgz"
-  integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==
-
 bytes@3.1.2:
   version "3.1.2"
-  resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz"
+  resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
   integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
 
 cache-base@^1.0.1:
@@ -2498,13 +2341,8 @@
 
 camelcase@^5.0.0:
   version "5.3.1"
-  resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz"
+  resolved "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz"
   integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-
-camelcase@^6.3.0:
-  version "6.3.0"
-  resolved "https://registry.npmmirror.com/camelcase/-/camelcase-6.3.0.tgz"
-  integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
 
 caniuse-api@^3.0.0:
   version "3.0.0"
@@ -2516,10 +2354,10 @@
     lodash.memoize "^4.1.2"
     lodash.uniq "^4.5.0"
 
-caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599:
-  version "1.0.30001610"
-  resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001610.tgz"
-  integrity sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001599, caniuse-lite@^1.0.30001737:
+  version "1.0.30001739"
+  resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001739.tgz"
+  integrity sha512-y+j60d6ulelrNSwpPyrHdl+9mJnQzHBr08xm48Qno0nSk4h3Qojh+ziv2qE6rXf4k3tadF4o1J/1tAbVm1NtnA==
 
 canvas@^2.5.0, canvas@^2.8.0:
   version "2.11.2"
@@ -2786,7 +2624,7 @@
   resolved "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.1.tgz"
   integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==
 
-compressible@~2.0.16:
+compressible@~2.0.18:
   version "2.0.18"
   resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz"
   integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
@@ -2794,16 +2632,16 @@
     mime-db ">= 1.43.0 < 2"
 
 compression@^1.7.4:
-  version "1.7.4"
-  resolved "https://registry.npmmirror.com/compression/-/compression-1.7.4.tgz"
-  integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
+  version "1.8.1"
+  resolved "https://registry.npmjs.org/compression/-/compression-1.8.1.tgz"
+  integrity sha512-9mAqGPHLakhCLeNyxPkK4xVo746zQ/czLH1Ky+vkitMnWfWZps8r0qXuwhwizagCRttsL4lfG4pIOvaWLpAP0w==
   dependencies:
-    accepts "~1.3.5"
-    bytes "3.0.0"
-    compressible "~2.0.16"
+    bytes "3.1.2"
+    compressible "~2.0.18"
     debug "2.6.9"
-    on-headers "~1.0.2"
-    safe-buffer "5.1.2"
+    negotiator "~0.6.4"
+    on-headers "~1.1.0"
+    safe-buffer "5.2.1"
     vary "~1.1.2"
 
 concat-map@0.0.1:
@@ -2837,7 +2675,7 @@
 
 content-type@~1.0.4, content-type@~1.0.5:
   version "1.0.5"
-  resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz"
+  resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz"
   integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
 
 convert-source-map@^2.0.0:
@@ -2850,10 +2688,10 @@
   resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz"
   integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
 
-cookie@0.6.0:
-  version "0.6.0"
-  resolved "https://registry.npmmirror.com/cookie/-/cookie-0.6.0.tgz"
-  integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==
+cookie@0.7.1:
+  version "0.7.1"
+  resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz"
+  integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==
 
 copy-anything@^2.0.1:
   version "2.0.6"
@@ -2879,12 +2717,12 @@
     schema-utils "^3.1.1"
     serialize-javascript "^6.0.0"
 
-core-js-compat@^3.31.0, core-js-compat@^3.36.1, core-js-compat@^3.8.3:
-  version "3.37.0"
-  resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.37.0.tgz"
-  integrity sha512-vYq4L+T8aS5UuFg4UwDhc7YNRWVeVZwltad9C/jV3R2LgVOpS9BDr7l/WL6BN0dbV3k1XejPTHqqEzJgsa0frA==
+core-js-compat@^3.43.0, core-js-compat@^3.8.3:
+  version "3.45.1"
+  resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.45.1.tgz"
+  integrity sha512-tqTt5T4PzsMIZ430XGviK4vzYSoeNJ6CXODi6c/voxOT6IZqBht5/EKaSNnYiEjjRYxjVz7DQIsOsY0XNi8PIA==
   dependencies:
-    browserslist "^4.23.0"
+    browserslist "^4.25.3"
 
 core-js@^2.4.0:
   version "2.6.12"
@@ -2922,9 +2760,9 @@
     which "^1.2.9"
 
 cross-spawn@^6.0.0:
-  version "6.0.5"
-  resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.5.tgz"
-  integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
+  version "6.0.6"
+  resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.6.tgz"
+  integrity sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==
   dependencies:
     nice-try "^1.0.4"
     path-key "^2.0.1"
@@ -2933,9 +2771,9 @@
     which "^1.2.9"
 
 cross-spawn@^7.0.2, cross-spawn@^7.0.3:
-  version "7.0.3"
-  resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz"
-  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+  version "7.0.6"
+  resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz"
+  integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
   dependencies:
     path-key "^3.1.0"
     shebang-command "^2.0.0"
@@ -3146,12 +2984,12 @@
   dependencies:
     ms "^2.1.1"
 
-debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@4:
-  version "4.3.4"
-  resolved "https://registry.npmmirror.com/debug/-/debug-4.3.4.tgz"
-  integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
+debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.4.1, debug@4:
+  version "4.4.1"
+  resolved "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz"
+  integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
   dependencies:
-    ms "2.1.2"
+    ms "^2.1.3"
 
 debug@2.6.9:
   version "2.6.9"
@@ -3268,12 +3106,12 @@
 
 depd@2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz"
+  resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz"
   integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
 
 destroy@1.2.0:
   version "1.2.0"
-  resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz"
+  resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz"
   integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
 
 detect-libc@^2.0.0:
@@ -3435,13 +3273,13 @@
 
 ee-first@1.1.1:
   version "1.1.1"
-  resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz"
+  resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz"
   integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
 
-electron-to-chromium@^1.4.668:
-  version "1.4.739"
-  resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.4.739.tgz"
-  integrity sha512-koRkawXOuN9w/ymhTNxGfB8ta4MRKVW0nzifU17G1UwTWlBg0vv7xnz4nxDnRFSBe9nXMGRgICcAzqXc0PmLeA==
+electron-to-chromium@^1.5.211:
+  version "1.5.211"
+  resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.211.tgz"
+  integrity sha512-IGBvimJkotaLzFnwIVgW9/UD/AOJ2tByUmeOrtqBfACSbAw5b1G0XpvdaieKyc7ULmbwXVx+4e4Be8pOPBrYkw==
 
 element-ui@^2.15.14:
   version "2.15.14"
@@ -3467,8 +3305,13 @@
 
 encodeurl@~1.0.2:
   version "1.0.2"
-  resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz"
+  resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz"
   integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+encodeurl@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz"
+  integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
 
 end-of-stream@^1.1.0:
   version "1.4.4"
@@ -3477,10 +3320,10 @@
   dependencies:
     once "^1.4.0"
 
-enhanced-resolve@^5.17.0:
-  version "5.17.0"
-  resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz"
-  integrity sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==
+enhanced-resolve@^5.17.3:
+  version "5.18.3"
+  resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz"
+  integrity sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==
   dependencies:
     graceful-fs "^4.2.4"
     tapable "^2.2.0"
@@ -3505,7 +3348,7 @@
 
 entities@^4.5.0:
   version "4.5.0"
-  resolved "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz"
+  resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz"
   integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==
 
 errno@^0.1.1:
@@ -3630,10 +3473,10 @@
     is-date-object "^1.0.5"
     is-symbol "^1.0.4"
 
-escalade@^3.1.1:
-  version "3.1.2"
-  resolved "https://registry.npmmirror.com/escalade/-/escalade-3.1.2.tgz"
-  integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==
+escalade@^3.1.1, escalade@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz"
+  integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
 
 escape-html@~1.0.3:
   version "1.0.3"
@@ -3834,7 +3677,7 @@
 
 estree-walker@^2.0.2:
   version "2.0.2"
-  resolved "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz"
+  resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz"
   integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==
 
 esutils@^2.0.2:
@@ -3844,7 +3687,7 @@
 
 etag@~1.8.1:
   version "1.8.1"
-  resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz"
+  resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz"
   integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
 
 event-pubsub@4.3.0:
@@ -3917,36 +3760,36 @@
     to-regex "^3.0.1"
 
 express@^4.17.3:
-  version "4.19.2"
-  resolved "https://registry.npmmirror.com/express/-/express-4.19.2.tgz"
-  integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==
+  version "4.21.2"
+  resolved "https://registry.npmjs.org/express/-/express-4.21.2.tgz"
+  integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==
   dependencies:
     accepts "~1.3.8"
     array-flatten "1.1.1"
-    body-parser "1.20.2"
+    body-parser "1.20.3"
     content-disposition "0.5.4"
     content-type "~1.0.4"
-    cookie "0.6.0"
+    cookie "0.7.1"
     cookie-signature "1.0.6"
     debug "2.6.9"
     depd "2.0.0"
-    encodeurl "~1.0.2"
+    encodeurl "~2.0.0"
     escape-html "~1.0.3"
     etag "~1.8.1"
-    finalhandler "1.2.0"
+    finalhandler "1.3.1"
     fresh "0.5.2"
     http-errors "2.0.0"
-    merge-descriptors "1.0.1"
+    merge-descriptors "1.0.3"
     methods "~1.1.2"
     on-finished "2.4.1"
     parseurl "~1.3.3"
-    path-to-regexp "0.1.7"
+    path-to-regexp "0.1.12"
     proxy-addr "~2.0.7"
-    qs "6.11.0"
+    qs "6.13.0"
     range-parser "~1.2.1"
     safe-buffer "5.2.1"
-    send "0.18.0"
-    serve-static "1.15.0"
+    send "0.19.0"
+    serve-static "1.16.2"
     setprototypeof "1.2.0"
     statuses "2.0.1"
     type-is "~1.6.18"
@@ -4024,6 +3867,11 @@
   resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
   integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
 
+fast-uri@^3.0.1:
+  version "3.1.0"
+  resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz"
+  integrity sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==
+
 fastq@^1.6.0:
   version "1.17.1"
   resolved "https://registry.npmmirror.com/fastq/-/fastq-1.17.1.tgz"
@@ -4062,20 +3910,20 @@
     repeat-string "^1.6.1"
     to-regex-range "^2.1.0"
 
-fill-range@^7.0.1:
-  version "7.0.1"
-  resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.0.1.tgz"
-  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+fill-range@^7.1.1:
+  version "7.1.1"
+  resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz"
+  integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
   dependencies:
     to-regex-range "^5.0.1"
 
-finalhandler@1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.2.0.tgz"
-  integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
+finalhandler@1.3.1:
+  version "1.3.1"
+  resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz"
+  integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
   dependencies:
     debug "2.6.9"
-    encodeurl "~1.0.2"
+    encodeurl "~2.0.0"
     escape-html "~1.0.3"
     on-finished "2.4.1"
     parseurl "~1.3.3"
@@ -4135,13 +3983,15 @@
   resolved "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz"
   integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==
 
-form-data@^4.0.0:
-  version "4.0.0"
-  resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz"
-  integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+form-data@^4.0.0, form-data@^4.0.4:
+  version "4.0.4"
+  resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.4.tgz"
+  integrity sha512-KrGhL9Q4zjj0kiUt5OO4Mr/A/jlI2jDYs5eHBpYHPcBEVSiipAvn2Ko2HnPe20rmcuuvMHNdZFp+4IlGTMF0Ow==
   dependencies:
     asynckit "^0.4.0"
     combined-stream "^1.0.8"
+    es-set-tostringtag "^2.1.0"
+    hasown "^2.0.2"
     mime-types "^2.1.12"
 
 forwarded@0.2.0:
@@ -4163,7 +4013,7 @@
 
 fresh@0.5.2:
   version "0.5.2"
-  resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz"
+  resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz"
   integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
 
 fs-extra@^9.1.0:
@@ -4337,11 +4187,6 @@
     minimatch "^3.1.1"
     once "^1.3.0"
     path-is-absolute "^1.0.0"
-
-globals@^11.1.0:
-  version "11.12.0"
-  resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz"
-  integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
 
 globals@^13.6.0:
   version "13.24.0"
@@ -4562,13 +4407,8 @@
 
 html-tags@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz"
+  resolved "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz"
   integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==
-
-html-tags@^3.3.1:
-  version "3.3.1"
-  resolved "https://registry.npmmirror.com/html-tags/-/html-tags-3.3.1.tgz"
-  integrity sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==
 
 html-webpack-plugin@^5.1.0:
   version "5.6.0"
@@ -4620,7 +4460,7 @@
 
 http-errors@2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz"
+  resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
   integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
   dependencies:
     depd "2.0.0"
@@ -4644,9 +4484,9 @@
     debug "4"
 
 http-proxy-middleware@^2.0.3:
-  version "2.0.6"
-  resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz"
-  integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==
+  version "2.0.9"
+  resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz"
+  integrity sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==
   dependencies:
     "@types/http-proxy" "^1.17.8"
     http-proxy "^1.18.1"
@@ -4685,7 +4525,7 @@
 
 iconv-lite@0.4.24:
   version "0.4.24"
-  resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz"
+  resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz"
   integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
   dependencies:
     safer-buffer ">= 2.1.2 < 3"
@@ -4850,12 +4690,12 @@
   dependencies:
     ci-info "^1.5.0"
 
-is-core-module@^2.13.0:
-  version "2.13.1"
-  resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz"
-  integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==
+is-core-module@^2.16.0:
+  version "2.16.1"
+  resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz"
+  integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
   dependencies:
-    hasown "^2.0.0"
+    hasown "^2.0.2"
 
 is-data-descriptor@^1.0.1:
   version "1.0.1"
@@ -4992,7 +4832,7 @@
 
 is-number@^7.0.0:
   version "7.0.0"
-  resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz"
+  resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
   integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
 
 is-plain-obj@^1.1:
@@ -5239,15 +5079,15 @@
     ws "^8.2.3"
     xml-name-validator "^4.0.0"
 
-jsesc@^2.5.1:
-  version "2.5.2"
-  resolved "https://registry.npmmirror.com/jsesc/-/jsesc-2.5.2.tgz"
-  integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+jsesc@^3.0.2:
+  version "3.1.0"
+  resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz"
+  integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
 
-jsesc@~0.5.0:
-  version "0.5.0"
-  resolved "https://registry.npmmirror.com/jsesc/-/jsesc-0.5.0.tgz"
-  integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
+jsesc@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz"
+  integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==
 
 json-buffer@3.0.1:
   version "3.0.1"
@@ -5437,7 +5277,7 @@
 
 lodash.debounce@^4.0.8:
   version "4.0.8"
-  resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
+  resolved "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz"
   integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
 
 lodash.defaultsdeep@^4.6.1:
@@ -5447,7 +5287,7 @@
 
 lodash.kebabcase@^4.1.1:
   version "4.1.1"
-  resolved "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz"
+  resolved "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz"
   integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==
 
 lodash.mapvalues@^4.6.0:
@@ -5534,12 +5374,12 @@
   dependencies:
     yallist "^4.0.0"
 
-magic-string@^0.30.8:
-  version "0.30.10"
-  resolved "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.10.tgz"
-  integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==
+magic-string@^0.30.17:
+  version "0.30.18"
+  resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.18.tgz"
+  integrity sha512-yi8swmWbO17qHhwIBNeeZxTceJMeBvWJaId6dyvTSOwTipqeHhMhOrz6513r1sOKnpvQ7zkhlG8tPrpilwTxHQ==
   dependencies:
-    "@jridgewell/sourcemap-codec" "^1.4.15"
+    "@jridgewell/sourcemap-codec" "^1.5.5"
 
 make-dir@^2.1.0:
   version "2.1.0"
@@ -5574,9 +5414,9 @@
   integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
 
 mathlive@^0.101.0:
-  version "0.101.0"
-  resolved "https://registry.npmmirror.com/mathlive/-/mathlive-0.101.0.tgz"
-  integrity sha512-/4pXiqttFhThEQ2oxEZjTFyMuVLc0cEe3GjczncaH/bP9ZYhkmlFIWNzyU9zYXzS8YugczAL7trENdCXukXBgA==
+  version "0.101.2"
+  resolved "https://registry.npmjs.org/mathlive/-/mathlive-0.101.2.tgz"
+  integrity sha512-PJiJogNcaVgyk34YgJ+jQ460lkBWIQ7u1WSQb/NchZ98NBPxQRwjM6xt7mYVK5n+9O5L/mq3cNXtfcG6hP4VNg==
   dependencies:
     "@cortex-js/compute-engine" "0.24.1"
 
@@ -5587,7 +5427,7 @@
 
 media-typer@0.3.0:
   version "0.3.0"
-  resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz"
+  resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
   integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
 
 memfs@^3.4.3:
@@ -5597,10 +5437,10 @@
   dependencies:
     fs-monkey "^1.0.4"
 
-merge-descriptors@1.0.1:
-  version "1.0.1"
-  resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz"
-  integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
+merge-descriptors@1.0.3:
+  version "1.0.3"
+  resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz"
+  integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
 
 merge-options@1.0.1:
   version "1.0.1"
@@ -5632,11 +5472,11 @@
   integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
 
 micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
-  version "4.0.5"
-  resolved "https://registry.npmmirror.com/micromatch/-/micromatch-4.0.5.tgz"
-  integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
+  version "4.0.8"
+  resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
+  integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
   dependencies:
-    braces "^3.0.2"
+    braces "^3.0.3"
     picomatch "^2.3.1"
 
 micromatch@3.1.0:
@@ -5775,20 +5615,15 @@
   resolved "https://registry.npmmirror.com/mrmime/-/mrmime-2.0.0.tgz"
   integrity sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==
 
-ms@^2.1.1, ms@2.1.2:
-  version "2.1.2"
-  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz"
-  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+ms@^2.1.1, ms@^2.1.3, ms@2.1.3:
+  version "2.1.3"
+  resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz"
+  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
 
 ms@2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz"
+  resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz"
   integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
-
-ms@2.1.3:
-  version "2.1.3"
-  resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz"
-  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
 
 multicast-dns@^7.2.5:
   version "7.2.5"
@@ -5812,10 +5647,10 @@
   resolved "https://registry.npmmirror.com/nan/-/nan-2.20.0.tgz"
   integrity sha512-bk3gXBZDGILuuo/6sKtr0DQmSThYHLtNCdSdXk9YkxD/jK6X2vmCyyXBBxyqZ4XcnzTyYEAThfX3DCEnLf6igw==
 
-nanoid@^3.3.7:
-  version "3.3.7"
-  resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz"
-  integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==
+nanoid@^3.3.11:
+  version "3.3.11"
+  resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz"
+  integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
 
 nanomatch@^1.2.1:
   version "1.2.13"
@@ -5846,6 +5681,11 @@
   dependencies:
     iconv-lite "^0.6.3"
     sax "^1.2.4"
+
+negotiator@~0.6.4:
+  version "0.6.4"
+  resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz"
+  integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
 
 negotiator@0.6.3:
   version "0.6.3"
@@ -5882,10 +5722,10 @@
   resolved "https://registry.npmmirror.com/node-forge/-/node-forge-1.3.1.tgz"
   integrity sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==
 
-node-releases@^2.0.14:
-  version "2.0.14"
-  resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.14.tgz"
-  integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==
+node-releases@^2.0.19:
+  version "2.0.19"
+  resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz"
+  integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
 
 nopt@^5.0.0:
   version "5.0.0"
@@ -6022,15 +5862,15 @@
 
 on-finished@2.4.1:
   version "2.4.1"
-  resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz"
+  resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz"
   integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
   dependencies:
     ee-first "1.1.1"
 
-on-headers@~1.0.2:
-  version "1.0.2"
-  resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz"
-  integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+on-headers@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.npmjs.org/on-headers/-/on-headers-1.1.0.tgz"
+  integrity sha512-737ZY3yNnXy37FHkQxPzt4UZ2UWPWiCZWLvFZ4fu5cueciegX0zGPnrlY6bwRg4FdQOe9YU8MkmJwGhoMybl8A==
 
 once@^1.3.0, once@^1.3.1, once@^1.4.0:
   version "1.4.0"
@@ -6235,10 +6075,10 @@
   resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz"
   integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
 
-path-to-regexp@0.1.7:
-  version "0.1.7"
-  resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
-  integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
+path-to-regexp@0.1.12:
+  version "0.1.12"
+  resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz"
+  integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==
 
 path-type@^4.0.0:
   version "4.0.0"
@@ -6250,10 +6090,10 @@
   resolved "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz"
   integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
 
-picocolors@^1.0.0:
-  version "1.0.0"
-  resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz"
-  integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
+picocolors@^1.0.0, picocolors@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz"
+  integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
 
 picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
   version "2.3.1"
@@ -6553,14 +6393,14 @@
     source-map "^0.5.6"
     supports-color "^3.2.3"
 
-"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.33, postcss@^8.4.38, "postcss@>4 <9":
-  version "8.4.38"
-  resolved "https://registry.npmmirror.com/postcss/-/postcss-8.4.38.tgz"
-  integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
+"postcss@^7.0.0 || ^8.0.1", postcss@^8.0.9, postcss@^8.1.0, postcss@^8.2.15, postcss@^8.2.2, postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.14, postcss@^8.4.33, postcss@^8.5.6, "postcss@>4 <9":
+  version "8.5.6"
+  resolved "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz"
+  integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
   dependencies:
-    nanoid "^3.3.7"
-    picocolors "^1.0.0"
-    source-map-js "^1.2.0"
+    nanoid "^3.3.11"
+    picocolors "^1.1.1"
+    source-map-js "^1.2.1"
 
 postcss@^7.0.36:
   version "7.0.39"
@@ -6696,12 +6536,12 @@
     lodash "^4.17.11"
     single-spa "^5.9.2"
 
-qs@6.11.0:
-  version "6.11.0"
-  resolved "https://registry.npmmirror.com/qs/-/qs-6.11.0.tgz"
-  integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
+qs@6.13.0:
+  version "6.13.0"
+  resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz"
+  integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
   dependencies:
-    side-channel "^1.0.4"
+    side-channel "^1.0.6"
 
 query-string@^4.3.2:
   version "4.3.4"
@@ -6735,7 +6575,7 @@
 
 raw-body@2.5.2:
   version "2.5.2"
-  resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz"
+  resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz"
   integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
   dependencies:
     bytes "3.1.2"
@@ -6805,34 +6645,22 @@
     get-proto "^1.0.1"
     which-builtin-type "^1.2.1"
 
-regenerate-unicode-properties@^10.1.0:
-  version "10.1.1"
-  resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz"
-  integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==
+regenerate-unicode-properties@^10.2.0:
+  version "10.2.0"
+  resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz"
+  integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==
   dependencies:
     regenerate "^1.4.2"
 
 regenerate@^1.4.2:
   version "1.4.2"
-  resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz"
+  resolved "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz"
   integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
 
 regenerator-runtime@^0.11.0:
   version "0.11.1"
   resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz"
   integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
-
-regenerator-runtime@^0.14.0:
-  version "0.14.1"
-  resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz"
-  integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==
-
-regenerator-transform@^0.15.2:
-  version "0.15.2"
-  resolved "https://registry.npmmirror.com/regenerator-transform/-/regenerator-transform-0.15.2.tgz"
-  integrity sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==
-  dependencies:
-    "@babel/runtime" "^7.8.4"
 
 regex-not@^1.0.0, regex-not@^1.0.2:
   version "1.0.2"
@@ -6859,24 +6687,29 @@
   resolved "https://registry.npmmirror.com/regexpp/-/regexpp-3.2.0.tgz"
   integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
 
-regexpu-core@^5.3.1:
-  version "5.3.2"
-  resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-5.3.2.tgz"
-  integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==
+regexpu-core@^6.2.0:
+  version "6.2.0"
+  resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz"
+  integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==
   dependencies:
-    "@babel/regjsgen" "^0.8.0"
     regenerate "^1.4.2"
-    regenerate-unicode-properties "^10.1.0"
-    regjsparser "^0.9.1"
+    regenerate-unicode-properties "^10.2.0"
+    regjsgen "^0.8.0"
+    regjsparser "^0.12.0"
     unicode-match-property-ecmascript "^2.0.0"
     unicode-match-property-value-ecmascript "^2.1.0"
 
-regjsparser@^0.9.1:
-  version "0.9.1"
-  resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.9.1.tgz"
-  integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==
+regjsgen@^0.8.0:
+  version "0.8.0"
+  resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz"
+  integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+
+regjsparser@^0.12.0:
+  version "0.12.0"
+  resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz"
+  integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==
   dependencies:
-    jsesc "~0.5.0"
+    jsesc "~3.0.2"
 
 relateurl@^0.2.7:
   version "0.2.7"
@@ -6934,12 +6767,12 @@
   resolved "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz"
   integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
 
-resolve@^1.10.0, resolve@^1.14.2:
-  version "1.22.8"
-  resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz"
-  integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==
+resolve@^1.10.0, resolve@^1.22.10:
+  version "1.22.10"
+  resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz"
+  integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
   dependencies:
-    is-core-module "^2.13.0"
+    is-core-module "^2.16.0"
     path-parse "^1.0.7"
     supports-preserve-symlinks-flag "^1.0.0"
 
@@ -7005,11 +6838,6 @@
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
 
 safe-buffer@~5.1.0, safe-buffer@~5.1.1:
-  version "5.1.2"
-  resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
-  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
-
-safe-buffer@5.1.2:
   version "5.1.2"
   resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
@@ -7082,19 +6910,30 @@
     ajv "^6.12.5"
     ajv-keywords "^3.5.2"
 
-schema-utils@^3.2.0:
-  version "3.3.0"
-  resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-3.3.0.tgz"
-  integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==
-  dependencies:
-    "@types/json-schema" "^7.0.8"
-    ajv "^6.12.5"
-    ajv-keywords "^3.5.2"
-
 schema-utils@^4.0.0:
   version "4.2.0"
   resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-4.2.0.tgz"
   integrity sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==
+  dependencies:
+    "@types/json-schema" "^7.0.9"
+    ajv "^8.9.0"
+    ajv-formats "^2.1.1"
+    ajv-keywords "^5.1.0"
+
+schema-utils@^4.3.0:
+  version "4.3.2"
+  resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz"
+  integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==
+  dependencies:
+    "@types/json-schema" "^7.0.9"
+    ajv "^8.9.0"
+    ajv-formats "^2.1.1"
+    ajv-keywords "^5.1.0"
+
+schema-utils@^4.3.2:
+  version "4.3.2"
+  resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz"
+  integrity sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==
   dependencies:
     "@types/json-schema" "^7.0.9"
     ajv "^8.9.0"
@@ -7137,11 +6976,9 @@
     lru-cache "^6.0.0"
 
 semver@^7.3.4:
-  version "7.6.0"
-  resolved "https://registry.npmmirror.com/semver/-/semver-7.6.0.tgz"
-  integrity sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==
-  dependencies:
-    lru-cache "^6.0.0"
+  version "7.7.2"
+  resolved "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz"
+  integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
 
 semver@^7.3.5:
   version "7.6.3"
@@ -7160,10 +6997,10 @@
   resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz"
   integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
 
-send@0.18.0:
-  version "0.18.0"
-  resolved "https://registry.npmmirror.com/send/-/send-0.18.0.tgz"
-  integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
+send@0.19.0:
+  version "0.19.0"
+  resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz"
+  integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
   dependencies:
     debug "2.6.9"
     depd "2.0.0"
@@ -7179,7 +7016,7 @@
     range-parser "~1.2.1"
     statuses "2.0.1"
 
-serialize-javascript@^6.0.0, serialize-javascript@^6.0.1:
+serialize-javascript@^6.0.0, serialize-javascript@^6.0.2:
   version "6.0.2"
   resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz"
   integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==
@@ -7199,15 +7036,15 @@
     mime-types "~2.1.17"
     parseurl "~1.3.2"
 
-serve-static@1.15.0:
-  version "1.15.0"
-  resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.15.0.tgz"
-  integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
+serve-static@1.16.2:
+  version "1.16.2"
+  resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz"
+  integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
   dependencies:
-    encodeurl "~1.0.2"
+    encodeurl "~2.0.0"
     escape-html "~1.0.3"
     parseurl "~1.3.3"
-    send "0.18.0"
+    send "0.19.0"
 
 set-blocking@^2.0.0:
   version "2.0.0"
@@ -7262,7 +7099,7 @@
 
 setprototypeof@1.2.0:
   version "1.2.0"
-  resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz"
+  resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
   integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
 
 shallow-clone@^3.0.0:
@@ -7330,7 +7167,7 @@
     object-inspect "^1.13.3"
     side-channel-map "^1.0.1"
 
-side-channel@^1.0.4, side-channel@^1.1.0:
+side-channel@^1.0.6, side-channel@^1.1.0:
   version "1.1.0"
   resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz"
   integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
@@ -7427,10 +7264,10 @@
     uuid "^8.3.2"
     websocket-driver "^0.7.4"
 
-source-map-js@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.0.tgz"
-  integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
+source-map-js@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz"
+  integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
 
 source-map-resolve@^0.5.0:
   version "0.5.3"
@@ -7569,7 +7406,7 @@
 
 statuses@2.0.1:
   version "2.0.1"
-  resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz"
+  resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
   integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
 
 stop-iteration-iterator@^1.1.0:
@@ -7779,7 +7616,7 @@
 
 svg-tags@^1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz"
+  resolved "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz"
   integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
 
 svgo@^2.7.0:
@@ -7836,24 +7673,24 @@
     mkdirp "^1.0.3"
     yallist "^4.0.0"
 
-terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.3.10:
-  version "5.3.10"
-  resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz"
-  integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==
+terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.3.11:
+  version "5.3.14"
+  resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz"
+  integrity sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==
   dependencies:
-    "@jridgewell/trace-mapping" "^0.3.20"
+    "@jridgewell/trace-mapping" "^0.3.25"
     jest-worker "^27.4.5"
-    schema-utils "^3.1.1"
-    serialize-javascript "^6.0.1"
-    terser "^5.26.0"
+    schema-utils "^4.3.0"
+    serialize-javascript "^6.0.2"
+    terser "^5.31.1"
 
-terser@^5.10.0, terser@^5.26.0:
-  version "5.30.3"
-  resolved "https://registry.npmmirror.com/terser/-/terser-5.30.3.tgz"
-  integrity sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==
+terser@^5.10.0, terser@^5.31.1:
+  version "5.43.1"
+  resolved "https://registry.npmjs.org/terser/-/terser-5.43.1.tgz"
+  integrity sha512-+6erLbBm0+LROX2sPXlUYx/ux5PyE9K/a92Wrt6oA+WDAoFTdpHE5tCYCI5PNzq2y8df4rA+QgHLJuR4jNymsg==
   dependencies:
     "@jridgewell/source-map" "^0.3.3"
-    acorn "^8.8.2"
+    acorn "^8.14.0"
     commander "^2.20.0"
     source-map-support "~0.5.20"
 
@@ -7898,14 +7735,9 @@
   integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
 
 tinymce@^5.4.1:
-  version "5.4.1"
-  resolved "https://registry.npmmirror.com/tinymce/-/tinymce-5.4.1.tgz"
-  integrity sha512-eUjwDVCTSHSnFfpzX5TjTHXsGj5gvPQwzo3RFDF374gfK5voHqcRGojvQnu4NtNW1BAb012/KW1tkXBbUrEveg==
-
-to-fast-properties@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz"
-  integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==
+  version "5.10.9"
+  resolved "https://registry.npmjs.org/tinymce/-/tinymce-5.10.9.tgz"
+  integrity sha512-5bkrors87X9LhYX2xq8GgPHrIgJYHl87YNs+kBcjQ5I3CiUgzo/vFcGvT3MZQ9QHsEeYMhYO6a5CLGGffR8hMg==
 
 to-object-path@^0.3.0:
   version "0.3.0"
@@ -7924,7 +7756,7 @@
 
 to-regex-range@^5.0.1:
   version "5.0.1"
-  resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz"
+  resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
   integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
   dependencies:
     is-number "^7.0.0"
@@ -7941,7 +7773,7 @@
 
 toidentifier@1.0.1:
   version "1.0.1"
-  resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz"
+  resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
   integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
 
 totalist@^3.0.0:
@@ -8009,7 +7841,7 @@
 
 type-is@~1.6.18:
   version "1.6.18"
-  resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz"
+  resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
   integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
   dependencies:
     media-typer "0.3.0"
@@ -8090,26 +7922,26 @@
   integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==
 
 unicode-canonical-property-names-ecmascript@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz"
-  integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
+  version "2.0.1"
+  resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz"
+  integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==
 
 unicode-match-property-ecmascript@^2.0.0:
   version "2.0.0"
-  resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz"
+  resolved "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz"
   integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
   dependencies:
     unicode-canonical-property-names-ecmascript "^2.0.0"
     unicode-property-aliases-ecmascript "^2.0.0"
 
 unicode-match-property-value-ecmascript@^2.1.0:
-  version "2.1.0"
-  resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz"
-  integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==
+  version "2.2.0"
+  resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz"
+  integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==
 
 unicode-property-aliases-ecmascript@^2.0.0:
   version "2.1.0"
-  resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz"
+  resolved "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz"
   integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
 
 unidecode@0.1.8:
@@ -8139,7 +7971,7 @@
 
 unpipe@~1.0.0, unpipe@1.0.0:
   version "1.0.0"
-  resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz"
+  resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
   integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
 
 unset-value@^1.0.0:
@@ -8150,13 +7982,13 @@
     has-value "^0.3.1"
     isobject "^3.0.0"
 
-update-browserslist-db@^1.0.13:
-  version "1.0.13"
-  resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz"
-  integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==
+update-browserslist-db@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz"
+  integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
   dependencies:
-    escalade "^3.1.1"
-    picocolors "^1.0.0"
+    escalade "^3.2.0"
+    picocolors "^1.1.1"
 
 uri-js@^4.2.2:
   version "4.4.1"
@@ -8430,10 +8262,10 @@
     flat "^5.0.2"
     wildcard "^2.0.0"
 
-webpack-sources@*, webpack-sources@^3.2.3:
-  version "3.2.3"
-  resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-3.2.3.tgz"
-  integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+webpack-sources@*, webpack-sources@^3.3.3:
+  version "3.3.3"
+  resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz"
+  integrity sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==
 
 webpack-virtual-modules@^0.4.2:
   version "0.4.6"
@@ -8441,20 +8273,21 @@
   integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==
 
 "webpack@^2.0.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "webpack@^3.0.0 || ^4.1.0 || ^5.0.0-0", "webpack@^4.0.0 || ^5.0.0", "webpack@^4.1.0 || ^5.0.0-0", "webpack@^4.27.0 || ^5.0.0", "webpack@^4.37.0 || ^5.0.0", webpack@^5.0.0, webpack@^5.1.0, webpack@^5.20.0, webpack@^5.54.0, webpack@^5.92.0, webpack@>=2:
-  version "5.93.0"
-  resolved "https://registry.npmmirror.com/webpack/-/webpack-5.93.0.tgz"
-  integrity sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==
+  version "5.101.3"
+  resolved "https://registry.npmjs.org/webpack/-/webpack-5.101.3.tgz"
+  integrity sha512-7b0dTKR3Ed//AD/6kkx/o7duS8H3f1a4w3BYpIriX4BzIhjkn4teo05cptsxvLesHFKK5KObnadmCHBwGc+51A==
   dependencies:
-    "@types/eslint-scope" "^3.7.3"
-    "@types/estree" "^1.0.5"
-    "@webassemblyjs/ast" "^1.12.1"
-    "@webassemblyjs/wasm-edit" "^1.12.1"
-    "@webassemblyjs/wasm-parser" "^1.12.1"
-    acorn "^8.7.1"
-    acorn-import-attributes "^1.9.5"
-    browserslist "^4.21.10"
+    "@types/eslint-scope" "^3.7.7"
+    "@types/estree" "^1.0.8"
+    "@types/json-schema" "^7.0.15"
+    "@webassemblyjs/ast" "^1.14.1"
+    "@webassemblyjs/wasm-edit" "^1.14.1"
+    "@webassemblyjs/wasm-parser" "^1.14.1"
+    acorn "^8.15.0"
+    acorn-import-phases "^1.0.3"
+    browserslist "^4.24.0"
     chrome-trace-event "^1.0.2"
-    enhanced-resolve "^5.17.0"
+    enhanced-resolve "^5.17.3"
     es-module-lexer "^1.2.1"
     eslint-scope "5.1.1"
     events "^3.2.0"
@@ -8464,11 +8297,11 @@
     loader-runner "^4.2.0"
     mime-types "^2.1.27"
     neo-async "^2.6.2"
-    schema-utils "^3.2.0"
+    schema-utils "^4.3.2"
     tapable "^2.1.1"
-    terser-webpack-plugin "^5.3.10"
+    terser-webpack-plugin "^5.3.11"
     watchpack "^2.4.1"
-    webpack-sources "^3.2.3"
+    webpack-sources "^3.3.3"
 
 websocket-driver@^0.7.4, websocket-driver@>=0.5.1:
   version "0.7.4"
@@ -8627,14 +8460,14 @@
   integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
 
 ws@^7.3.1:
-  version "7.5.9"
-  resolved "https://registry.npmmirror.com/ws/-/ws-7.5.9.tgz"
-  integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==
+  version "7.5.10"
+  resolved "https://registry.npmjs.org/ws/-/ws-7.5.10.tgz"
+  integrity sha512-+dbF1tHwZpXcbOJdVOkzLDxZP1ailvSxM6ZweXTegylPny803bFhA+vqBYw4s31NSAk4S2Qz+AKXK9a4wkdjcQ==
 
 ws@^8.13.0:
-  version "8.16.0"
-  resolved "https://registry.npmmirror.com/ws/-/ws-8.16.0.tgz"
-  integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==
+  version "8.18.3"
+  resolved "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz"
+  integrity sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==
 
 ws@^8.2.3:
   version "8.18.0"
@@ -8694,6 +8527,11 @@
     y18n "^5.0.5"
     yargs-parser "^20.2.2"
 
+yarn@^1.22.22:
+  version "1.22.22"
+  resolved "https://registry.npmjs.org/yarn/-/yarn-1.22.22.tgz"
+  integrity sha512-prL3kGtyG7o9Z9Sv8IPfBNrWTDmXB4Qbes8A9rEzt6wkJV8mUvoirjU0Mp3GGAU06Y0XQyA3/2/RQFVuK7MTfg==
+
 yorkie@^2.0.0:
   version "2.0.0"
   resolved "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz"

--
Gitblit v1.9.1