@zoley/react-file-preview 1.1.8 → 1.1.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -48
- package/lib/cmaps/LICENSE +36 -36
- package/lib/index.js +1 -2
- package/package.json +53 -53
- package/lib/index.js.map +0 -1
package/lib/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","mappings":"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A,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAEIC,EA5SY,CAChB,YACA,eACA,OACA,aACA,QACA,QACA,SACA,QACA,iBACA,OACA,aACA,QACA,YACA,YACA,aACA,YACA,QACA,iBACA,WACA,UACA,OACA,WACA,WACA,gBACA,WACA,WACA,YACA,YACA,cACA,iBACA,aACA,aACA,UACA,aACA,eACA,gBACA,gBACA,gBACA,gBACA,aACA,WACA,cACA,UACA,UACA,aACA,YACA,cACA,cACA,UACA,YACA,aACA,OACA,YACA,OACA,OACA,QACA,cACA,WACA,UACA,YACA,SACA,QACA,QACA,WACA,gBACA,YACA,eACA,YACA,aACA,YACA,uBACA,YACA,YACA,aACA,YACA,cACA,gBACA,eACA,iBACA,iBACA,iBACA,cACA,OACA,YACA,QACA,UACA,SACA,mBACA,aACA,eACA,eACA,iBACA,kBACA,oBACA,kBACA,kBACA,eACA,YACA,YACA,WACA,cACA,OACA,UACA,QACA,YACA,SACA,YACA,SACA,gBACA,YACA,gBACA,gBACA,aACA,YACA,OACA,OACA,OACA,aACA,SACA,gBACA,MACA,YACA,YACA,cACA,SACA,aACA,WACA,WACA,SACA,SACA,UACA,YACA,YACA,YACA,OACA,cACA,YACA,MACA,OACA,UACA,SACA,YACA,SACA,QACA,Q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","sources":["webpack://@zoley/react-file-preview/webpack/runtime/async module","webpack://@zoley/react-file-preview/webpack/runtime/create fake namespace object","webpack://@zoley/react-file-preview/external commonjs \"docx-preview\"","webpack://@zoley/react-file-preview/./src/components/drivers/docx.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/image.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/pdf.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/t_xml.js","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/colz/index.js","webpack://@zoley/react-file-preview/external commonjs \"jszip\"","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/process_pptx.js","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/pptx_css.js","webpack://@zoley/react-file-preview/external commonjs \"jquery\"","webpack://@zoley/react-file-preview/./src/components/drivers/ppt/index.js","webpack://@zoley/react-file-preview/./src/components/drivers/pptx.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/text.jsx","webpack://@zoley/react-file-preview/./src/components/drivers/video.jsx","webpack://@zoley/react-file-preview/external commonjs \"exceljs\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable/i18n\"","webpack://@zoley/react-file-preview/external commonjs \"handsontable/dist/handsontable.full.min.css\"","webpack://@zoley/react-file-preview/./src/components/drivers/util.js","webpack://@zoley/react-file-preview/./src/components/drivers/xlsx.jsx","webpack://@zoley/react-file-preview/./src/components/fileViewer.jsx","webpack://@zoley/react-file-preview/./src/components/loading/style.css?3076","webpack://@zoley/react-file-preview/./src/components/loading/index.jsx","webpack://@zoley/react-file-preview/./src/components/loading/loading.png","webpack://@zoley/react-file-preview/./src/components/loading/style.css","webpack://@zoley/react-file-preview/./src/components/style.css","webpack://@zoley/react-file-preview/./node_modules/css-loader/dist/runtime/api.js","webpack://@zoley/react-file-preview/./node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://@zoley/react-file-preview/./src/components/style.css?b5c2","webpack://@zoley/react-file-preview/./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@zoley/react-file-preview/./node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@zoley/react-file-preview/./node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@zoley/react-file-preview/./node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@zoley/react-file-preview/./node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://@zoley/react-file-preview/./node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://@zoley/react-file-preview/./src/components/drivers/minus.svg","webpack://@zoley/react-file-preview/./src/components/drivers/plus.svg","webpack://@zoley/react-file-preview/external commonjs \"pdfjs-dist/legacy/build/pdf.mjs\"","webpack://@zoley/react-file-preview/external commonjs \"pdfjs-dist/legacy/build/pdf.worker.min.mjs\"","webpack://@zoley/react-file-preview/external commonjs \"react\"","webpack://@zoley/react-file-preview/external commonjs \"react-visibility-sensor\"","webpack://@zoley/react-file-preview/external commonjs \"react/jsx-runtime\"","webpack://@zoley/react-file-preview/webpack/bootstrap","webpack://@zoley/react-file-preview/webpack/runtime/compat get default export","webpack://@zoley/react-file-preview/webpack/runtime/define property getters","webpack://@zoley/react-file-preview/webpack/runtime/hasOwnProperty shorthand","webpack://@zoley/react-file-preview/webpack/runtime/make namespace object","webpack://@zoley/react-file-preview/webpack/runtime/jsonp chunk loading","webpack://@zoley/react-file-preview/webpack/runtime/nonce","webpack://@zoley/react-file-preview/webpack/startup"],"sourcesContent":["var webpackQueues = typeof Symbol === \"function\" ? Symbol(\"webpack queues\") : \"__webpack_queues__\";\nvar webpackExports = typeof Symbol === \"function\" ? Symbol(\"webpack exports\") : \"__webpack_exports__\";\nvar webpackError = typeof Symbol === \"function\" ? Symbol(\"webpack error\") : \"__webpack_error__\";\nvar resolveQueue = (queue) => {\n\tif(queue && queue.d < 1) {\n\t\tqueue.d = 1;\n\t\tqueue.forEach((fn) => (fn.r--));\n\t\tqueue.forEach((fn) => (fn.r-- ? fn.r++ : fn()));\n\t}\n}\nvar wrapDeps = (deps) => (deps.map((dep) => {\n\tif(dep !== null && typeof dep === \"object\") {\n\t\tif(dep[webpackQueues]) return dep;\n\t\tif(dep.then) {\n\t\t\tvar queue = [];\n\t\t\tqueue.d = 0;\n\t\t\tdep.then((r) => {\n\t\t\t\tobj[webpackExports] = r;\n\t\t\t\tresolveQueue(queue);\n\t\t\t}, (e) => {\n\t\t\t\tobj[webpackError] = e;\n\t\t\t\tresolveQueue(queue);\n\t\t\t});\n\t\t\tvar obj = {};\n\t\t\tobj[webpackQueues] = (fn) => (fn(queue));\n\t\t\treturn obj;\n\t\t}\n\t}\n\tvar ret = {};\n\tret[webpackQueues] = x => {};\n\tret[webpackExports] = dep;\n\treturn ret;\n}));\n__webpack_require__.a = (module, body, hasAwait) => {\n\tvar queue;\n\thasAwait && ((queue = []).d = -1);\n\tvar depQueues = new Set();\n\tvar exports = module.exports;\n\tvar currentDeps;\n\tvar outerResolve;\n\tvar reject;\n\tvar promise = new Promise((resolve, rej) => {\n\t\treject = rej;\n\t\touterResolve = resolve;\n\t});\n\tpromise[webpackExports] = exports;\n\tpromise[webpackQueues] = (fn) => (queue && fn(queue), depQueues.forEach(fn), promise[\"catch\"](x => {}));\n\tmodule.exports = promise;\n\tbody((deps) => {\n\t\tcurrentDeps = wrapDeps(deps);\n\t\tvar fn;\n\t\tvar getResult = () => (currentDeps.map((d) => {\n\t\t\tif(d[webpackError]) throw d[webpackError];\n\t\t\treturn d[webpackExports];\n\t\t}))\n\t\tvar promise = new Promise((resolve) => {\n\t\t\tfn = () => (resolve(getResult));\n\t\t\tfn.r = 0;\n\t\t\tvar fnQueue = (q) => (q !== queue && !depQueues.has(q) && (depQueues.add(q), q && !q.d && (fn.r++, q.push(fn))));\n\t\t\tcurrentDeps.map((dep) => (dep[webpackQueues](fnQueue)));\n\t\t});\n\t\treturn fn.r ? promise : getResult();\n\t}, (err) => ((err ? reject(promise[webpackError] = err) : outerResolve(exports)), resolveQueue(queue)));\n\tqueue && queue.d < 0 && (queue.d = 0);\n};","var getProto = Object.getPrototypeOf ? (obj) => (Object.getPrototypeOf(obj)) : (obj) => (obj.__proto__);\nvar leafPrototypes;\n// create a fake namespace object\n// mode & 1: value is a module id, require it\n// mode & 2: merge all properties of value into the ns\n// mode & 4: return value when already ns object\n// mode & 16: return value when it's Promise-like\n// mode & 8|1: behave like require\n__webpack_require__.t = function(value, mode) {\n\tif(mode & 1) value = this(value);\n\tif(mode & 8) return value;\n\tif(typeof value === 'object' && value) {\n\t\tif((mode & 4) && value.__esModule) return value;\n\t\tif((mode & 16) && typeof value.then === 'function') return value;\n\t}\n\tvar ns = Object.create(null);\n\t__webpack_require__.r(ns);\n\tvar def = {};\n\tleafPrototypes = leafPrototypes || [null, getProto({}), getProto([]), getProto(getProto)];\n\tfor(var current = mode & 2 && value; typeof current == 'object' && !~leafPrototypes.indexOf(current); current = getProto(current)) {\n\t\tObject.getOwnPropertyNames(current).forEach((key) => (def[key] = () => (value[key])));\n\t}\n\tdef['default'] = () => (value);\n\t__webpack_require__.d(ns, def);\n\treturn ns;\n};","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"docx-preview\");","import React, { useEffect, useState } from \"react\";\nimport { Loading } from \"../loading\";\nimport Plus from \"./plus.svg\";\nimport Minus from \"./minus.svg\";\nimport { defaultOptions, renderAsync } from \"docx-preview\";\nlet timeout;\n\nexport const DocxViewer = (props) => {\n const [loading, setLoading] = useState(true);\n const [zoom, setZoom] = useState(1);\n const handleIncreaseZoom = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timeout = setTimeout(() => {\n setZoom((s) => s + 0.2);\n }, 100);\n };\n\n const handleReduceZoom = () => {\n if (zoom < 0.3) return;\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timeout = setTimeout(() => {\n setZoom((s) => s - 0.2);\n }, 100);\n };\n useEffect(() => {\n const A = document.getElementById(\"docx-viewer\");\n const B = A.getElementsByClassName(\"docx-wrapper\")[0];\n if (B) {\n const section = B.querySelector(\"section\");\n if (section) {\n section.style.zoom = zoom;\n }\n }\n }, [zoom]);\n\n useEffect(() => {\n if (props?.filePath) {\n const docxOptions = Object.assign(defaultOptions, {\n debug: false,\n experimental: true,\n });\n const dom = document.getElementById(\"docx-viewer\");\n renderAsync(props?.filePath, dom, null, docxOptions).finally(() => {\n setLoading(false);\n });\n }\n }, [props?.filePath]);\n\n return (\n <div\n className=\"docx-viewer-wrapper\"\n style={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <div className=\"pdf-controls\">\n <div className=\"pdf-large\" onClick={handleIncreaseZoom}>\n <img src={Plus} alt=\"\" />\n </div>\n <div className=\"pdf-small\" onClick={handleReduceZoom}>\n <img src={Minus} alt=\"\" />\n </div>\n </div>\n {loading && <Loading />}\n <div\n id=\"docx-viewer\"\n style={{ visibility: loading ? \"hidden\" : \"visible\" }}\n ></div>\n </div>\n );\n};\n","import React,{ useEffect,useState } from 'react'\nimport {Loading}from \"../loading\";\nfunction readDataURL(buffer) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = loadEvent => resolve(loadEvent.target.result);\n reader.onerror = e => reject(e);\n reader.readAsDataURL(new Blob([buffer]));\n });\n}\n\n\nexport const ImgViewer=(props)=>{\n const [url,setUrl]=useState('')\n const [loading,setLoading]=useState(true)\n useEffect(()=>{\n if(props?.filePath){\n readDataURL(props?.filePath).then(setUrl).finally(()=>{\n setLoading(false)\n })\n }\n },[props?.filePath])\n\n return <div className=\"img-viewer-wrapper\">\n {loading && <Loading/>}\n {url && <img alt=\"图片\" src={url} />}\n </div>\n}","// import * as PDFJS from \"pdfjs-dist/legacy/build/pdf.min.mjs\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport VisibilitySensor from \"react-visibility-sensor\";\nimport { Loading } from \"../loading\";\nimport Plus from \"./plus.svg\";\nimport Minus from \"./minus.svg\";\nconst PDFJS = await import(\"pdfjs-dist/legacy/build/pdf.mjs\");\nPDFJS.GlobalWorkerOptions.workerSrc = new URL(\n \"pdfjs-dist/legacy/build/pdf.worker.min.mjs\",\n import.meta.url\n).toString();\n\nconst DEFAULT_SCALE = 3;\nconst INCREASE_PERCENTAGE = 0.2;\nlet timeout;\nconst CMAP_URL = \"/cmaps/\";\nconst CMAP_PACKED = true;\n\nconst PDFPage = React.memo(({ index, zoom, pdfInstance, containerWidth }) => {\n const [visible, setVisible] = useState(false);\n const [style, setStyle] = useState({});\n const handlePageRender = async () => {\n const page = await pdfInstance.getPage(index);\n\n // console.log(page.getViewport({ scale: DEFAULT_SCALE }).width);\n // const calculatedScale =\n // containerWidth / page.getViewport({ scale: DEFAULT_SCALE }).width;\n // const scale =\n // calculatedScale > DEFAULT_SCALE ? DEFAULT_SCALE : calculatedScale;\n const viewport = page.getViewport({ scale: DEFAULT_SCALE + zoom });\n const { width, height } = viewport;\n setStyle({\n width: `${width / 2}px`,\n height: `${height / 2}px`,\n });\n const canvas = document.getElementById(\"canvasPDF\" + index);\n const context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n page.render({\n canvasContext: context,\n viewport,\n });\n };\n const onChange = (visible) => {\n setVisible(visible);\n };\n useEffect(() => {\n if (visible) {\n handlePageRender();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [index, zoom, visible]);\n\n return (\n <div key={String(index) + \"pdf\"} style={{ textAlign: \"center\" }}>\n <VisibilitySensor partialVisibility onChange={onChange}>\n <canvas id={\"canvasPDF\" + index} style={style} />\n </VisibilitySensor>\n </div>\n );\n});\n\nexport const PDFViewer = (props) => {\n const [pages, setPages] = useState([]);\n const [loading, setLoading] = useState(true);\n const [zoom, setZoom] = useState(0);\n const pdfRef = useRef();\n const containerRef = useRef();\n const handleIncreaseZoom = () => {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timeout = setTimeout(() => {\n setZoom((s) => s + 1);\n }, 100);\n };\n\n const handleReduceZoom = () => {\n if (zoom < -13) return;\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n timeout = setTimeout(() => {\n setZoom((s) => s - 1);\n }, 100);\n };\n\n useEffect(() => {\n if (props?.filePath) {\n PDFJS.getDocument({\n data: props?.filePath,\n cMapUrl: CMAP_URL,\n cMapPacked: CMAP_PACKED,\n }).promise.then((pdf) => {\n pdfRef.current = pdf;\n const random = (Math.random() * 10000000).toFixed(0);\n const tempPages = Array.from({ length: pdf.numPages }).fill(random);\n setPages(tempPages);\n setLoading(false);\n });\n }\n }, [props?.filePath]);\n\n return (\n <div\n className=\"pdf-viewer-wrapper\"\n style={{ width: \"100%\", height: \"100%\", overflow: \"auto\" }}\n >\n <div className=\"pdf-controls\">\n <div className=\"pdf-large\" onClick={handleIncreaseZoom}>\n <img src={Plus} alt=\"\" />\n </div>\n <div className=\"pdf-small\" onClick={handleReduceZoom}>\n <img src={Minus} alt=\"\" />\n </div>\n </div>\n {loading && <Loading />}\n <div ref={containerRef} className=\"pdf-viewer\">\n {!loading &&\n pages?.map((x, i) => {\n return (\n <PDFPage\n key={String(i) + \"pdfs\" + x}\n index={i + 1}\n zoom={zoom * INCREASE_PERCENTAGE}\n pdfInstance={pdfRef.current}\n containerWidth={containerRef.current?.offsetWidth}\n />\n );\n })}\n </div>\n </div>\n );\n};\n","'use strict'\n\nlet _order = 1\n\nexport default function t_xml (S) {\n const openBracket = '<'\n const openBracketCC = '<'.charCodeAt(0)\n const closeBracket = '>'\n const closeBracketCC = '>'.charCodeAt(0)\n const minusCC = '-'.charCodeAt(0)\n const slashCC = '/'.charCodeAt(0)\n const exclamationCC = '!'.charCodeAt(0)\n const singleQuoteCC = '\\''.charCodeAt(0)\n const doubleQuoteCC = '\"'.charCodeAt(0)\n const questionMarkCC = '?'.charCodeAt(0)\n\n /**\n * returns text until the first nonAlphebetic letter\n */\n const nameSpacer = '\\r\\n\\t>/= '\n\n let pos = 0\n\n /**\n * Parsing a list of entries\n */\n function parseChildren () {\n const children = []\n while (S[pos]) {\n if (S.charCodeAt(pos) === openBracketCC) {\n if (S.charCodeAt(pos + 1) === slashCC) { // </\n // while (S[pos]!=='>') { pos++; }\n pos = S.indexOf(closeBracket, pos)\n return children\n } else if (S.charCodeAt(pos + 1) === exclamationCC) { // <! or <!--\n if (S.charCodeAt(pos + 2) === minusCC) {\n // comment support\n while (!(S.charCodeAt(pos) === closeBracketCC && S.charCodeAt(pos - 1) === minusCC &&\n S.charCodeAt(pos - 2) === minusCC && pos !== -1)) {\n pos = S.indexOf(closeBracket, pos + 1)\n }\n if (pos === -1) {\n pos = S.length\n }\n } else {\n // doctype support\n pos += 2\n for (; S.charCodeAt(pos) !== closeBracketCC; pos++) {}\n }\n pos++\n continue\n } else if (S.charCodeAt(pos + 1) === questionMarkCC) { // <?\n // XML header support\n pos = S.indexOf(closeBracket, pos)\n pos++\n continue\n }\n pos++\n let startNamePos = pos\n for (; nameSpacer.indexOf(S[pos]) === -1; pos++) {}\n const nodeTagName = S.slice(startNamePos, pos)\n\n // Parsing attributes\n let attrFound = false\n let nodeAttributes = {}\n for (; S.charCodeAt(pos) !== closeBracketCC; pos++) {\n const c = S.charCodeAt(pos)\n if ((c > 64 && c < 91) || (c > 96 && c < 123)) {\n startNamePos = pos\n for (; nameSpacer.indexOf(S[pos]) === -1; pos++) {}\n const name = S.slice(startNamePos, pos)\n // search beginning of the string\n let code = S.charCodeAt(pos)\n while (code !== singleQuoteCC && code !== doubleQuoteCC) {\n pos++\n code = S.charCodeAt(pos)\n }\n\n const startChar = S[pos]\n const startStringPos = ++pos\n pos = S.indexOf(startChar, startStringPos)\n const value = S.slice(startStringPos, pos)\n if (!attrFound) {\n nodeAttributes = {}\n attrFound = true\n }\n nodeAttributes[name] = value\n }\n }\n\n // Optional parsing of children\n let nodeChildren\n if (S.charCodeAt(pos - 1) !== slashCC) {\n pos++\n nodeChildren = parseChildren()\n }\n\n children.push({\n 'children': nodeChildren,\n 'tagName': nodeTagName,\n 'attrs': nodeAttributes\n })\n } else {\n const startTextPos = pos\n pos = S.indexOf(openBracket, pos) - 1 // Skip characters until '<'\n if (pos === -2) {\n pos = S.length\n }\n const text = S.slice(startTextPos, pos + 1)\n if (text.trim().length > 0) {\n children.push(text)\n }\n }\n pos++\n }\n return children\n }\n\n _order = 1\n return simplefy(parseChildren())\n}\n\nfunction simplefy (children) {\n const node = {}\n\n if (children === undefined) {\n return {}\n }\n\n // Text node (e.g. <t>This is text.</t>)\n if (children.length === 1 && (typeof children[0] === 'string' || children[0] instanceof String)) {\n // eslint-disable-next-line no-new-wrappers\n return new String(children[0])\n }\n\n // map each object\n children.forEach(function (child) {\n if (!node[child.tagName]) {\n node[child.tagName] = []\n }\n\n if (typeof child === 'object') {\n const kids = simplefy(child.children)\n if (child.attrs) {\n kids.attrs = child.attrs\n }\n\n if (kids['attrs'] === undefined) {\n kids['attrs'] = {'order': _order}\n } else {\n kids['attrs']['order'] = _order\n }\n _order++\n node[child.tagName].push(kids)\n }\n })\n\n for (let i in node) {\n if (node[i].length === 1) {\n node[i] = node[i][0]\n }\n }\n\n return node\n}\n","/**\n * Colorz (or Colz) is a Javascript \"library\" to help\n * in color conversion between the usual color-spaces\n * Hex - Rgb - Hsl / Hsv - Hsb\n *\n * It provides some helpers to output Canvas / CSS\n * color strings.\n *\n * by Carlos Cabo 2013\n * http://carloscabo.com\n *\n * Some formulas borrowed from Wikipedia or other authors.\n */\n\nconst round = Math.round\n\n/*\n ==================================\n Color constructors\n ==================================\n*/\n\nexport class Rgb {\n constructor (col) {\n this.r = col[0]\n this.g = col[1]\n this.b = col[2]\n }\n\n toString () {\n return `rgb(${this.r},${this.g},${this.b})`\n }\n}\n\nexport class Rgba extends Rgb {\n constructor (col) {\n super(col)\n this.a = col[3]\n }\n\n toString () {\n return `rgba(${this.r},${this.g},${this.b},${this.a})`\n }\n}\n\nexport class Hsl {\n constructor (col) {\n this.h = col[0]\n this.s = col[1]\n this.l = col[2]\n }\n\n toString () {\n return `hsl(${this.h},${this.s}%,${this.l}%)`\n }\n}\n\nexport class Hsla extends Hsl {\n constructor (col) {\n super(col)\n this.a = col[3]\n }\n\n toString () {\n return `hsla(${this.h},${this.s}%,${this.l}%,${this.a})`\n }\n}\n\n/*\n ==================================\n Main Colz color object\n ==================================\n*/\nexport class Color {\n constructor (r, g, b, a = 1.0) {\n // If args are not given in (r, g, b, [a]) format, convert\n if (typeof r === 'string') {\n let str = r\n // Add initial '#' if missing\n if (str.charAt(0) !== '#') { str = '#' + str }\n // If Hex in #fff format convert to #ffffff\n if (str.length < 7) {\n str = '#' + str[1] + str[1] + str[2] + str[2] + str[3] + str[3]\n }\n ([r, g, b] = hexToRgb(str))\n } else if (r instanceof Array) {\n a = r[3] || a\n b = r[2]\n g = r[1]\n r = r[0]\n }\n\n this.r = r\n this.g = g\n this.b = b\n this.a = a\n\n this.rgb = new Rgb([this.r, this.g, this.b])\n this.rgba = new Rgba([this.r, this.g, this.b, this.a])\n this.hex = rgbToHex(this.r, this.g, this.b)\n\n this.hsl = new Hsl(rgbToHsl(this.r, this.g, this.b))\n this.h = this.hsl.h\n this.s = this.hsl.s\n this.l = this.hsl.l\n this.hsla = new Hsla([this.h, this.s, this.l, this.a])\n }\n\n setHue (newHue) {\n this.h = newHue\n this.hsl.h = newHue\n this.hsla.h = newHue\n this.updateFromHsl()\n }\n\n setSat (newSat) {\n this.s = newSat\n this.hsl.s = newSat\n this.hsla.s = newSat\n this.updateFromHsl()\n }\n\n setLum (newLum) {\n this.l = newLum\n this.hsl.l = newLum\n this.hsla.l = newLum\n this.updateFromHsl()\n }\n\n setAlpha (newAlpha) {\n this.a = newAlpha\n this.hsla.a = newAlpha\n this.rgba.a = newAlpha\n }\n\n updateFromHsl () {\n // Updates Rgb\n this.rgb = null\n this.rgb = new Rgb(hslToRgb(this.h, this.s, this.l))\n\n this.r = this.rgb.r\n this.g = this.rgb.g\n this.b = this.rgb.b\n this.rgba.r = this.rgb.r\n this.rgba.g = this.rgb.g\n this.rgba.b = this.rgb.b\n\n // Updates Hex\n this.hex = null\n this.hex = rgbToHex([this.r, this.g, this.b])\n }\n}\n\n/*\n ==================================\n Public Methods\n ==================================\n*/\n\nexport const randomColor = function () {\n const r = '#' + Math.random().toString(16).slice(2, 8)\n return new Color(r)\n}\n\nexport const hexToRgb = function (hex) {\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex)\n return result ? [\n parseInt(result[1], 16),\n parseInt(result[2], 16),\n parseInt(result[3], 16)\n ] : null\n}\n\nexport const componentToHex = function (c) {\n const hex = c.toString(16)\n return hex.length === 1 ? '0' + hex : hex\n}\n\n// You can pass 3 numeric values or 1 Array\nexport const rgbToHex = function (r, g, b) {\n if (r instanceof Array) {\n b = r[2]\n g = r[1]\n r = r[0]\n }\n return '#' + componentToHex(r) + componentToHex(g) + componentToHex(b)\n}\n\n/**\n * Converts an RGB color value to HSL. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n *\n * @param {Number} r The red color value\n * @param {Number} g The green color value\n * @param {Number} b The blue color value\n * @return {Array} The HSL representation\n */\nexport const rgbToHsl = function (r, g, b) {\n if (r instanceof Array) {\n b = r[2]\n g = r[1]\n r = r[0]\n }\n\n let h, s, l, d, max, min\n\n r /= 255\n g /= 255\n b /= 255\n\n max = Math.max(r, g, b)\n min = Math.min(r, g, b)\n l = (max + min) / 2\n\n if (max === min) {\n h = s = 0 // achromatic\n } else {\n d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n\n h /= 6\n }\n\n // CARLOS\n h = round(h * 360)\n s = round(s * 100)\n l = round(l * 100)\n\n return [h, s, l]\n}\n\nexport const hue2rgb = function (p, q, t) {\n if (t < 0) { t += 1 }\n if (t > 1) { t -= 1 }\n if (t < 1 / 6) { return p + (q - p) * 6 * t }\n if (t < 1 / 2) { return q }\n if (t < 2 / 3) { return p + (q - p) * (2 / 3 - t) * 6 }\n return p\n}\n\n/**\n * Converts an HSL color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSL_color_space.\n *\n * @param {Number} h The hue\n * @param {Number} s The saturation\n * @param {Number} l The lightness\n * @return {Array} The RGB representation\n */\n\nexport const hslToRgb = function (h, s, l) {\n if (h instanceof Array) {\n l = h[2]\n s = h[1]\n h = h[0]\n }\n h = h / 360\n s = s / 100\n l = l / 100\n\n let r, g, b, q, p\n\n if (s === 0) {\n r = g = b = l // achromatic\n } else {\n q = l < 0.5 ? l * (1 + s) : l + s - l * s\n p = 2 * l - q\n r = hue2rgb(p, q, h + 1 / 3)\n g = hue2rgb(p, q, h)\n b = hue2rgb(p, q, h - 1 / 3)\n }\n return [round(r * 255), round(g * 255), round(b * 255)]\n}\n\n/**\n * Converts an RGB color value to HSB / HSV. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSV_color_space.\n *\n * @param {Number} r The red color value\n * @param {Number} g The green color value\n * @param {Number} b The blue color value\n * @return {Array} The HSB representation\n */\nexport const rgbToHsb = function (r, g, b) {\n let max, min, h, s, v, d\n\n r = r / 255\n g = g / 255\n b = b / 255\n\n max = Math.max(r, g, b)\n min = Math.min(r, g, b)\n v = max\n\n d = max - min\n s = max === 0 ? 0 : d / max\n\n if (max === min) {\n h = 0 // achromatic\n } else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n h /= 6\n }\n\n // map top 360,100,100\n h = round(h * 360)\n s = round(s * 100)\n v = round(v * 100)\n\n return [h, s, v]\n}\n\n/**\n * Converts an HSB / HSV color value to RGB. Conversion formula\n * adapted from http://en.wikipedia.org/wiki/HSV_color_space.\n *\n * @param {Number} h The hue\n * @param {Number} s The saturation\n * @param {Number} v The value\n * @return {Array} The RGB representation\n */\nexport const hsbToRgb = function (h, s, v) {\n let r, g, b, i, f, p, q, t\n\n // h = h / 360;\n if (v === 0) { return [0, 0, 0] }\n\n s = s / 100\n v = v / 100\n h = h / 60\n\n i = Math.floor(h)\n f = h - i\n p = v * (1 - s)\n q = v * (1 - (s * f))\n t = v * (1 - (s * (1 - f)))\n\n if (i === 0) {\n r = v\n g = t\n b = p\n } else if (i === 1) {\n r = q\n g = v\n b = p\n } else if (i === 2) {\n r = p\n g = v\n b = t\n } else if (i === 3) {\n r = p\n g = q\n b = v\n } else if (i === 4) {\n r = t\n g = p\n b = v\n } else if (i === 5) {\n r = v\n g = p\n b = q\n }\n\n r = Math.floor(r * 255)\n g = Math.floor(g * 255)\n b = Math.floor(b * 255)\n\n return [r, g, b]\n}\n\nexport const hsvToRgb = hsbToRgb // alias\n\n/* Convert from Hsv */\nexport const hsbToHsl = function (h, s, b) {\n return rgbToHsl(hsbToRgb(h, s, b))\n}\n\nexport const hsvToHsl = hsbToHsl // alias\n\n/*\n ==================================\n Color Scheme Builder\n ==================================\n*/\nexport class ColorScheme {\n constructor (colorVal, angleArray) {\n this.palette = []\n\n if (angleArray === undefined && colorVal instanceof Array) {\n // Asume you passing a color array ['#f00','#0f0'...]\n this.createFromColors(colorVal)\n } else {\n // Create scheme from color + hue angles\n this.createFromAngles(colorVal, angleArray)\n }\n }\n\n createFromColors (colorVal) {\n for (let i in colorVal) {\n if (colorVal.hasOwn(i)) {\n // console.log(colorVal[i]);\n this.palette.push(new Color(colorVal[i]))\n }\n }\n return this.palette\n }\n\n createFromAngles (colorVal, angleArray) {\n this.palette.push(new Color(colorVal))\n\n for (let i in angleArray) {\n if (angleArray.hasOwn(i)) {\n const tempHue = (this.palette[0].h + angleArray[i]) % 360\n this.palette.push(new Color(hslToRgb(tempHue, this.palette[0].s, this.palette[0].l)))\n }\n }\n return this.palette\n }\n\n /* Complementary colors constructors */\n static Compl (colorVal) {\n return new this(colorVal, [180])\n }\n\n /* Triad */\n static Triad (colorVal) {\n return new this(colorVal, [120, 240])\n }\n\n /* Tetrad */\n static Tetrad (colorVal) {\n return new this(colorVal, [60, 180, 240])\n }\n\n /* Analogous */\n static Analog (colorVal) {\n return new this(colorVal, [-45, 45])\n }\n\n /* Split complementary */\n static Split (colorVal) {\n return new this(colorVal, [150, 210])\n }\n\n /* Accented Analogous */\n static Accent (colorVal) {\n return new this(colorVal, [-45, 45, 180])\n }\n}\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"jszip\");","\"use strict\";\n\nimport t_xml from \"./t_xml\";\nimport { Color } from \"./colz\";\nimport JSZip from \"jszip\";\n\nfunction base64ArrayBuffer(arrayBuff) {\n const buff = new Uint8Array(arrayBuff);\n let text = \"\";\n for (let i = 0; i < buff.byteLength; i++) {\n text += String.fromCharCode(buff[i]);\n }\n return btoa(text);\n}\n\nfunction extractFileExtension(filename) {\n const dot = filename.lastIndexOf(\".\");\n if (dot === 0 || dot === -1) return \"\";\n return filename.substr(filename.lastIndexOf(\".\") + 1);\n}\n\n/*\nfunction escapeHtml (text) {\n const map = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n '\\'': '''\n }\n return text.replace(/[&<>\"']/g, m => map[m])\n}\n*/\nexport default function processPptx(setOnMessage = () => {}, postMessage) {\n const charts = [];\n let chartID = 0;\n\n let themeContent = null;\n\n let slideLayoutClrOvride = \"\";\n\n const styleTable = {};\n\n let tableStyles;\n // 设置postMessage方法\n setOnMessage(async (e) => {\n switch (e.type) {\n case \"processPPTX\": {\n try {\n await processPPTX(e.data);\n } catch (e) {\n console.error(\"AN ERROR HAPPENED DURING processPPTX\", e);\n postMessage({\n type: \"ERROR\",\n data: e.toString(),\n });\n }\n break;\n }\n default:\n }\n });\n\n async function processPPTX(data) {\n const zip = await JSZip.loadAsync(data);\n const dateBefore = new Date();\n\n if (zip.file(\"docProps/thumbnail.jpeg\") !== null) {\n const pptxThumbImg = await zip\n .file(\"docProps/thumbnail.jpeg\")\n .async(\"base64\");\n postMessage({\n type: \"pptx-thumb\",\n data: pptxThumbImg,\n });\n }\n\n const filesInfo = await getContentTypes(zip);\n const slideSize = await getSlideSize(zip);\n themeContent = await loadTheme(zip);\n\n tableStyles = await readXmlFile(zip, \"ppt/tableStyles.xml\");\n\n postMessage({\n type: \"slideSize\",\n data: slideSize,\n });\n\n const numOfSlides = filesInfo[\"slides\"].length;\n for (let i = 0; i < numOfSlides; i++) {\n const filename = filesInfo[\"slides\"][i];\n const slideHtml = await processSingleSlide(zip, filename, i, slideSize);\n postMessage({\n type: \"slide\",\n data: slideHtml,\n });\n postMessage({\n type: \"progress-update\",\n data: ((i + 1) * 100) / numOfSlides,\n });\n }\n\n postMessage({\n type: \"globalCSS\",\n data: genGlobalCSS(),\n });\n\n const dateAfter = new Date();\n postMessage({\n type: \"Done\",\n data: {\n time: dateAfter - dateBefore,\n charts,\n },\n });\n }\n\n async function readXmlFile(zip, filename) {\n return t_xml(await zip.file(filename).async(\"text\"));\n }\n\n async function getContentTypes(zip) {\n const ContentTypesJson = await readXmlFile(zip, \"[Content_Types].xml\");\n // console.log('CONTENT TYPES JSON', ContentTypesJson)\n const subObj = ContentTypesJson[\"Types\"][\"Override\"];\n const slidesLocArray = [];\n const slideLayoutsLocArray = [];\n for (let i = 0; i < subObj.length; i++) {\n switch (subObj[i][\"attrs\"][\"ContentType\"]) {\n case \"application/vnd.openxmlformats-officedocument.presentationml.slide+xml\":\n slidesLocArray.push(subObj[i][\"attrs\"][\"PartName\"].substr(1));\n break;\n case \"application/vnd.openxmlformats-officedocument.presentationml.slideLayout+xml\":\n slideLayoutsLocArray.push(subObj[i][\"attrs\"][\"PartName\"].substr(1));\n break;\n default:\n }\n }\n return {\n slides: slidesLocArray,\n slideLayouts: slideLayoutsLocArray,\n };\n }\n\n async function getSlideSize(zip) {\n // Pixel = EMUs * Resolution / 914400; (Resolution = 96)\n const content = await readXmlFile(zip, \"ppt/presentation.xml\");\n const sldSzAttrs = content[\"p:presentation\"][\"p:sldSz\"][\"attrs\"];\n return {\n width: (parseInt(sldSzAttrs[\"cx\"]) * 96) / 914400,\n height: (parseInt(sldSzAttrs[\"cy\"]) * 96) / 914400,\n };\n }\n\n async function loadTheme(zip) {\n const preResContent = await readXmlFile(\n zip,\n \"ppt/_rels/presentation.xml.rels\"\n );\n const relationshipArray = preResContent[\"Relationships\"][\"Relationship\"];\n let themeURI;\n if (relationshipArray.constructor === Array) {\n for (let i = 0; i < relationshipArray.length; i++) {\n if (\n relationshipArray[i][\"attrs\"][\"Type\"] ===\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\"\n ) {\n themeURI = relationshipArray[i][\"attrs\"][\"Target\"];\n break;\n }\n }\n } else if (\n relationshipArray[\"attrs\"][\"Type\"] ===\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\"\n ) {\n themeURI = relationshipArray[\"attrs\"][\"Target\"];\n }\n\n if (themeURI === undefined) {\n throw Error(\"Can't open theme file.\");\n }\n\n return readXmlFile(zip, \"ppt/\" + themeURI);\n }\n\n async function processSingleSlide(zip, sldFileName, index, slideSize) {\n postMessage({\n type: \"INFO\",\n data: \"Processing slide\" + (index + 1),\n });\n\n // =====< Step 1 >=====\n // Read relationship filename of the slide (Get slideLayoutXX.xml)\n // @sldFileName: ppt/slides/slide1.xml\n // @resName: ppt/slides/_rels/slide1.xml.rels\n const resName =\n sldFileName.replace(\"slides/slide\", \"slides/_rels/slide\") + \".rels\";\n const resContent = await readXmlFile(zip, resName);\n let RelationshipArray = resContent[\"Relationships\"][\"Relationship\"];\n let layoutFilename = \"\";\n const slideResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideLayout\":\n layoutFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/notesSlide\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart\":\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink\":\n default: {\n slideResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n }\n } else {\n layoutFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // console.log(slideResObj);\n // Open slideLayoutXX.xml\n const slideLayoutContent = await readXmlFile(zip, layoutFilename);\n const slideLayoutTables = indexNodes(slideLayoutContent);\n const sldLayoutClrOvr =\n slideLayoutContent[\"p:sldLayout\"][\"p:clrMapOvr\"][\"a:overrideClrMapping\"];\n\n // console.log(slideLayoutClrOvride);\n if (sldLayoutClrOvr !== undefined) {\n slideLayoutClrOvride = sldLayoutClrOvr[\"attrs\"];\n }\n // =====< Step 2 >=====\n // Read slide master filename of the slidelayout (Get slideMasterXX.xml)\n // @resName: ppt/slideLayouts/slideLayout1.xml\n // @masterName: ppt/slideLayouts/_rels/slideLayout1.xml.rels\n const slideLayoutResFilename =\n layoutFilename.replace(\n \"slideLayouts/slideLayout\",\n \"slideLayouts/_rels/slideLayout\"\n ) + \".rels\";\n const slideLayoutResContent = await readXmlFile(\n zip,\n slideLayoutResFilename\n );\n RelationshipArray = slideLayoutResContent[\"Relationships\"][\"Relationship\"];\n let masterFilename = \"\";\n const layoutResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/slideMaster\":\n masterFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n default:\n layoutResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n } else {\n masterFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // Open slideMasterXX.xml\n const slideMasterContent = await readXmlFile(zip, masterFilename);\n const slideMasterTextStyles = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:txStyles\",\n ]);\n const slideMasterTables = indexNodes(slideMasterContent);\n\n // ///////////////Amir/////////////\n // Open slideMasterXX.xml.rels\n const slideMasterResFilename =\n masterFilename.replace(\n \"slideMasters/slideMaster\",\n \"slideMasters/_rels/slideMaster\"\n ) + \".rels\";\n const slideMasterResContent = await readXmlFile(\n zip,\n slideMasterResFilename\n );\n RelationshipArray = slideMasterResContent[\"Relationships\"][\"Relationship\"];\n let themeFilename = \"\";\n const masterResObj = {};\n if (RelationshipArray.constructor === Array) {\n for (let i = 0; i < RelationshipArray.length; i++) {\n switch (RelationshipArray[i][\"attrs\"][\"Type\"]) {\n case \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme\":\n themeFilename = RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n break;\n default:\n masterResObj[RelationshipArray[i][\"attrs\"][\"Id\"]] = {\n type: RelationshipArray[i][\"attrs\"][\"Type\"].replace(\n \"http://schemas.openxmlformats.org/officeDocument/2006/relationships/\",\n \"\"\n ),\n target: RelationshipArray[i][\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n ),\n };\n }\n }\n } else {\n themeFilename = RelationshipArray[\"attrs\"][\"Target\"].replace(\n \"../\",\n \"ppt/\"\n );\n }\n // console.log(themeFilename)\n // Load Theme file\n if (themeFilename !== undefined) {\n themeContent = await readXmlFile(zip, themeFilename);\n }\n // =====< Step 3 >=====\n const slideContent = await readXmlFile(zip, sldFileName);\n const nodes = slideContent[\"p:sld\"][\"p:cSld\"][\"p:spTree\"];\n const warpObj = {\n zip: zip,\n slideLayoutTables: slideLayoutTables,\n slideMasterTables: slideMasterTables,\n slideResObj: slideResObj,\n slideMasterTextStyles: slideMasterTextStyles,\n layoutResObj: layoutResObj,\n masterResObj: masterResObj,\n };\n\n const bgColor = await getSlideBackgroundFill(\n slideContent,\n slideLayoutContent,\n slideMasterContent,\n warpObj\n );\n\n let result =\n \"<section style='width:\" +\n slideSize.width +\n \"px; height:\" +\n slideSize.height +\n \"px;\" +\n bgColor +\n \"'>\";\n\n for (let nodeKey in nodes) {\n if (nodes[nodeKey].constructor === Array) {\n for (let i = 0; i < nodes[nodeKey].length; i++) {\n result += await processNodesInSlide(\n nodeKey,\n nodes[nodeKey][i],\n warpObj\n );\n }\n } else {\n result += await processNodesInSlide(nodeKey, nodes[nodeKey], warpObj);\n }\n }\n\n return result + \"</section>\";\n }\n\n function indexNodes(content) {\n const keys = Object.keys(content);\n const spTreeNode = content[keys[0]][\"p:cSld\"][\"p:spTree\"];\n\n const idTable = {};\n const idxTable = {};\n const typeTable = {};\n\n for (let key in spTreeNode) {\n if (key === \"p:nvGrpSpPr\" || key === \"p:grpSpPr\") {\n continue;\n }\n\n const targetNode = spTreeNode[key];\n\n if (targetNode.constructor === Array) {\n for (let i = 0; i < targetNode.length; i++) {\n const nvSpPrNode = targetNode[i][\"p:nvSpPr\"];\n const id = getTextByPathList(nvSpPrNode, [\"p:cNvPr\", \"attrs\", \"id\"]);\n const idx = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"idx\",\n ]);\n const type = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n\n if (id !== undefined) {\n idTable[id] = targetNode[i];\n }\n if (idx !== undefined) {\n idxTable[idx] = targetNode[i];\n }\n if (type !== undefined) {\n typeTable[type] = targetNode[i];\n }\n }\n } else {\n const nvSpPrNode = targetNode[\"p:nvSpPr\"];\n const id = getTextByPathList(nvSpPrNode, [\"p:cNvPr\", \"attrs\", \"id\"]);\n const idx = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"idx\",\n ]);\n const type = getTextByPathList(nvSpPrNode, [\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n\n if (id !== undefined) {\n idTable[id] = targetNode;\n }\n if (idx !== undefined) {\n idxTable[idx] = targetNode;\n }\n if (type !== undefined) {\n typeTable[type] = targetNode;\n }\n }\n }\n\n return { idTable: idTable, idxTable: idxTable, typeTable: typeTable };\n }\n\n async function processNodesInSlide(nodeKey, nodeValue, warpObj) {\n let result = \"\";\n\n switch (nodeKey) {\n case \"p:sp\": // Shape, Text\n result = await processSpNode(nodeValue, warpObj);\n break;\n case \"p:cxnSp\": // Shape, Text (with connection)\n result = await processCxnSpNode(nodeValue, warpObj);\n break;\n case \"p:pic\": // Picture\n result = await processPicNode(nodeValue, warpObj);\n break;\n case \"p:graphicFrame\": // Chart, Diagram, Table\n result = await processGraphicFrameNode(nodeValue, warpObj);\n break;\n case \"p:grpSp\": // 群組\n result = await processGroupSpNode(nodeValue, warpObj);\n break;\n default:\n }\n\n return result;\n }\n\n async function processGroupSpNode(node, warpObj) {\n const factor = 96 / 914400;\n\n const xfrmNode = node[\"p:grpSpPr\"][\"a:xfrm\"];\n const x = parseInt(xfrmNode[\"a:off\"][\"attrs\"][\"x\"]) * factor;\n const y = parseInt(xfrmNode[\"a:off\"][\"attrs\"][\"y\"]) * factor;\n const chx = parseInt(xfrmNode[\"a:chOff\"][\"attrs\"][\"x\"]) * factor;\n const chy = parseInt(xfrmNode[\"a:chOff\"][\"attrs\"][\"y\"]) * factor;\n const cx = parseInt(xfrmNode[\"a:ext\"][\"attrs\"][\"cx\"]) * factor;\n const cy = parseInt(xfrmNode[\"a:ext\"][\"attrs\"][\"cy\"]) * factor;\n const chcx = parseInt(xfrmNode[\"a:chExt\"][\"attrs\"][\"cx\"]) * factor;\n const chcy = parseInt(xfrmNode[\"a:chExt\"][\"attrs\"][\"cy\"]) * factor;\n\n const order = node[\"attrs\"][\"order\"];\n\n let result =\n \"<div class='block group' style='z-index: \" +\n order +\n \"; top: \" +\n (y - chy) +\n \"px; left: \" +\n (x - chx) +\n \"px; width: \" +\n (cx - chcx) +\n \"px; height: \" +\n (cy - chcy) +\n \"px;'>\";\n\n // Procsee all child nodes\n for (let nodeKey in node) {\n if (node[nodeKey].constructor === Array) {\n for (let i = 0; i < node[nodeKey].length; i++) {\n result += await processNodesInSlide(\n nodeKey,\n node[nodeKey][i],\n warpObj\n );\n }\n } else {\n result += await processNodesInSlide(nodeKey, node[nodeKey], warpObj);\n }\n }\n\n result += \"</div>\";\n\n return result;\n }\n\n async function processSpNode(node, warpObj) {\n /*\n * 958 <xsd:complexType name=\"CT_GvmlShape\">\n * 959 <xsd:sequence>\n * 960 <xsd:element name=\"nvSpPr\" type=\"CT_GvmlShapeNonVisual\" minOccurs=\"1\" maxOccurs=\"1\"/>\n * 961 <xsd:element name=\"spPr\" type=\"CT_ShapeProperties\" minOccurs=\"1\" maxOccurs=\"1\"/>\n * 962 <xsd:element name=\"txSp\" type=\"CT_GvmlTextShape\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 963 <xsd:element name=\"style\" type=\"CT_ShapeStyle\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 964 <xsd:element name=\"extLst\" type=\"CT_OfficeArtExtensionList\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 965 </xsd:sequence>\n * 966 </xsd:complexType>\n */\n\n const id = node[\"p:nvSpPr\"][\"p:cNvPr\"][\"attrs\"][\"id\"];\n const name = node[\"p:nvSpPr\"][\"p:cNvPr\"][\"attrs\"][\"name\"];\n const idx =\n node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined\n ? undefined\n : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"idx\"];\n let type =\n node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined\n ? undefined\n : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"type\"];\n const order = node[\"attrs\"][\"order\"];\n\n let slideLayoutSpNode;\n let slideMasterSpNode;\n\n if (type !== undefined) {\n if (idx !== undefined) {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"typeTable\"][type];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"typeTable\"][type];\n } else {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"typeTable\"][type];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"typeTable\"][type];\n }\n } else {\n if (idx !== undefined) {\n slideLayoutSpNode = warpObj[\"slideLayoutTables\"][\"idxTable\"][idx];\n slideMasterSpNode = warpObj[\"slideMasterTables\"][\"idxTable\"][idx];\n } else {\n // Nothing\n }\n }\n\n if (type === undefined) {\n type = getTextByPathList(slideLayoutSpNode, [\n \"p:nvSpPr\",\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n if (type === undefined) {\n type = getTextByPathList(slideMasterSpNode, [\n \"p:nvSpPr\",\n \"p:nvPr\",\n \"p:ph\",\n \"attrs\",\n \"type\",\n ]);\n }\n }\n\n return await genShape(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n id,\n name,\n idx,\n type,\n order,\n warpObj\n );\n }\n\n async function processCxnSpNode(node, warpObj) {\n const id = node[\"p:nvCxnSpPr\"][\"p:cNvPr\"][\"attrs\"][\"id\"];\n const name = node[\"p:nvCxnSpPr\"][\"p:cNvPr\"][\"attrs\"][\"name\"];\n // const idx = (node[\"p:nvCxnSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined) ? undefined : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"idx\"];\n // const type = (node[\"p:nvCxnSpPr\"][\"p:nvPr\"][\"p:ph\"] === undefined) ? undefined : node[\"p:nvSpPr\"][\"p:nvPr\"][\"p:ph\"][\"attrs\"][\"type\"];\n // <p:cNvCxnSpPr>(<p:cNvCxnSpPr>, <a:endCxn>)\n const order = node[\"attrs\"][\"order\"];\n\n return await genShape(\n node,\n undefined,\n undefined,\n id,\n name,\n undefined,\n undefined,\n order,\n warpObj\n );\n }\n\n async function genShape(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n id,\n name,\n idx,\n type,\n order,\n warpObj\n ) {\n const xfrmList = [\"p:spPr\", \"a:xfrm\"];\n const slideXfrmNode = getTextByPathList(node, xfrmList);\n const slideLayoutXfrmNode = getTextByPathList(slideLayoutSpNode, xfrmList);\n const slideMasterXfrmNode = getTextByPathList(slideMasterSpNode, xfrmList);\n\n let result = \"\";\n const shpId = getTextByPathList(node, [\"attrs\", \"order\"]);\n // console.log(\"shpId: \",shpId)\n const shapType = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"attrs\",\n \"prst\",\n ]);\n\n // custGeom - Amir\n const custShapType = getTextByPathList(node, [\"p:spPr\", \"a:custGeom\"]);\n\n let isFlipV = false;\n if (\n getTextByPathList(slideXfrmNode, [\"attrs\", \"flipV\"]) === \"1\" ||\n getTextByPathList(slideXfrmNode, [\"attrs\", \"flipH\"]) === \"1\"\n ) {\n isFlipV = true;\n }\n // ///////////////////////Amir////////////////////////\n // rotate\n const rotate = angleToDegrees(\n getTextByPathList(slideXfrmNode, [\"attrs\", \"rot\"])\n );\n // console.log(\"rotate: \"+rotate);\n // ////////////////////////////////////////////////\n let w;\n let h;\n let border;\n let headEndNodeAttrs;\n let tailEndNodeAttrs;\n let fillColor;\n let grndFillFlg = false;\n let imgFillFlg = false;\n if (shapType !== undefined || custShapType !== undefined) {\n // const off = getTextByPathList(slideXfrmNode, ['a:off', 'attrs'])\n // const x = parseInt(off['x']) * 96 / 914400\n // const y = parseInt(off['y']) * 96 / 914400\n\n const ext = getTextByPathList(slideXfrmNode, [\"a:ext\", \"attrs\"]);\n w = (parseInt(ext[\"cx\"]) * 96) / 914400;\n h = (parseInt(ext[\"cy\"]) * 96) / 914400;\n\n result +=\n \"<svg class='drawing' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, undefined, undefined) +\n getSize(slideXfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n result += \"<defs>\";\n // Fill Color\n fillColor = await getShapeFill(node, true, warpObj);\n const clrFillType = getFillType(getTextByPathList(node, [\"p:spPr\"]));\n // ///////////////////////////////////////\n if (clrFillType === \"GRADIENT_FILL\") {\n grndFillFlg = true;\n const colorArray = fillColor.color;\n const angl = fillColor.rot;\n const svgGrdnt = getSvgGradient(w, h, angl, colorArray, shpId);\n // fill=\"url(#linGrd)\"\n result += svgGrdnt;\n } else if (clrFillType === \"PIC_FILL\") {\n imgFillFlg = true;\n const svgBgImg = getSvgImagePattern(fillColor, shpId);\n // fill=\"url(#imgPtrn)\"\n // console.log(svgBgImg)\n result += svgBgImg;\n }\n // Border Color\n border = getBorder(node, true);\n\n headEndNodeAttrs = getTextByPathList(node, [\n \"p:spPr\",\n \"a:ln\",\n \"a:headEnd\",\n \"attrs\",\n ]);\n tailEndNodeAttrs = getTextByPathList(node, [\n \"p:spPr\",\n \"a:ln\",\n \"a:tailEnd\",\n \"attrs\",\n ]);\n // type: none, triangle, stealth, diamond, oval, arrow\n\n if (\n (headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")) ||\n (tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\"))\n ) {\n const triangleMarker =\n \"<marker id='markerTriangle_\" +\n shpId +\n \"' viewBox='0 0 10 10' refX='1' refY='5' markerWidth='5' markerHeight='5' stroke='\" +\n border.color +\n \"' fill='\" +\n border.color +\n \"' orient='auto-start-reverse' markerUnits='strokeWidth'><path d='M 0 0 L 10 5 L 0 10 z' /></marker>\";\n result += triangleMarker;\n }\n result += \"</defs>\";\n }\n if (shapType !== undefined && custShapType === undefined) {\n switch (shapType) {\n case \"accentBorderCallout1\":\n case \"accentBorderCallout2\":\n case \"accentBorderCallout3\":\n case \"accentCallout1\":\n case \"accentCallout2\":\n case \"accentCallout3\":\n case \"actionButtonBackPrevious\":\n case \"actionButtonBeginning\":\n case \"actionButtonBlank\":\n case \"actionButtonDocument\":\n case \"actionButtonEnd\":\n case \"actionButtonForwardNext\":\n case \"actionButtonHelp\":\n case \"actionButtonHome\":\n case \"actionButtonInformation\":\n case \"actionButtonMovie\":\n case \"actionButtonReturn\":\n case \"actionButtonSound\":\n case \"arc\":\n case \"bevel\":\n case \"blockArc\":\n case \"borderCallout1\":\n case \"borderCallout2\":\n case \"borderCallout3\":\n case \"bracePair\":\n case \"bracketPair\":\n case \"callout1\":\n case \"callout2\":\n case \"callout3\":\n case \"can\":\n case \"chartPlus\":\n case \"chartStar\":\n case \"chartX\":\n case \"chevron\":\n case \"chord\":\n case \"cloud\":\n case \"cloudCallout\":\n case \"corner\":\n case \"cornerTabs\":\n case \"cube\":\n case \"diagStripe\":\n case \"donut\":\n case \"doubleWave\":\n case \"downArrowCallout\":\n case \"ellipseRibbon\":\n case \"ellipseRibbon2\":\n case \"flowChartAlternateProcess\":\n case \"flowChartCollate\":\n case \"flowChartConnector\":\n case \"flowChartDecision\":\n case \"flowChartDelay\":\n case \"flowChartDisplay\":\n case \"flowChartDocument\":\n case \"flowChartExtract\":\n case \"flowChartInputOutput\":\n case \"flowChartInternalStorage\":\n case \"flowChartMagneticDisk\":\n case \"flowChartMagneticDrum\":\n case \"flowChartMagneticTape\":\n case \"flowChartManualInput\":\n case \"flowChartManualOperation\":\n case \"flowChartMerge\":\n case \"flowChartMultidocument\":\n case \"flowChartOfflineStorage\":\n case \"flowChartOffpageConnector\":\n case \"flowChartOnlineStorage\":\n case \"flowChartOr\":\n case \"flowChartPredefinedProcess\":\n case \"flowChartPreparation\":\n case \"flowChartProcess\":\n case \"flowChartPunchedCard\":\n case \"flowChartPunchedTape\":\n case \"flowChartSort\":\n case \"flowChartSummingJunction\":\n case \"flowChartTerminator\":\n case \"folderCorner\":\n case \"frame\":\n case \"funnel\":\n case \"gear6\":\n case \"gear9\":\n case \"halfFrame\":\n case \"heart\":\n case \"homePlate\":\n case \"horizontalScroll\":\n case \"irregularSeal1\":\n case \"irregularSeal2\":\n case \"leftArrowCallout\":\n case \"leftBrace\":\n case \"leftBracket\":\n case \"leftRightArrowCallout\":\n case \"leftRightRibbon\":\n case \"lightningBolt\":\n case \"lineInv\":\n case \"mathDivide\":\n case \"mathEqual\":\n case \"mathMinus\":\n case \"mathMultiply\":\n case \"mathNotEqual\":\n case \"mathPlus\":\n case \"moon\":\n case \"nonIsoscelesTrapezoid\":\n case \"noSmoking\":\n case \"pie\":\n case \"pieWedge\":\n case \"plaque\":\n case \"plaqueTabs\":\n case \"quadArrowCallout\":\n case \"rect\":\n case \"ribbon\":\n case \"ribbon2\":\n case \"rightArrowCallout\":\n case \"rightBrace\":\n case \"rightBracket\":\n case \"round1Rect\":\n case \"round2DiagRect\":\n case \"round2SameRect\":\n case \"smileyFace\":\n case \"snip1Rect\":\n case \"snip2DiagRect\":\n case \"snip2SameRect\":\n case \"snipRoundRect\":\n case \"squareTabs\":\n case \"star10\":\n case \"star12\":\n case \"star16\":\n case \"star24\":\n case \"star32\":\n case \"star4\":\n case \"star5\":\n case \"star6\":\n case \"star7\":\n case \"star8\":\n case \"sun\":\n case \"teardrop\":\n case \"upArrowCallout\":\n case \"upDownArrowCallout\":\n case \"verticalScroll\":\n case \"wave\":\n case \"wedgeEllipseCallout\":\n case \"wedgeRectCallout\":\n case \"wedgeRoundRectCallout\": {\n result +=\n \"<rect x='0' y='0' width='\" +\n w +\n \"' height='\" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"ellipse\": {\n result +=\n \"<ellipse cx='\" +\n w / 2 +\n \"' cy='\" +\n h / 2 +\n \"' rx='\" +\n w / 2 +\n \"' ry='\" +\n h / 2 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"roundRect\": {\n result +=\n \"<rect x='0' y='0' width='\" +\n w +\n \"' height='\" +\n h +\n \"' rx='7' ry='7' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentConnector2\": {\n // 直角 (path)\n let d;\n if (isFlipV) {\n d = \"M 0 \" + w + \" L \" + h + \" \" + w + \" L \" + h + \" 0\";\n } else {\n d = \"M \" + w + \" 0 L \" + w + \" \" + h + \" L 0 \" + h;\n }\n result +=\n \"<path d='\" +\n d +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' fill='none' \";\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n break;\n }\n case \"rtTriangle\": {\n result +=\n \" <polygon points='0 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"triangle\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let shapAdjstVal = 0.5;\n if (shapAdjst !== undefined) {\n shapAdjstVal = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nshapAdjst: \"+shapAdjst+\"\\nshapAdjstVal: \"+shapAdjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * shapAdjstVal +\n \" 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"diamond\": {\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n h / 2 +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"trapezoid\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adjstVal = 0.25;\n const maxAdjConst = 0.7407;\n if (shapAdjst !== undefined) {\n const adjst = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n adjstVal = (adjst * 0.5) / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nshapAdjst: \"+shapAdjst+\"\\nadjstVal: \"+adjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * adjstVal +\n \" 0,0 \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"parallelogram\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adjstVal = 0.25;\n let maxAdjConst;\n if (w > h) {\n maxAdjConst = w / h;\n } else {\n maxAdjConst = h / w;\n }\n if (shapAdjst !== undefined) {\n const adjst = parseInt(shapAdjst.substr(4)) / 100000;\n adjstVal = adjst / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nadjst: \"+adjstVal+\"\\nmaxAdjConst: \"+maxAdjConst);\n }\n result +=\n \" <polygon points='\" +\n adjstVal * w +\n \" 0,0 \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"pentagon\": {\n result +=\n \" <polygon points='\" +\n 0.5 * w +\n \" 0,0 \" +\n 0.375 * h +\n \",\" +\n 0.15 * w +\n \" \" +\n h +\n \",\" +\n 0.85 * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n 0.375 * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"hexagon\": {\n const shapAdjstArray =\n getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]) || [];\n let shapAdjst;\n for (let i = 0; i < shapAdjstArray.length; i++) {\n if (\n getTextByPathList(shapAdjstArray[i], [\"attrs\", \"name\"]) === \"adj\"\n ) {\n shapAdjst = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"fmla\",\n ]);\n }\n }\n let adjstVal = 0.25;\n const maxAdjConst = 0.62211;\n\n if (shapAdjst !== undefined) {\n const adjst = (parseInt(shapAdjst.substr(4)) * 96) / 9144000;\n adjstVal = (adjst * 0.5) / maxAdjConst;\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nadjst: \"+adjstVal);\n }\n result +=\n \" <polygon points='\" +\n w * adjstVal +\n \" 0,0 \" +\n h / 2 +\n \",\" +\n w * adjstVal +\n \" \" +\n h +\n \",\" +\n (1 - adjstVal) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n (1 - adjstVal) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"heptagon\": {\n result +=\n \" <polygon points='\" +\n 0.5 * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 4 +\n \",0 \" +\n (5 / 8) * h +\n \",\" +\n w / 4 +\n \" \" +\n h +\n \",\" +\n (3 / 4) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n (5 / 8) * h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 4 +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"octagon\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adj1 = 0.25;\n if (shapAdjst !== undefined) {\n adj1 = parseInt(shapAdjst.substr(4)) / 100000;\n }\n const adj2 = 1 - adj1;\n // console.log(\"adj1: \"+adj1+\"\\nadj2: \"+adj2);\n result +=\n \" <polygon points='\" +\n adj1 * w +\n \" 0,0 \" +\n adj1 * h +\n \",0 \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n adj2 * h +\n \",\" +\n w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n\n break;\n }\n case \"decagon\": {\n result +=\n \" <polygon points='\" +\n (3 / 8) * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 8 +\n \",0 \" +\n h / 2 +\n \",\" +\n w / 8 +\n \" \" +\n (7 / 8) * h +\n \",\" +\n (3 / 8) * w +\n \" \" +\n h +\n \",\" +\n (5 / 8) * w +\n \" \" +\n h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n (7 / 8) * h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 8 +\n \",\" +\n (5 / 8) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"dodecagon\": {\n result +=\n \" <polygon points='\" +\n (3 / 8) * w +\n \" 0,\" +\n w / 8 +\n \" \" +\n h / 8 +\n \",0 \" +\n (3 / 8) * h +\n \",0 \" +\n (5 / 8) * h +\n \",\" +\n w / 8 +\n \" \" +\n (7 / 8) * h +\n \",\" +\n (3 / 8) * w +\n \" \" +\n h +\n \",\" +\n (5 / 8) * w +\n \" \" +\n h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n (7 / 8) * h +\n \",\" +\n w +\n \" \" +\n (5 / 8) * h +\n \",\" +\n w +\n \" \" +\n (3 / 8) * h +\n \",\" +\n (7 / 8) * w +\n \" \" +\n h / 8 +\n \",\" +\n (5 / 8) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentConnector3\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n // console.log(\"isFlipV: \"+String(isFlipV)+\"\\nshapAdjst: \"+shapAdjst)\n let shapAdjstVal = 0.5;\n if (shapAdjst !== undefined) {\n shapAdjstVal = parseInt(shapAdjst.substr(4)) / 100000;\n // console.log(\"isFlipV: \"+String(isFlipV)+\"\\nshapAdjst: \"+shapAdjst+\"\\nshapAdjstVal: \"+shapAdjstVal);\n if (isFlipV) {\n result +=\n \" <polyline points='\" +\n w +\n \" 0,\" +\n (1 - shapAdjstVal) * w +\n \" 0,\" +\n (1 - shapAdjstVal) * w +\n \" \" +\n h +\n \",0 \" +\n h +\n \"' fill='transparent'\" +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n } else {\n result +=\n \" <polyline points='0 0,\" +\n shapAdjstVal * w +\n \" 0,\" +\n shapAdjstVal * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h +\n \"' fill='transparent'\" +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n }\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n }\n break;\n }\n case \"plus\": {\n const shapAdjst = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n \"attrs\",\n \"fmla\",\n ]);\n let adj1 = 0.25;\n if (shapAdjst !== undefined) {\n adj1 = parseInt(shapAdjst.substr(4)) / 100000;\n }\n const adj2 = 1 - adj1;\n result +=\n \" <polygon points='\" +\n adj1 * w +\n \" 0,\" +\n adj1 * w +\n \" \" +\n adj1 * h +\n \",0 \" +\n adj1 * h +\n \",0 \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n adj2 * h +\n \",\" +\n adj1 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n h +\n \",\" +\n adj2 * w +\n \" \" +\n adj2 * h +\n \",\" +\n w +\n \" \" +\n adj2 * h +\n \",\" +\n +w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" \" +\n adj1 * h +\n \",\" +\n adj2 * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n // console.log((!imgFillFlg?(grndFillFlg?\"url(#linGrd_\"+shpId+\")\":fillColor):\"url(#imgPtrn_\"+shpId+\")\"))\n break;\n }\n case \"line\":\n case \"straightConnector1\":\n case \"bentConnector4\":\n case \"bentConnector5\":\n case \"curvedConnector2\":\n case \"curvedConnector3\":\n case \"curvedConnector4\":\n case \"curvedConnector5\": {\n if (isFlipV) {\n result +=\n \"<line x1='\" +\n w +\n \"' y1='0' x2='0' y2='\" +\n h +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n } else {\n result +=\n \"<line x1='0' y1='0' x2='\" +\n w +\n \"' y2='\" +\n h +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n }\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n break;\n }\n case \"rightArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = 1 - sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n w +\n \" \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" 0,\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \",0 \" +\n sAdj1Val * h +\n \",0 \" +\n (1 - sAdj1Val) * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \", \" +\n sAdj2Val * w +\n \" \" +\n h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"leftArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='0 \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" \" +\n h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \", \" +\n sAdj2Val * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"downArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n (0.5 - sAdj1Val) * w +\n \" 0,\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",0 \" +\n (1 - sAdj2Val) * h +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \", \" +\n (0.5 + sAdj1Val) * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"upArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n sAdj2Val * h +\n \",\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n (0.5 - sAdj1Val) * w +\n \" \" +\n h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n h +\n \",\" +\n (0.5 + sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \", \" +\n w +\n \" \" +\n sAdj2Val * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"leftRightArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = w / h;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='0 \" +\n h / 2 +\n \",\" +\n sAdj2Val * w +\n \" \" +\n h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n (1 - sAdj2Val) * w +\n \" \" +\n (1 - sAdj1Val) * h +\n \",\" +\n (1 - sAdj2Val) * w +\n \" \" +\n h +\n \",\" +\n w +\n \" \" +\n h / 2 +\n \", \" +\n (1 - sAdj2Val) * w +\n \" 0,\" +\n (1 - sAdj2Val) * w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" \" +\n sAdj1Val * h +\n \",\" +\n sAdj2Val * w +\n \" 0' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"upDownArrow\": {\n const shapAdjstArray = getTextByPathList(node, [\n \"p:spPr\",\n \"a:prstGeom\",\n \"a:avLst\",\n \"a:gd\",\n ]);\n let sAdj1;\n let sAdj1Val = 0.5;\n let sAdj2;\n let sAdj2Val = 0.5;\n const maxSAdj2Const = h / w;\n if (shapAdjstArray !== undefined) {\n for (let i = 0; i < shapAdjstArray.length; i++) {\n const sAdjName = getTextByPathList(shapAdjstArray[i], [\n \"attrs\",\n \"name\",\n ]);\n if (sAdjName === \"adj1\") {\n sAdj1 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n sAdj1Val = 0.5 - parseInt(sAdj1.substr(4)) / 200000;\n } else if (sAdjName === \"adj2\") {\n sAdj2 = getTextByPathList(shapAdjstArray[i], [\"attrs\", \"fmla\"]);\n const sAdj2Val2 = parseInt(sAdj2.substr(4)) / 100000;\n sAdj2Val = sAdj2Val2 / maxSAdj2Const;\n }\n }\n }\n // console.log(\"w: \"+w+\"\\nh: \"+h+\"\\nsAdj1: \"+sAdj1Val+\"\\nsAdj2: \"+sAdj2Val);\n\n result +=\n \" <polygon points='\" +\n w / 2 +\n \" 0,0 \" +\n sAdj2Val * h +\n \",\" +\n sAdj1Val * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n sAdj1Val * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",0 \" +\n (1 - sAdj2Val) * h +\n \",\" +\n w / 2 +\n \" \" +\n h +\n \", \" +\n w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (1 - sAdj1Val) * w +\n \" \" +\n (1 - sAdj2Val) * h +\n \",\" +\n (1 - sAdj1Val) * w +\n \" \" +\n sAdj2Val * h +\n \",\" +\n w +\n \" \" +\n sAdj2Val * h +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' />\";\n break;\n }\n case \"bentArrow\":\n case \"bentUpArrow\":\n case \"stripedRightArrow\":\n case \"quadArrow\":\n case \"circularArrow\":\n case \"swooshArrow\":\n case \"leftRightUpArrow\":\n case \"leftUpArrow\":\n case \"leftCircularArrow\":\n case \"notchedRightArrow\":\n case \"curvedDownArrow\":\n case \"curvedLeftArrow\":\n case \"curvedRightArrow\":\n case \"curvedUpArrow\":\n case \"uturnArrow\":\n case \"leftRightCircularArrow\":\n break;\n case undefined:\n default:\n console.warn(\"Undefine shape type.\");\n }\n\n result += \"</svg>\";\n\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n } else if (custShapType !== undefined) {\n // custGeom here - Amir ///////////////////////////////////////////////////////\n // http://officeopenxml.com/drwSp-custGeom.php\n const pathLstNode = getTextByPathList(custShapType, [\"a:pathLst\"]);\n // const pathNode = getTextByPathList(pathLstNode, ['a:path', 'attrs'])\n // const maxX = parseInt(pathNode['w']) * 96 / 914400\n // const maxY = parseInt(pathNode['h']) * 96 / 914400\n // console.log(\"w = \"+w+\"\\nh = \"+h+\"\\nmaxX = \"+maxX +\"\\nmaxY = \" + maxY);\n // cheke if it is close shape\n const closeNode = getTextByPathList(pathLstNode, [\"a:path\", \"a:close\"]);\n const startPoint = getTextByPathList(pathLstNode, [\n \"a:path\",\n \"a:moveTo\",\n \"a:pt\",\n \"attrs\",\n ]) || { x: \"0\", y: \"0\" };\n const spX = (parseInt(startPoint[\"x\"]) * 96) / 914400;\n const spY = (parseInt(startPoint[\"y\"]) * 96) / 914400;\n let d = \"M\" + spX + \",\" + spY;\n const pathNodes = getTextByPathList(pathLstNode, [\"a:path\"]);\n const lnToNodes = pathNodes[\"a:lnTo\"];\n const cubicBezToNodes = pathNodes[\"a:cubicBezTo\"];\n const sortblAry = [];\n if (lnToNodes !== undefined) {\n Object.keys(lnToNodes).forEach(function (key) {\n const lnToPtNode = lnToNodes[key][\"a:pt\"];\n if (lnToPtNode !== undefined) {\n Object.keys(lnToPtNode).forEach(function (key2) {\n const ptObj = {};\n const lnToNoPt = lnToPtNode[key2];\n const ptX = lnToNoPt[\"x\"];\n const ptY = lnToNoPt[\"y\"];\n const ptOrdr = lnToNoPt[\"order\"];\n ptObj.type = \"lnto\";\n ptObj.order = ptOrdr;\n ptObj.x = ptX;\n ptObj.y = ptY;\n sortblAry.push(ptObj);\n // console.log(key2, lnToNoPt);\n });\n }\n });\n }\n if (cubicBezToNodes !== undefined) {\n Object.keys(cubicBezToNodes).forEach(function (key) {\n // console.log(\"cubicBezTo[\"+key+\"]:\");\n const cubicBezToPtNodes = cubicBezToNodes[key][\"a:pt\"];\n if (cubicBezToPtNodes !== undefined) {\n Object.keys(cubicBezToPtNodes).forEach(function (key2) {\n // console.log(\"cubicBezTo[\"+key+\"]pt[\"+key2+\"]:\");\n const cubBzPts = cubicBezToPtNodes[key2];\n Object.keys(cubBzPts).forEach(function (key3) {\n // console.log(key3, cubBzPts[key3]);\n const ptObj = {};\n const cubBzPt = cubBzPts[key3];\n const ptX = cubBzPt[\"x\"];\n const ptY = cubBzPt[\"y\"];\n const ptOrdr = cubBzPt[\"order\"];\n ptObj.type = \"cubicBezTo\";\n ptObj.order = ptOrdr;\n ptObj.x = ptX;\n ptObj.y = ptY;\n sortblAry.push(ptObj);\n });\n });\n }\n });\n }\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.order - b.order;\n });\n // console.log(sortByOrder);\n let k = 0;\n while (k < sortByOrder.length) {\n if (sortByOrder[k].type === \"lnto\") {\n const Lx = (parseInt(sortByOrder[k].x) * 96) / 914400;\n const Ly = (parseInt(sortByOrder[k].y) * 96) / 914400;\n d += \"L\" + Lx + \",\" + Ly;\n k++;\n } else {\n // \"cubicBezTo\"\n const Cx1 = (parseInt(sortByOrder[k].x) * 96) / 914400;\n const Cy1 = (parseInt(sortByOrder[k].y) * 96) / 914400;\n const Cx2 = (parseInt(sortByOrder[k + 1].x) * 96) / 914400;\n const Cy2 = (parseInt(sortByOrder[k + 1].y) * 96) / 914400;\n const Cx3 = (parseInt(sortByOrder[k + 2].x) * 96) / 914400;\n const Cy3 = (parseInt(sortByOrder[k + 2].y) * 96) / 914400;\n\n d +=\n \"C\" +\n Cx1 +\n \",\" +\n Cy1 +\n \" \" +\n Cx2 +\n \",\" +\n Cy2 +\n \" \" +\n Cx3 +\n \",\" +\n Cy3;\n k += 3;\n }\n }\n result +=\n \"<path d='\" +\n d +\n \"' fill='\" +\n (!imgFillFlg\n ? grndFillFlg\n ? \"url(#linGrd_\" + shpId + \")\"\n : fillColor\n : \"url(#imgPtrn_\" + shpId + \")\") +\n \"' stroke='\" +\n border.color +\n \"' stroke-width='\" +\n border.width +\n \"' stroke-dasharray='\" +\n border.strokeDasharray +\n \"' \";\n if (closeNode !== undefined) {\n // console.log(\"Close shape\");\n result += \"/>\";\n } else {\n // console.log(\"Open shape\");\n // check and add \"marker-start\" and \"marker-end\"\n if (\n headEndNodeAttrs !== undefined &&\n (headEndNodeAttrs[\"type\"] === \"triangle\" ||\n headEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-start='url(#markerTriangle_\" + shpId + \")' \";\n }\n if (\n tailEndNodeAttrs !== undefined &&\n (tailEndNodeAttrs[\"type\"] === \"triangle\" ||\n tailEndNodeAttrs[\"type\"] === \"arrow\")\n ) {\n result += \"marker-end='url(#markerTriangle_\" + shpId + \")' \";\n }\n result += \"/>\";\n }\n\n result += \"</svg>\";\n\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n\n // result = \"\";\n } else {\n result +=\n \"<div class='block content \" +\n getVerticalAlign(node, slideLayoutSpNode, slideMasterSpNode, type) +\n \"' _id='\" +\n id +\n \"' _idx='\" +\n idx +\n \"' _type='\" +\n type +\n \"' Name='\" +\n name +\n \"' style='\" +\n getPosition(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getSize(slideXfrmNode, slideLayoutXfrmNode, slideMasterXfrmNode) +\n getBorder(node, false) +\n (await getShapeFill(node, false, warpObj)) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'>\";\n\n // TextBody\n if (node[\"p:txBody\"] !== undefined) {\n result += await genTextBody(\n node[\"p:txBody\"],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n result += \"</div>\";\n }\n\n return result;\n }\n\n async function processPicNode(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n\n const rid = node[\"p:blipFill\"][\"a:blip\"][\"attrs\"][\"r:embed\"];\n const imgName = warpObj[\"slideResObj\"][rid][\"target\"];\n const imgFileExt = extractFileExtension(imgName).toLowerCase();\n const zip = warpObj[\"zip\"];\n const imgArrayBuffer = await zip.file(imgName).async(\"arraybuffer\");\n let mimeType = \"\";\n const xfrmNode = node[\"p:spPr\"][\"a:xfrm\"];\n // /////////////////////////////////////Amir//////////////////////////////\n const rotate = angleToDegrees(node[\"p:spPr\"][\"a:xfrm\"][\"attrs\"][\"rot\"]);\n // ////////////////////////////////////////////////////////////////////////\n mimeType = getImageMimeType(imgFileExt);\n return (\n \"<div class='block content' style='\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";\" +\n \"transform: rotate(\" +\n rotate +\n \"deg);\" +\n \"'><img src='data:\" +\n mimeType +\n \";base64,\" +\n base64ArrayBuffer(imgArrayBuffer) +\n \"' style='width: 100%; height: 100%'/></div>\"\n );\n }\n\n async function processGraphicFrameNode(node, warpObj) {\n let result = \"\";\n const graphicTypeUri = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"attrs\",\n \"uri\",\n ]);\n\n switch (graphicTypeUri) {\n case \"http://schemas.openxmlformats.org/drawingml/2006/table\":\n result = await genTable(node, warpObj);\n break;\n case \"http://schemas.openxmlformats.org/drawingml/2006/chart\":\n result = await genChart(node, warpObj);\n break;\n case \"http://schemas.openxmlformats.org/drawingml/2006/diagram\":\n result = genDiagram(node, warpObj);\n break;\n default:\n }\n\n return result;\n }\n\n /*\nfunction processSpPrNode (node, warpObj) {\n /!*\n * 2241 <xsd:complexType name=\"CT_ShapeProperties\">\n * 2242 <xsd:sequence>\n * 2243 <xsd:element name=\"xfrm\" type=\"CT_Transform2D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2244 <xsd:group ref=\"EG_Geometry\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2245 <xsd:group ref=\"EG_FillProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2246 <xsd:element name=\"ln\" type=\"CT_LineProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2247 <xsd:group ref=\"EG_EffectProperties\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2248 <xsd:element name=\"scene3d\" type=\"CT_Scene3D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2249 <xsd:element name=\"sp3d\" type=\"CT_Shape3D\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2250 <xsd:element name=\"extLst\" type=\"CT_OfficeArtExtensionList\" minOccurs=\"0\" maxOccurs=\"1\"/>\n * 2251 </xsd:sequence>\n * 2252 <xsd:attribute name=\"bwMode\" type=\"ST_BlackWhiteMode\" use=\"optional\"/>\n * 2253 </xsd:complexType>\n *!/\n\n // TODO:\n}\n*/\n\n async function genTextBody(\n textBodyNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n let text = \"\";\n const slideMasterTextStyles = warpObj[\"slideMasterTextStyles\"];\n\n if (textBodyNode === undefined) {\n return text;\n }\n // rtl : <p:txBody>\n // <a:bodyPr wrap=\"square\" rtlCol=\"1\">\n\n // const rtlStr = \"\";\n let pNode;\n let rNode;\n if (textBodyNode[\"a:p\"].constructor === Array) {\n // multi p\n for (let i = 0; i < textBodyNode[\"a:p\"].length; i++) {\n pNode = textBodyNode[\"a:p\"][i];\n rNode = pNode[\"a:r\"];\n\n // const isRTL = getTextDirection(pNode, type, slideMasterTextStyles);\n // rtlStr = \"\";//\"dir='\"+isRTL+\"'\";\n\n text +=\n \"<div class='\" +\n getHorizontalAlign(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \"'>\";\n text += await genBuChar(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n\n if (rNode === undefined) {\n // without r\n text += genSpanElement(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n } else if (rNode.constructor === Array) {\n // with multi r\n for (let j = 0; j < rNode.length; j++) {\n text += genSpanElement(\n rNode[j],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n // ////////////////Amir////////////\n if (pNode[\"a:br\"] !== undefined) {\n text += \"<br>\";\n }\n // ////////////////////////////////\n }\n } else {\n // with one r\n text += genSpanElement(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n text += \"</div>\";\n }\n } else {\n // one p\n pNode = textBodyNode[\"a:p\"];\n rNode = pNode[\"a:r\"];\n\n // const isRTL = getTextDirection(pNode, type, slideMasterTextStyles);\n // rtlStr = \"\";//\"dir='\"+isRTL+\"'\";\n\n text +=\n \"<div class='slide-prgrph \" +\n getHorizontalAlign(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \"'>\";\n text += await genBuChar(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n if (rNode === undefined) {\n // without r\n text += genSpanElement(\n pNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n } else if (rNode.constructor === Array) {\n // with multi r\n for (let j = 0; j < rNode.length; j++) {\n text += genSpanElement(\n rNode[j],\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n // ////////////////Amir////////////\n if (pNode[\"a:br\"] !== undefined) {\n text += \"<br>\";\n }\n // ////////////////////////////////\n }\n } else {\n // with one r\n text += genSpanElement(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n );\n }\n text += \"</div>\";\n }\n\n return text;\n }\n\n async function genBuChar(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n // /////////////////////////////////////Amir///////////////////////////////\n const sldMstrTxtStyles = warpObj[\"slideMasterTextStyles\"];\n\n const rNode = node[\"a:r\"];\n let dfltBultColor, dfltBultSize, bultColor, bultSize;\n if (rNode !== undefined) {\n dfltBultColor = getFontColor(rNode, type, sldMstrTxtStyles);\n dfltBultSize = getFontSize(\n rNode,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n sldMstrTxtStyles\n );\n } else {\n dfltBultColor = getFontColor(node, type, sldMstrTxtStyles);\n dfltBultSize = getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n sldMstrTxtStyles\n );\n }\n // console.log(\"Bullet Size: \" + bultSize);\n\n let bullet = \"\";\n // ///////////////////////////////////////////////////////////////\n\n const pPrNode = node[\"a:pPr\"];\n\n // ////////////////cheke if is rtl ///Amir ////////////////////////////////////\n const getRtlVal = getTextByPathList(pPrNode, [\"attrs\", \"rtl\"]);\n let isRTL = false;\n if (getRtlVal !== undefined && getRtlVal === \"1\") {\n isRTL = true;\n }\n // //////////////////////////////////////////////////////////\n\n let lvl = parseInt(getTextByPathList(pPrNode, [\"attrs\", \"lvl\"]));\n if (isNaN(lvl)) {\n lvl = 0;\n }\n\n const buChar = getTextByPathList(pPrNode, [\"a:buChar\", \"attrs\", \"char\"]);\n // ///////////////////////////////Amir///////////////////////////////////\n let buType = \"TYPE_NONE\";\n const buNum = getTextByPathList(pPrNode, [\"a:buAutoNum\", \"attrs\", \"type\"]);\n const buPic = getTextByPathList(pPrNode, [\"a:buBlip\"]);\n if (buChar !== undefined) {\n buType = \"TYPE_BULLET\";\n // console.log(\"Bullet Chr to code: \" + buChar.charCodeAt(0));\n }\n if (buNum !== undefined) {\n buType = \"TYPE_NUMERIC\";\n }\n if (buPic !== undefined) {\n buType = \"TYPE_BULPIC\";\n }\n\n let buFontAttrs;\n if (buType !== \"TYPE_NONE\") {\n buFontAttrs = getTextByPathList(pPrNode, [\"a:buFont\", \"attrs\"]);\n }\n // console.log(\"Bullet Type: \" + buType);\n // console.log(\"NumericTypr: \" + buNum);\n // console.log(\"buChar: \" + (buChar === undefined?'':buChar.charCodeAt(0)));\n // get definde bullet COLOR\n let defBultColor = \"NoNe\";\n\n if (pPrNode) {\n const buClrNode = pPrNode[\"a:buClr\"];\n if (buClrNode !== undefined) {\n defBultColor = getSolidFill(buClrNode);\n } else {\n // console.log(\"buClrNode: \" + buClrNode);\n }\n }\n\n if (defBultColor === \"NoNe\") {\n bultColor = dfltBultColor;\n } else {\n bultColor = \"#\" + defBultColor;\n }\n // get definde bullet SIZE\n let buFontSize;\n buFontSize = getTextByPathList(pPrNode, [\"a:buSzPts\", \"attrs\", \"val\"]); // pt\n if (buFontSize !== undefined) {\n bultSize = parseInt(buFontSize) / 100 + \"pt\";\n } else {\n buFontSize = getTextByPathList(pPrNode, [\"a:buSzPct\", \"attrs\", \"val\"]);\n if (buFontSize !== undefined) {\n const prcnt = parseInt(buFontSize) / 100000;\n // dfltBultSize = XXpt\n const dfltBultSizeNoPt = dfltBultSize.substr(\n 0,\n dfltBultSize.length - 2\n );\n bultSize = prcnt * parseInt(dfltBultSizeNoPt) + \"pt\";\n } else {\n bultSize = dfltBultSize;\n }\n }\n // //////////////////////////////////////////////////////////////////////\n let marginLeft;\n let marginRight;\n if (buType === \"TYPE_BULLET\") {\n // const buFontAttrs = getTextByPathList(pPrNode, [\"a:buFont\", \"attrs\"]);\n if (buFontAttrs !== undefined) {\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) /\n 914400;\n marginRight = parseInt(buFontAttrs[\"pitchFamily\"]);\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n }\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n const typeface = buFontAttrs[\"typeface\"];\n\n bullet =\n \"<span style='font-family: \" +\n typeface +\n \"; margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";color:\" +\n bultColor +\n \";font-size:\" +\n bultSize +\n \";\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl\";\n }\n bullet += \"'>\" + buChar + \"</span>\";\n } else {\n marginLeft = ((328600 * 96) / 914400) * lvl;\n\n bullet =\n \"<span style='margin-left: \" +\n marginLeft +\n \"px;'>\" +\n buChar +\n \"</span>\";\n }\n } else if (buType === \"TYPE_NUMERIC\") {\n // /////////Amir///////////////////////////////\n if (buFontAttrs !== undefined) {\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) /\n 914400;\n marginRight = parseInt(buFontAttrs[\"pitchFamily\"]);\n\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n }\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n // const typeface = buFontAttrs[\"typeface\"];\n\n bullet =\n \"<span style='margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";color:\" +\n bultColor +\n \";font-size:\" +\n bultSize +\n \";\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl;\";\n } else {\n bullet += \" float: left; direction:ltr;\";\n }\n bullet +=\n \"' data-bulltname = '\" +\n buNum +\n \"' data-bulltlvl = '\" +\n lvl +\n \"' class='numeric-bullet-style'></span>\";\n } else {\n marginLeft = ((328600 * 96) / 914400) * lvl;\n bullet = \"<span style='margin-left: \" + marginLeft + \"px;\";\n if (isRTL) {\n bullet += \" float: right; direction:rtl;\";\n } else {\n bullet += \" float: left; direction:ltr;\";\n }\n bullet +=\n \"' data-bulltname = '\" +\n buNum +\n \"' data-bulltlvl = '\" +\n lvl +\n \"' class='numeric-bullet-style'></span>\";\n }\n } else if (buType === \"TYPE_BULPIC\") {\n // PIC BULLET\n marginLeft =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marL\"])) * 96) / 914400;\n marginRight =\n (parseInt(getTextByPathList(pPrNode, [\"attrs\", \"marR\"])) * 96) / 914400;\n\n if (isNaN(marginRight)) {\n marginRight = 0;\n }\n // console.log(\"marginRight: \"+marginRight)\n // buPic\n if (isNaN(marginLeft)) {\n marginLeft = (328600 * 96) / 914400;\n } else {\n marginLeft = 0;\n }\n // const buPicId = getTextByPathList(buPic, [\"a:blip\",\"a:extLst\",\"a:ext\",\"asvg:svgBlip\" , \"attrs\", \"r:embed\"]);\n const buPicId = getTextByPathList(buPic, [\"a:blip\", \"attrs\", \"r:embed\"]);\n // const svgPicPath = ''\n let buImg;\n if (buPicId !== undefined) {\n // svgPicPath = warpObj[\"slideResObj\"][buPicId][\"target\"];\n // buImg = warpObj[\"zip\"].file(svgPicPath).asText();\n // }else{\n // buPicId = getTextByPathList(buPic, [\"a:blip\", \"attrs\", \"r:embed\"]);\n const imgPath = warpObj[\"slideResObj\"][buPicId][\"target\"];\n const imgArrayBuffer = await warpObj[\"zip\"]\n .file(imgPath)\n .async(\"arraybuffer\");\n const imgExt = imgPath.split(\".\").pop();\n const imgMimeType = getImageMimeType(imgExt);\n buImg =\n \"<img src='data:\" +\n imgMimeType +\n \";base64,\" +\n base64ArrayBuffer(imgArrayBuffer) +\n \"' style='width: 100%; height: 100%'/>\";\n // console.log(\"imgPath: \"+imgPath+\"\\nimgMimeType: \"+imgMimeType)\n }\n if (buPicId === undefined) {\n buImg = \"‣\";\n }\n bullet =\n \"<span style='margin-left: \" +\n marginLeft * lvl +\n \"px\" +\n \"; margin-right: \" +\n marginRight +\n \"px\" +\n \";width:\" +\n bultSize +\n \";display: inline-block; \";\n if (isRTL) {\n bullet += \" float: right;direction:rtl\";\n }\n bullet += \"'>\" + buImg + \" </span>\";\n // ////////////////////////////////////////////////////////////////////////////////////\n } else {\n bullet =\n \"<span style='margin-left: \" +\n ((328600 * 96) / 914400) * lvl +\n \"px\" +\n \"; margin-right: \" +\n 0 +\n \"px;'></span>\";\n }\n\n return bullet;\n }\n\n function genSpanElement(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n warpObj\n ) {\n const slideMasterTextStyles = warpObj[\"slideMasterTextStyles\"];\n\n let text = node[\"a:t\"];\n if (typeof text !== \"string\" && !(text instanceof String)) {\n text = getTextByPathList(node, [\"a:fld\", \"a:t\"]);\n if (typeof text !== \"string\" && !(text instanceof String)) {\n text = \" \";\n }\n }\n\n let styleText =\n \"color:\" +\n getFontColor(node, type, slideMasterTextStyles) +\n \";font-size:\" +\n getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) +\n \";font-family:\" +\n getFontType(node, type, slideMasterTextStyles) +\n \";font-weight:\" +\n getFontBold(node, type, slideMasterTextStyles) +\n \";font-style:\" +\n getFontItalic(node, type, slideMasterTextStyles) +\n \";text-decoration:\" +\n getFontDecoration(node, type, slideMasterTextStyles) +\n \";text-align:\" +\n getTextHorizontalAlign(node, type, slideMasterTextStyles) +\n \";vertical-align:\" +\n getTextVerticalAlign(node, type, slideMasterTextStyles) +\n \";\";\n // ////////////////Amir///////////////\n const highlight = getTextByPathList(node, [\"a:rPr\", \"a:highlight\"]);\n if (highlight !== undefined) {\n styleText += \"background-color:#\" + getSolidFill(highlight) + \";\";\n styleText += \"Opacity:\" + getColorOpacity(highlight) + \";\";\n }\n // /////////////////////////////////////////\n let cssName = \"\";\n\n if (styleText in styleTable) {\n cssName = styleTable[styleText][\"name\"];\n } else {\n cssName = \"_css_\" + (Object.keys(styleTable).length + 1);\n styleTable[styleText] = {\n name: cssName,\n text: styleText,\n };\n }\n\n const linkID = getTextByPathList(node, [\n \"a:rPr\",\n \"a:hlinkClick\",\n \"attrs\",\n \"r:id\",\n ]);\n // get link colors : TODO\n if (linkID !== undefined) {\n const linkURL = warpObj[\"slideResObj\"][linkID][\"target\"];\n return (\n \"<span class='text-block \" +\n cssName +\n \"'><a href='\" +\n linkURL +\n \"' target='_blank'>\" +\n text.replace(/\\s/i, \" \") +\n \"</a></span>\"\n );\n } else {\n return (\n \"<span class='text-block \" +\n cssName +\n \"'>\" +\n text.replace(/\\s/i, \" \") +\n \"</span>\"\n );\n }\n }\n\n function genGlobalCSS() {\n let cssText = \"\";\n for (let key in styleTable) {\n cssText +=\n \"section .\" +\n styleTable[key][\"name\"] +\n \"{\" +\n styleTable[key][\"text\"] +\n \"}\\n\";\n }\n return cssText;\n }\n\n async function genTable(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n const tableNode = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n ]);\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n // ///////////////////////////////////////Amir////////////////////////////////////////////////\n const getTblPr = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n \"a:tblPr\",\n ]);\n const getColsGrid = getTextByPathList(node, [\n \"a:graphic\",\n \"a:graphicData\",\n \"a:tbl\",\n \"a:tblGrid\",\n \"a:gridCol\",\n ]);\n let tblDir = \"\";\n if (getTblPr !== undefined) {\n const isRTL = getTblPr[\"attrs\"][\"rtl\"];\n tblDir = isRTL === 1 ? \"dir=rtl\" : \"dir=ltr\";\n }\n const firstRowAttr = getTblPr[\"attrs\"][\"firstRow\"]; // associated element <a:firstRow> in the table styles\n // const firstColAttr = getTblPr['attrs']['firstCol'] // associated element <a:firstCol> in the table styles\n // const lastRowAttr = getTblPr['attrs']['lastRow'] // associated element <a:lastRow> in the table styles\n // const lastColAttr = getTblPr['attrs']['lastCol'] // associated element <a:lastCol> in the table styles\n const bandRowAttr = getTblPr[\"attrs\"][\"bandRow\"]; // associated element <a:band1H>, <a:band2H> in the table styles\n // const bandColAttr = getTblPr['attrs']['bandCol'] // associated element <a:band1V>, <a:band2V> in the table styles\n // console.log(firstColAttr);\n // //////////////////////////////////////////////////////////////////////////////////////////\n let tableHtml =\n \"<table \" +\n tblDir +\n \" style='border-collapse: collapse;\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";'>\";\n\n const trNodes = tableNode[\"a:tr\"];\n if (trNodes.constructor === Array) {\n for (let i = 0; i < trNodes.length; i++) {\n // ////////////rows Style ////////////Amir\n const rowHeightParam = trNodes[i][\"attrs\"][\"h\"];\n let rowHeight = 0;\n let rowsStyl = \"\";\n if (rowHeightParam !== undefined) {\n rowHeight = (parseInt(rowHeightParam) * 96) / 914400;\n rowsStyl += \"height:\" + rowHeight + \"px;\";\n // tableHtml += \"<tr style='height:\"+rowHeight+\"px;'>\";\n }\n\n // get from Theme (tableStyles.xml) TODO\n // get tableStyleId = a:tbl => a:tblPr => a:tableStyleId\n let thisTblStyle = {};\n const tbleStyleId = getTblPr[\"a:tableStyleId\"];\n if (tbleStyleId !== undefined) {\n // get Style from tableStyles.xml by {const tbleStyleId}\n // table style object : tableStyles\n const tbleStylList = tableStyles[\"a:tblStyleLst\"][\"a:tblStyle\"] || [];\n\n for (let k = 0; k < tbleStylList.length; k++) {\n if (tbleStylList[k][\"attrs\"][\"styleId\"] === tbleStyleId) {\n thisTblStyle = tbleStylList[k];\n }\n }\n }\n // console.log(thisTblStyle);\n if (i === 0 && firstRowAttr !== undefined) {\n let fillColor = \"fff\";\n let colorOpacity = 1;\n if (thisTblStyle[\"a:firstRow\"] !== undefined) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // console.log(thisTblStyle[\"a:firstRow\"])\n\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:firstRow\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:firstRow\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n /*\n const styleText =\n \"color:\" + getFontColor(node, type, slideMasterTextStyles) +\n \";font-size:\" + getFontSize(node, slideLayoutSpNode, slideMasterSpNode, type, slideMasterTextStyles) +\n \";font-family:\" + getFontType(node, type, slideMasterTextStyles) +\n \";font-weight:\" + getFontBold(node, type, slideMasterTextStyles) +\n \";font-style:\" + getFontItalic(node, type, slideMasterTextStyles) +\n \";text-decoration:\" + getFontDecoration(node, type, slideMasterTextStyles) +\n \";text-align:\" + getTextHorizontalAlign(node, type, slideMasterTextStyles) +\n \";vertical-align:\" + getTextVerticalAlign(node, type, slideMasterTextStyles) +\n \";\";\n */\n }\n }\n rowsStyl +=\n \" background-color:#\" +\n fillColor +\n \";\" +\n \" opacity:\" +\n colorOpacity +\n \";\";\n } else if (i > 0 && bandRowAttr !== undefined) {\n let fillColor = \"fff\";\n let colorOpacity = 1;\n if (i % 2 === 0) {\n if (thisTblStyle[\"a:band2H\"] !== undefined) {\n // console.log(thisTblStyle[\"a:band2H\"]);\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:band2H\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:band2H\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n }\n // console.log(i,thisTblStyle)\n }\n /* else{\n const bgFillschemeClr = thisTblStyle[\"a:wholeTbl\"][\"a:tcStyle\"][\"a:fill\"][\"a:solidFill\"];\n if(bgFillschemeClr !==undefined){\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n //borders color\n //borders Width\n const borderStyl = thisTblStyle[\"a:wholeTbl\"][\"a:tcStyle\"][\"a:tcBdr\"];\n if(borderStyl !== undefined){\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n //console.log(thisTblStyle[\"a:wholeTbl\"])\n\n //Text Style - TODO\n const rowTxtStyl = thisTblStyle[\"a:wholeTbl\"][\"a:tcTxStyle\"];\n if(rowTxtStyl !== undefined){\n }\n } */\n } else {\n if (thisTblStyle[\"a:band1H\"] !== undefined) {\n const bgFillschemeClr = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcStyle\",\n \"a:fill\",\n \"a:solidFill\",\n ]);\n if (bgFillschemeClr !== undefined) {\n fillColor = getSolidFill(bgFillschemeClr);\n colorOpacity = getColorOpacity(bgFillschemeClr);\n }\n // borders color\n // borders Width\n const borderStyl = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcStyle\",\n \"a:tcBdr\",\n ]);\n if (borderStyl !== undefined) {\n const rowBorders = getTableBorders(borderStyl);\n rowsStyl += rowBorders;\n }\n // console.log(thisTblStyle[\"a:band1H\"])\n\n // Text Style - TODO\n const rowTxtStyl = getTextByPathList(thisTblStyle, [\n \"a:band1H\",\n \"a:tcTxStyle\",\n ]);\n if (rowTxtStyl !== undefined) {\n }\n }\n }\n rowsStyl +=\n \" background-color:#\" +\n fillColor +\n \";\" +\n \" opacity:\" +\n colorOpacity +\n \";\";\n }\n tableHtml += \"<tr style='\" + rowsStyl + \"'>\";\n // //////////////////////////////////////////////\n\n const tcNodes = trNodes[i][\"a:tc\"];\n\n if (tcNodes.constructor === Array) {\n for (let j = 0; j < tcNodes.length; j++) {\n const text = await genTextBody(\n tcNodes[j][\"a:txBody\"],\n undefined,\n undefined,\n undefined,\n warpObj\n );\n const rowSpan = getTextByPathList(tcNodes[j], [\"attrs\", \"rowSpan\"]);\n const colSpan = getTextByPathList(tcNodes[j], [\n \"attrs\",\n \"gridSpan\",\n ]);\n const vMerge = getTextByPathList(tcNodes[j], [\"attrs\", \"vMerge\"]);\n const hMerge = getTextByPathList(tcNodes[j], [\"attrs\", \"hMerge\"]);\n // Cells Style : TODO /////////////Amir\n // console.log(tcNodes[j]);\n // if(j==0 && ())\n const colWidthParam = getColsGrid[j][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[j][\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme (tableStyles.xml) TODO\n // get tableStyleId = a:tbl => a:tblPr => a:tableStyleId\n const tbleStyleId = getTblPr[\"a:tableStyleId\"];\n if (tbleStyleId !== undefined) {\n // get Style from tableStyles.xml by {const tbleStyleId}\n // table style object : tableStyles\n const tbleStylList =\n tableStyles[\"a:tblStyleLst\"][\"a:tblStyle\"] || [];\n\n for (let k = 0; k < tbleStylList.length; k++) {\n if (tbleStylList[k][\"attrs\"][\"styleId\"] === tbleStyleId) {\n // console.log(tbleStylList[k]);\n }\n }\n }\n // console.log(tbleStyleId);\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // console.log(fillColor);\n // //////////////////////////////////\n\n if (rowSpan !== undefined) {\n tableHtml +=\n \"<td rowspan='\" +\n parseInt(rowSpan) +\n \"' style='\" +\n colStyl +\n \"'>\" +\n text +\n \"</td>\";\n } else if (colSpan !== undefined) {\n tableHtml +=\n \"<td colspan='\" +\n parseInt(colSpan) +\n \"' style='\" +\n colStyl +\n \"'>\" +\n text +\n \"</td>\";\n } else if (vMerge === undefined && hMerge === undefined) {\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n }\n } else {\n const text = await genTextBody(tcNodes[\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[0][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n tableHtml += \"</tr>\";\n }\n } else {\n // ////////////row height ////////////Amir\n const rowHeightParam = trNodes[\"attrs\"][\"h\"];\n let rowHeight = 0;\n if (rowHeightParam !== undefined) {\n rowHeight = (parseInt(rowHeightParam) * 96) / 914400;\n tableHtml += \"<tr style='height:\" + rowHeight + \"px;'>\";\n } else {\n tableHtml += \"<tr>\";\n }\n // //////////////////////////////////////////////\n const tcNodes = trNodes[\"a:tc\"];\n if (tcNodes.constructor === Array) {\n for (let j = 0; j < tcNodes.length; j++) {\n const text = await genTextBody(tcNodes[j][\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[j][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[j][\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n // get tableStyleId\n // a:tbl => a:tblPr => a:tableStyleId\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n } else {\n const text = await genTextBody(tcNodes[\"a:txBody\"]);\n // Cells Style : TODO /////////////Amir\n const colWidthParam = getColsGrid[0][\"attrs\"][\"w\"];\n let colStyl = \"\";\n if (colWidthParam !== undefined) {\n const colWidth = (parseInt(colWidthParam) * 96) / 914400;\n colStyl += \"width:\" + colWidth + \"px;\";\n }\n const getFill = tcNodes[\"a:tcPr\"][\"a:solidFill\"];\n let fillColor = \"\";\n let colorOpacity = 1;\n if (getFill !== undefined) {\n // console.log(getFill);\n fillColor = getSolidFill(getFill);\n colorOpacity = getColorOpacity(getFill);\n } else {\n // get from Theme TODO\n }\n if (fillColor !== \"\") {\n colStyl += \" background-color:#\" + fillColor + \";\";\n colStyl += \" opacity\" + colorOpacity + \";\";\n }\n // //////////////////////////////////\n tableHtml += \"<td style='\" + colStyl + \"'>\" + text + \"</td>\";\n }\n tableHtml += \"</tr>\";\n }\n\n return tableHtml;\n }\n\n async function genChart(node, warpObj) {\n const order = node[\"attrs\"][\"order\"];\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n const result =\n \"<div id='chart\" +\n chartID +\n \"' class='block content' style='\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \" z-index: \" +\n order +\n \";'></div>\";\n\n const rid = node[\"a:graphic\"][\"a:graphicData\"][\"c:chart\"][\"attrs\"][\"r:id\"];\n const refName = warpObj[\"slideResObj\"][rid][\"target\"];\n const content = await readXmlFile(warpObj[\"zip\"], refName);\n const plotArea = getTextByPathList(content, [\n \"c:chartSpace\",\n \"c:chart\",\n \"c:plotArea\",\n ]);\n\n let chartData = null;\n for (let key in plotArea) {\n switch (key) {\n case \"c:lineChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"lineChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:barChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"barChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:pieChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"pieChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:pie3DChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"pie3DChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:areaChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"areaChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:scatterChart\":\n chartData = {\n type: \"createChart\",\n data: {\n chartID: \"chart\" + chartID,\n chartType: \"scatterChart\",\n chartData: extractChartData(plotArea[key][\"c:ser\"]),\n },\n };\n break;\n case \"c:catAx\":\n break;\n case \"c:valAx\":\n break;\n default:\n }\n }\n\n if (chartData !== null) {\n charts.push(chartData);\n }\n\n chartID++;\n return result;\n }\n\n function genDiagram(node, warpObj) {\n // const order = node['attrs']['order']\n const xfrmNode = getTextByPathList(node, [\"p:xfrm\"]);\n return (\n \"<div class='block content' style='border: 1px dotted;\" +\n getPosition(xfrmNode, undefined, undefined) +\n getSize(xfrmNode, undefined, undefined) +\n \"'>TODO: diagram</div>\"\n );\n }\n\n function getPosition(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let off;\n let x = -1;\n let y = -1;\n\n if (slideSpNode !== undefined) {\n off = slideSpNode[\"a:off\"][\"attrs\"];\n } else if (slideLayoutSpNode !== undefined) {\n off = slideLayoutSpNode[\"a:off\"][\"attrs\"];\n } else if (slideMasterSpNode !== undefined) {\n off = slideMasterSpNode[\"a:off\"][\"attrs\"];\n }\n\n if (off === undefined) {\n return \"\";\n } else {\n x = (parseInt(off[\"x\"]) * 96) / 914400;\n y = (parseInt(off[\"y\"]) * 96) / 914400;\n return isNaN(x) || isNaN(y) ? \"\" : \"top:\" + y + \"px; left:\" + x + \"px;\";\n }\n }\n\n function getSize(slideSpNode, slideLayoutSpNode, slideMasterSpNode) {\n let ext;\n let w = -1;\n let h = -1;\n\n if (slideSpNode !== undefined) {\n ext = slideSpNode[\"a:ext\"][\"attrs\"];\n } else if (slideLayoutSpNode !== undefined) {\n ext = slideLayoutSpNode[\"a:ext\"][\"attrs\"];\n } else if (slideMasterSpNode !== undefined) {\n ext = slideMasterSpNode[\"a:ext\"][\"attrs\"];\n }\n\n if (ext === undefined) {\n return \"\";\n } else {\n w = (parseInt(ext[\"cx\"]) * 96) / 914400;\n h = (parseInt(ext[\"cy\"]) * 96) / 914400;\n return isNaN(w) || isNaN(h)\n ? \"\"\n : \"width:\" + w + \"px; height:\" + h + \"px;\";\n }\n }\n\n function getHorizontalAlign(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n let algn = getTextByPathList(node, [\"a:pPr\", \"attrs\", \"algn\"]);\n if (algn === undefined) {\n algn = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:p\",\n \"a:pPr\",\n \"attrs\",\n \"algn\",\n ]);\n if (algn === undefined) {\n algn = getTextByPathList(slideMasterSpNode, [\n \"p:txBody\",\n \"a:p\",\n \"a:pPr\",\n \"attrs\",\n \"algn\",\n ]);\n if (algn === undefined) {\n switch (type) {\n case \"title\":\n case \"subTitle\":\n case \"ctrTitle\": {\n algn = getTextByPathList(slideMasterTextStyles, [\n \"p:titleStyle\",\n \"a:lvl1pPr\",\n \"attrs\",\n \"alng\",\n ]);\n break;\n }\n default: {\n algn = getTextByPathList(slideMasterTextStyles, [\n \"p:otherStyle\",\n \"a:lvl1pPr\",\n \"attrs\",\n \"alng\",\n ]);\n }\n }\n }\n }\n }\n // TODO:\n if (algn === undefined) {\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n return \"h-mid\";\n } else if (type === \"sldNum\") {\n return \"h-right\";\n }\n }\n return algn === \"ctr\" ? \"h-mid\" : algn === \"r\" ? \"h-right\" : \"h-left\";\n }\n\n function getVerticalAlign(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n // 上中下對齊: X, <a:bodyPr anchor=\"ctr\">, <a:bodyPr anchor=\"b\">\n let anchor = getTextByPathList(node, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n if (anchor === undefined) {\n anchor = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n if (anchor === undefined) {\n anchor = getTextByPathList(slideMasterSpNode, [\n \"p:txBody\",\n \"a:bodyPr\",\n \"attrs\",\n \"anchor\",\n ]);\n }\n }\n\n return anchor === \"ctr\" ? \"v-mid\" : anchor === \"b\" ? \"v-down\" : \"v-up\";\n }\n\n function getFontType(node, type, slideMasterTextStyles) {\n let typeface = getTextByPathList(node, [\n \"a:rPr\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n\n if (typeface === undefined) {\n const fontSchemeNode = getTextByPathList(themeContent, [\n \"a:theme\",\n \"a:themeElements\",\n \"a:fontScheme\",\n ]);\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:majorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n } else if (type === \"body\") {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:minorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n } else {\n typeface = getTextByPathList(fontSchemeNode, [\n \"a:minorFont\",\n \"a:latin\",\n \"attrs\",\n \"typeface\",\n ]);\n }\n }\n\n return typeface === undefined ? \"inherit\" : typeface;\n }\n\n function getFontColor(node, type, slideMasterTextStyles) {\n const solidFillNode = getTextByPathStr(node, \"a:rPr a:solidFill\");\n\n const color = getSolidFill(solidFillNode);\n // console.log(themeContent)\n // const schemeClr = getTextByPathList(buClrNode ,[\"a:schemeClr\", \"attrs\",\"val\"]);\n return color === undefined || color === \"FFF\" ? \"#000\" : \"#\" + color;\n }\n\n function getFontSize(\n node,\n slideLayoutSpNode,\n slideMasterSpNode,\n type,\n slideMasterTextStyles\n ) {\n let fontSize;\n let sz;\n if (node[\"a:rPr\"] !== undefined) {\n fontSize = parseInt(node[\"a:rPr\"][\"attrs\"][\"sz\"]) / 100;\n }\n\n if (isNaN(fontSize) || fontSize === undefined) {\n sz = getTextByPathList(slideLayoutSpNode, [\n \"p:txBody\",\n \"a:lstStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n fontSize = parseInt(sz) / 100;\n }\n\n if (isNaN(fontSize) || fontSize === undefined) {\n if (type === \"title\" || type === \"subTitle\" || type === \"ctrTitle\") {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:titleStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n } else if (type === \"body\") {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:bodyStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n } else if (type === \"dt\" || type === \"sldNum\") {\n sz = \"1200\";\n } else if (type === undefined) {\n sz = getTextByPathList(slideMasterTextStyles, [\n \"p:otherStyle\",\n \"a:lvl1pPr\",\n \"a:defRPr\",\n \"attrs\",\n \"sz\",\n ]);\n }\n fontSize = parseInt(sz) / 100;\n }\n\n const baseline = getTextByPathList(node, [\"a:rPr\", \"attrs\", \"baseline\"]);\n if (baseline !== undefined && !isNaN(fontSize)) {\n fontSize -= 10;\n }\n\n return isNaN(fontSize) ? \"inherit\" : fontSize + \"pt\";\n }\n\n function getFontBold(node, type, slideMasterTextStyles) {\n return node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"b\"] === \"1\"\n ? \"bold\"\n : \"initial\";\n }\n\n function getFontItalic(node, type, slideMasterTextStyles) {\n return node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"i\"] === \"1\"\n ? \"italic\"\n : \"normal\";\n }\n\n function getFontDecoration(node, type, slideMasterTextStyles) {\n // /////////////////////////////Amir///////////////////////////////\n if (node[\"a:rPr\"] !== undefined) {\n const underLine =\n node[\"a:rPr\"][\"attrs\"][\"u\"] !== undefined\n ? node[\"a:rPr\"][\"attrs\"][\"u\"]\n : \"none\";\n const strikethrough =\n node[\"a:rPr\"][\"attrs\"][\"strike\"] !== undefined\n ? node[\"a:rPr\"][\"attrs\"][\"strike\"]\n : \"noStrike\";\n // console.log(\"strikethrough: \"+strikethrough);\n\n if (underLine !== \"none\" && strikethrough === \"noStrike\") {\n return \"underline\";\n } else if (underLine === \"none\" && strikethrough !== \"noStrike\") {\n return \"line-through\";\n } else if (underLine !== \"none\" && strikethrough !== \"noStrike\") {\n return \"underline line-through\";\n } else {\n return \"initial\";\n }\n } else {\n return \"initial\";\n }\n // ///////////////////////////////////////////////////////////////\n // return (node[\"a:rPr\"] !== undefined && node[\"a:rPr\"][\"attrs\"][\"u\"] === \"sng\") ? \"underline\" : \"initial\";\n }\n\n // //////////////////////////////////Amir/////////////////////////////////////\n function getTextHorizontalAlign(node, type, slideMasterTextStyles) {\n const getAlgn = getTextByPathList(node, [\"a:pPr\", \"attrs\", \"algn\"]);\n let align = \"initial\";\n if (getAlgn !== undefined) {\n switch (getAlgn) {\n case \"l\": {\n align = \"left\";\n break;\n }\n case \"r\": {\n align = \"right\";\n break;\n }\n case \"ctr\": {\n align = \"center\";\n break;\n }\n case \"just\": {\n align = \"justify\";\n break;\n }\n case \"dist\": {\n align = \"justify\";\n break;\n }\n default:\n align = \"initial\";\n }\n }\n return align;\n }\n\n // ///////////////////////////////////////////////////////////////////\n function getTextVerticalAlign(node, type, slideMasterTextStyles) {\n const baseline = getTextByPathList(node, [\"a:rPr\", \"attrs\", \"baseline\"]);\n return baseline === undefined\n ? \"baseline\"\n : parseInt(baseline) / 1000 + \"%\";\n }\n\n // /////////////////////////////////Amir/////////////////////////////\n /*\nfunction getTextDirection (node, type, slideMasterTextStyles) {\n // get lvl\n const pprLvl = getTextByPathList(node, ['a:pPr', 'attrs', 'lvl'])\n const pprLvlNum = pprLvl === undefined ? 1 : Number(pprLvl) + 1\n const lvlNode = 'a:lvl' + pprLvlNum + 'pPr'\n const pprAlgn = getTextByPathList(node, ['a:pPr', 'attrs', 'algn'])\n const isDir = getTextByPathList(slideMasterTextStyles, ['p:bodyStyle', lvlNode, 'attrs', 'rtl'])\n // const tmp = getTextByPathList(node, [\"a:r\", \"a:t\"]);\n let dir = ''\n if (isDir !== undefined) {\n if (isDir === '1' && (pprAlgn === undefined || pprAlgn === 'r')) {\n dir = 'rtl'\n } else { // isDir ==\"0\"\n dir = 'ltr'\n }\n }\n // console.log(tmp,isDir,pprAlgn,dir)\n return dir\n}\n*/\n\n function getTableBorders(node) {\n let borderStyle = \"\";\n let obj;\n let borders;\n if (node[\"a:bottom\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:bottom\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-bottom\");\n }\n if (node[\"a:top\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:top\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-top\");\n }\n if (node[\"a:right\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:right\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-right\");\n }\n if (node[\"a:left\"] !== undefined) {\n obj = {\n \"p:spPr\": {\n \"a:ln\": node[\"a:left\"][\"a:ln\"],\n },\n };\n borders = getBorder(obj, false);\n borderStyle += borders.replace(\"border\", \"border-left\");\n }\n\n return borderStyle;\n }\n\n // ////////////////////////////////////////////////////////////////\n function getBorder(node, isSvgMode) {\n let cssText = \"border: \";\n\n // 1. presentationML\n const lineNode = node[\"p:spPr\"][\"a:ln\"];\n\n // Border width: 1pt = 12700, default = 0.75pt\n const borderWidth =\n parseInt(getTextByPathList(lineNode, [\"attrs\", \"w\"])) / 12700;\n if (isNaN(borderWidth) || borderWidth < 1) {\n cssText += \"1pt \";\n } else {\n cssText += borderWidth + \"pt \";\n }\n // Border type\n const borderType = getTextByPathList(lineNode, [\n \"a:prstDash\",\n \"attrs\",\n \"val\",\n ]);\n let strokeDasharray = \"0\";\n switch (borderType) {\n case \"solid\": {\n cssText += \"solid\";\n strokeDasharray = \"0\";\n break;\n }\n case \"dash\": {\n cssText += \"dashed\";\n strokeDasharray = \"5\";\n break;\n }\n case \"dashDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 5, 1, 5\";\n break;\n }\n case \"dot\": {\n cssText += \"dotted\";\n strokeDasharray = \"1, 5\";\n break;\n }\n case \"lgDash\": {\n cssText += \"dashed\";\n strokeDasharray = \"10, 5\";\n break;\n }\n case \"lgDashDotDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"10, 5, 1, 5, 1, 5\";\n break;\n }\n case \"sysDash\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2\";\n break;\n }\n case \"sysDashDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2, 1, 5\";\n break;\n }\n case \"sysDashDotDot\": {\n cssText += \"dashed\";\n strokeDasharray = \"5, 2, 1, 5, 1, 5\";\n break;\n }\n case \"sysDot\": {\n cssText += \"dotted\";\n strokeDasharray = \"2, 5\";\n break;\n }\n default: {\n cssText += \"solid\";\n strokeDasharray = \"0\";\n }\n }\n // Border color\n let borderColor = getTextByPathList(lineNode, [\n \"a:solidFill\",\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]);\n if (borderColor === undefined) {\n const schemeClrNode = getTextByPathList(lineNode, [\n \"a:solidFill\",\n \"a:schemeClr\",\n ]);\n if (schemeClrNode !== undefined) {\n const schemeClr =\n \"a:\" + getTextByPathList(schemeClrNode, [\"attrs\", \"val\"]);\n borderColor = getSchemeColorFromTheme(schemeClr, undefined);\n }\n }\n\n // 2. drawingML namespace\n if (borderColor === undefined) {\n const schemeClrNode = getTextByPathList(node, [\n \"p:style\",\n \"a:lnRef\",\n \"a:schemeClr\",\n ]);\n if (schemeClrNode !== undefined) {\n const schemeClr =\n \"a:\" + getTextByPathList(schemeClrNode, [\"attrs\", \"val\"]);\n borderColor = getSchemeColorFromTheme(schemeClr, undefined);\n }\n\n if (borderColor !== undefined) {\n let shade = getTextByPathList(schemeClrNode, [\n \"a:shade\",\n \"attrs\",\n \"val\",\n ]);\n if (shade !== undefined) {\n shade = parseInt(shade) / 100000;\n const color = new Color(\"#\" + borderColor);\n color.setLum(color.hsl.l * shade);\n borderColor = color.hex.replace(\"#\", \"\");\n }\n }\n }\n\n if (borderColor === undefined) {\n if (isSvgMode) {\n borderColor = \"none\";\n } else {\n borderColor = \"#000\";\n }\n } else {\n borderColor = \"#\" + borderColor;\n }\n cssText += \" \" + borderColor + \" \";\n\n if (isSvgMode) {\n return {\n color: borderColor,\n width: borderWidth,\n type: borderType,\n strokeDasharray: strokeDasharray,\n };\n } else {\n return cssText + \";\";\n }\n }\n\n async function getSlideBackgroundFill(\n slideContent,\n slideLayoutContent,\n slideMasterContent,\n warpObj\n ) {\n // console.log(slideContent)\n // getFillType(node)\n let bgPr = getTextByPathList(slideContent, [\n \"p:sld\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n let bgRef = getTextByPathList(slideContent, [\n \"p:sld\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n let bgcolor;\n\n if (bgPr !== undefined) {\n // bgcolor = \"background-color: blue;\";\n const bgFillTyp = getFillType(bgPr);\n\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n const picFillBase64 = await getPicFill(\n \"slideBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(picFillBase64);\n }\n // console.log(slideContent,slideMasterContent,colorArray,tintArray,rot,bgcolor)\n } else if (bgRef !== undefined) {\n // console.log(\"slideContent\",bgRef)\n let phClr;\n if (bgRef[\"a:srgbClr\"] !== undefined) {\n phClr = getTextByPathList(bgRef, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (bgRef[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(bgRef, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n phClr = getSchemeColorFromTheme(\"a:\" + schemeClr, slideMasterContent); // #...\n // console.log(\"schemeClr\",schemeClr,\"phClr=\",phClr)\n }\n const idx = Number(bgRef[\"attrs\"][\"idx\"]);\n\n if (idx === 0 || idx === 1000) {\n // no background\n } else if (idx > 0 && idx < 1000) {\n // fillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:fillStyleLst\"]\n // bgcolor = \"background: red;\";\n } else if (idx > 1000) {\n // bgFillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:bgFillStyleLst\"]\n const trueIdx = idx - 1000;\n const bgFillLst =\n themeContent[\"a:theme\"][\"a:themeElements\"][\"a:fmtScheme\"][\n \"a:bgFillStyleLst\"\n ];\n const sortblAry = [];\n Object.keys(bgFillLst).forEach(function (key) {\n const bgFillLstTyp = bgFillLst[key];\n if (key !== \"attrs\") {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {};\n obj[key] = bgFillLstTyp[i];\n obj[\"idex\"] = bgFillLstTyp[i][\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n } else {\n const obj = {};\n obj[key] = bgFillLstTyp;\n obj[\"idex\"] = bgFillLstTyp[\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n }\n });\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.idex - b.idex;\n });\n const bgFillLstIdx = sortByOrder[trueIdx - 1];\n const bgFillTyp = getFillType(bgFillLstIdx);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgFillLstIdx[\"a:solidFill\"];\n // const sldBgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(phClr) + \",\" + sldTint + \");\";\n // console.log(\"slideMasterContent - sldFill\",sldFill)\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgFillLstIdx[\"a:gradFill\"];\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n const loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"gsLst\",gsLst)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" + hexToRgbNew(phClr) + \",\" + tintArray[i] + \")\" + \");\";\n } else {\n bgcolor +=\n \"rgba(\" + hexToRgbNew(phClr) + \",\" + tintArray[i] + \")\" + \", \";\n }\n }\n }\n }\n } else {\n bgPr = getTextByPathList(slideLayoutContent, [\n \"p:sldLayout\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n bgRef = getTextByPathList(slideLayoutContent, [\n \"p:sldLayout\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n // console.log(\"slideLayoutContent\",bgPr,bgRef)\n if (bgPr !== undefined) {\n const bgFillTyp = getFillType(bgPr);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] = loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"colorArray\",colorArray,\"tintArray\",tintArray)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n // console.log(\"bgPr\",bgPr,\"bgFillTyp\",bgFillTyp)\n const picFillBase64 = await getPicFill(\n \"layoutBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(warpObj)\n }\n // console.log(\"slideLayoutContent\",bgcolor)\n } else if (bgRef !== undefined) {\n bgcolor = \"background: red;\";\n } else {\n bgPr = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgPr\",\n ]);\n bgRef = getTextByPathList(slideMasterContent, [\n \"p:sldMaster\",\n \"p:cSld\",\n \"p:bg\",\n \"p:bgRef\",\n ]);\n\n // console.log(\"bgRef\",bgRef[\"a:schemeClr\"][\"attrs\"][\"val\"])\n if (bgPr !== undefined) {\n const bgFillTyp = getFillType(bgPr);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgPr[\"a:solidFill\"];\n const bgColor = getSolidFill(sldFill);\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(bgColor) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgPr[\"a:gradFill\"];\n // const grdFillVals = getGradientFill(grdFill);\n // console.log(\"grdFillVals\",grdFillVals)\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const colorArray = [];\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n let loTint;\n let loColor;\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n loColor = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"attrs\",\n \"val\",\n ]); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n loColor = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(\"schemeClr\",schemeClr,slideMasterContent)\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n tintArray[i] =\n loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n // console.log(\"colorArray\",colorArray,\"tintArray\",tintArray)\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(colorArray[i]) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else if (bgFillTyp === \"PIC_FILL\") {\n // console.log(\"bgPr\",bgPr,\"bgFillTyp\",bgFillTyp)\n const picFillBase64 = await getPicFill(\n \"masterBg\",\n bgPr[\"a:blipFill\"],\n warpObj\n );\n const ordr = bgPr[\"attrs\"][\"order\"];\n // a:srcRect\n // a:stretch => a:fillRect =>attrs (l:-17000, r:-17000)\n bgcolor =\n \"background-image: url(\" +\n picFillBase64 +\n \"); z-index: \" +\n ordr +\n \";\";\n // console.log(warpObj);\n }\n } else if (bgRef !== undefined) {\n // const obj={\n // \"a:solidFill\": bgRef\n // }\n // const phClr = getSolidFill(bgRef);\n let phClr;\n if (bgRef[\"a:srgbClr\"] !== undefined) {\n phClr = getTextByPathList(bgRef, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (bgRef[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(bgRef, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n\n phClr = getSchemeColorFromTheme(\n \"a:\" + schemeClr,\n slideMasterContent\n ); // #...\n // console.log(\"phClr\",phClr)\n }\n const idx = Number(bgRef[\"attrs\"][\"idx\"]);\n // console.log(\"phClr=\",phClr,\"idx=\",idx)\n\n if (idx === 0 || idx === 1000) {\n // no background\n } else if (idx > 0 && idx < 1000) {\n // fillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:fillStyleLst\"]\n // bgcolor = \"background: red;\";\n } else if (idx > 1000) {\n // bgFillStyleLst in themeContent\n // themeContent[\"a:fmtScheme\"][\"a:bgFillStyleLst\"]\n const trueIdx = idx - 1000;\n const bgFillLst =\n themeContent[\"a:theme\"][\"a:themeElements\"][\"a:fmtScheme\"][\n \"a:bgFillStyleLst\"\n ];\n const sortblAry = [];\n Object.keys(bgFillLst).forEach(function (key) {\n // console.log(\"cubicBezTo[\"+key+\"]:\");\n const bgFillLstTyp = bgFillLst[key];\n if (key !== \"attrs\") {\n if (bgFillLstTyp.constructor === Array) {\n for (let i = 0; i < bgFillLstTyp.length; i++) {\n const obj = {};\n obj[key] = bgFillLstTyp[i];\n obj[\"idex\"] = bgFillLstTyp[i][\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n } else {\n const obj = {};\n obj[key] = bgFillLstTyp;\n obj[\"idex\"] = bgFillLstTyp[\"attrs\"][\"order\"];\n sortblAry.push(obj);\n }\n }\n });\n const sortByOrder = sortblAry.slice(0);\n sortByOrder.sort(function (a, b) {\n return a.idex - b.idex;\n });\n const bgFillLstIdx = sortByOrder[trueIdx - 1];\n const bgFillTyp = getFillType(bgFillLstIdx);\n // console.log(\"bgFillLstIdx\",bgFillLstIdx);\n if (bgFillTyp === \"SOLID_FILL\") {\n const sldFill = bgFillLstIdx[\"a:solidFill\"];\n const sldTint = getColorOpacity(sldFill);\n bgcolor =\n \"background: rgba(\" + hexToRgbNew(phClr) + \",\" + sldTint + \");\";\n } else if (bgFillTyp === \"GRADIENT_FILL\") {\n const grdFill = bgFillLstIdx[\"a:gradFill\"];\n const gsLst = grdFill[\"a:gsLst\"][\"a:gs\"];\n // get start color\n // let startColorNode\n // let endColorNode\n const tintArray = [];\n for (let i = 0; i < gsLst.length; i++) {\n const loTint = getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n tintArray[i] =\n loTint !== undefined ? parseInt(loTint) / 100000 : 1;\n }\n\n // get rot\n const lin = grdFill[\"a:lin\"];\n let rot = 90;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < gsLst.length; i++) {\n if (i === gsLst.length - 1) {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(phClr) +\n \",\" +\n tintArray[i] +\n \")\" +\n \");\";\n } else {\n bgcolor +=\n \"rgba(\" +\n hexToRgbNew(phClr) +\n \",\" +\n tintArray[i] +\n \")\" +\n \", \";\n }\n }\n } else {\n // console.log(bgFillTyp) // TODO\n }\n }\n }\n }\n }\n\n // console.log(\"bgcolor: \",bgcolor)\n return bgcolor;\n }\n\n function hexToRgbNew(hex = \"FFFFFF\") {\n const arrBuff = new ArrayBuffer(4);\n const vw = new DataView(arrBuff);\n vw.setUint32(0, parseInt(hex, 16), false);\n const arrByte = new Uint8Array(arrBuff);\n\n return arrByte[1] + \",\" + arrByte[2] + \",\" + arrByte[3];\n }\n\n async function getShapeFill(node, isSvgMode, warpObj) {\n // 1. presentationML\n // p:spPr [a:noFill, solidFill, gradFill, blipFill, pattFill, grpFill]\n // From slide\n // Fill Type:\n // console.log(\"ShapeFill: \", node)\n const fillType = getFillType(getTextByPathList(node, [\"p:spPr\"]));\n let fillColor;\n if (fillType === \"NO_FILL\") {\n return isSvgMode ? \"none\" : \"background-color: initial;\";\n } else if (fillType === \"SOLID_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:solidFill\"];\n fillColor = getSolidFill(shpFill);\n } else if (fillType === \"GRADIENT_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:gradFill\"];\n // fillColor = getSolidFill(shpFill);\n fillColor = getGradientFill(shpFill);\n // console.log(\"shpFill\",shpFill,grndColor.color)\n } else if (fillType === \"PATTERN_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:pattFill\"];\n fillColor = getPatternFill(shpFill);\n } else if (fillType === \"PIC_FILL\") {\n const shpFill = node[\"p:spPr\"][\"a:blipFill\"];\n fillColor = await getPicFill(\"slideBg\", shpFill, warpObj);\n }\n\n // 2. drawingML namespace\n if (fillColor === undefined) {\n const clrName = getTextByPathList(node, [\"p:style\", \"a:fillRef\"]);\n fillColor = getSolidFill(clrName);\n }\n\n if (fillColor !== undefined) {\n if (fillType === \"GRADIENT_FILL\") {\n if (isSvgMode) {\n // console.log(\"GRADIENT_FILL color\", fillColor.color[0])\n return fillColor;\n } else {\n const colorAry = fillColor.color;\n const rot = fillColor.rot;\n\n let bgcolor = \"background: linear-gradient(\" + rot + \"deg,\";\n for (let i = 0; i < colorAry.length; i++) {\n if (i === colorAry.length - 1) {\n bgcolor += colorAry[i] + \");\";\n } else {\n bgcolor += colorAry[i] + \", \";\n }\n }\n return bgcolor;\n }\n } else if (fillType === \"PIC_FILL\") {\n if (isSvgMode) {\n return fillColor;\n } else {\n return \"background-image:url(\" + fillColor + \");\";\n }\n } else {\n if (isSvgMode) {\n const color = new Color(fillColor);\n fillColor = color.rgb.toString();\n\n return fillColor;\n } else {\n // console.log(node,\"fillColor: \",fillColor,\"fillType: \",fillType,\"isSvgMode: \",isSvgMode)\n return \"background-color: #\" + fillColor + \";\";\n }\n }\n } else {\n if (isSvgMode) {\n return \"none\";\n } else {\n return \"background-color: initial;\";\n }\n }\n }\n\n // /////////////////////Amir//////////////////////////////\n function getFillType(node) {\n // Need to test/////////////////////////////////////////////\n // SOLID_FILL\n // PIC_FILL\n // GRADIENT_FILL\n // PATTERN_FILL\n // NO_FILL\n let fillType = \"\";\n if (node[\"a:noFill\"] !== undefined) {\n fillType = \"NO_FILL\";\n }\n if (node[\"a:solidFill\"] !== undefined) {\n fillType = \"SOLID_FILL\";\n }\n if (node[\"a:gradFill\"] !== undefined) {\n fillType = \"GRADIENT_FILL\";\n }\n if (node[\"a:pattFill\"] !== undefined) {\n fillType = \"PATTERN_FILL\";\n }\n if (node[\"a:blipFill\"] !== undefined) {\n fillType = \"PIC_FILL\";\n }\n\n return fillType;\n }\n\n function getGradientFill(node) {\n const gsLst = node[\"a:gsLst\"][\"a:gs\"];\n // get start color\n const colorArray = [];\n // const tintArray = []\n for (let i = 0; i < gsLst.length; i++) {\n // let loTint\n let loColor = getSolidFill(gsLst[i]);\n if (gsLst[i][\"a:srgbClr\"] !== undefined) {\n let lumMod =\n parseInt(\n getTextByPathList(node, [\"a:srgbClr\", \"a:lumMod\", \"attrs\", \"val\"])\n ) / 100000;\n let lumOff =\n parseInt(\n getTextByPathList(node, [\"a:srgbClr\", \"a:lumOff\", \"attrs\", \"val\"])\n ) / 100000;\n if (isNaN(lumMod)) {\n lumMod = 1.0;\n }\n if (isNaN(lumOff)) {\n lumOff = 0;\n }\n // console.log([lumMod, lumOff]);\n loColor = applyLumModify(loColor, lumMod, lumOff);\n } else if (gsLst[i][\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n let lumMod =\n parseInt(\n getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:lumMod\",\n \"attrs\",\n \"val\",\n ])\n ) / 100000;\n let lumOff =\n parseInt(\n getTextByPathList(gsLst[i], [\n \"a:schemeClr\",\n \"a:lumOff\",\n \"attrs\",\n \"val\",\n ])\n ) / 100000;\n if (isNaN(lumMod)) {\n lumMod = 1.0;\n }\n if (isNaN(lumOff)) {\n lumOff = 0;\n }\n // console.log([lumMod, lumOff]);\n loColor = applyLumModify(loColor, lumMod, lumOff);\n }\n // console.log(\"loColor\",loColor)\n colorArray[i] = loColor;\n }\n // get rot\n const lin = node[\"a:lin\"];\n let rot = 0;\n if (lin !== undefined) {\n rot = angleToDegrees(lin[\"attrs\"][\"ang\"]) + 90;\n }\n return {\n color: colorArray,\n rot: rot,\n };\n }\n\n async function getPicFill(type, node, warpObj) {\n // Need to test/////////////////////////////////////////////\n // rId\n // TODO - Image Properties - Tile, Stretch, or Display Portion of Image\n // (http://officeopenxml.com/drwPic-tile.php)\n let img;\n const rId = node[\"a:blip\"][\"attrs\"][\"r:embed\"];\n let imgPath;\n if (type === \"slideBg\") {\n imgPath = getTextByPathList(warpObj, [\"slideResObj\", rId, \"target\"]);\n } else if (type === \"layoutBg\") {\n imgPath = getTextByPathList(warpObj, [\"layoutResObj\", rId, \"target\"]);\n } else if (type === \"masterBg\") {\n imgPath = getTextByPathList(warpObj, [\"masterResObj\", rId, \"target\"]);\n }\n if (imgPath === undefined) {\n return undefined;\n }\n const imgExt = imgPath.split(\".\").pop();\n if (imgExt === \"xml\") {\n return undefined;\n }\n const imgArrayBuffer = await warpObj[\"zip\"]\n .file(imgPath)\n .async(\"arraybuffer\");\n const imgMimeType = getImageMimeType(imgExt);\n img =\n \"data:\" + imgMimeType + \";base64,\" + base64ArrayBuffer(imgArrayBuffer);\n return img;\n }\n\n function getPatternFill(node) {\n // Need to test/////////////////////////////////////////////\n const bgClr = node[\"a:bgClr\"];\n return getSolidFill(bgClr);\n }\n\n function getSolidFill(node) {\n if (node === undefined) {\n return undefined;\n }\n\n let color = \"FFF\";\n\n if (node[\"a:srgbClr\"] !== undefined) {\n color = getTextByPathList(node, [\"a:srgbClr\", \"attrs\", \"val\"]); // #...\n } else if (node[\"a:schemeClr\"] !== undefined) {\n // a:schemeClr\n const schemeClr = getTextByPathList(node, [\n \"a:schemeClr\",\n \"attrs\",\n \"val\",\n ]);\n // console.log(schemeClr)\n color = getSchemeColorFromTheme(\"a:\" + schemeClr, undefined); // #...\n } else if (node[\"a:scrgbClr\"] !== undefined) {\n // <a:scrgbClr r=\"50%\" g=\"50%\" b=\"50%\"/> //Need to test/////////////////////////////////////////////\n const defBultColorVals = node[\"a:scrgbClr\"][\"attrs\"];\n const red =\n defBultColorVals[\"r\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"r\"].split(\"%\").shift()\n : defBultColorVals[\"r\"];\n const green =\n defBultColorVals[\"g\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"g\"].split(\"%\").shift()\n : defBultColorVals[\"g\"];\n const blue =\n defBultColorVals[\"b\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"b\"].split(\"%\").shift()\n : defBultColorVals[\"b\"];\n // const scrgbClr = red + ',' + green + ',' + blue\n color =\n toHex(255 * (Number(red) / 100)) +\n toHex(255 * (Number(green) / 100)) +\n toHex(255 * (Number(blue) / 100));\n // console.log(\"scrgbClr: \" + scrgbClr);\n } else if (node[\"a:prstClr\"] !== undefined) {\n // <a:prstClr val=\"black\"/> //Need to test/////////////////////////////////////////////\n const prstClr = node[\"a:prstClr\"][\"attrs\"][\"val\"];\n color = getColorName2Hex(prstClr);\n // console.log(\"prstClr: \" + prstClr+\" => hexClr: \"+color);\n } else if (node[\"a:hslClr\"] !== undefined) {\n // <a:hslClr hue=\"14400000\" sat=\"100%\" lum=\"50%\"/> //Need to test/////////////////////////////////////////////\n const defBultColorVals = node[\"a:hslClr\"][\"attrs\"];\n const hue = Number(defBultColorVals[\"hue\"]) / 100000;\n const sat =\n Number(\n defBultColorVals[\"sat\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"sat\"].split(\"%\").shift()\n : defBultColorVals[\"sat\"]\n ) / 100;\n const lum =\n Number(\n defBultColorVals[\"lum\"].indexOf(\"%\") !== -1\n ? defBultColorVals[\"lum\"].split(\"%\").shift()\n : defBultColorVals[\"lum\"]\n ) / 100;\n // const hslClr = defBultColorVals['hue'] + ',' + defBultColorVals['sat'] + ',' + defBultColorVals['lum']\n const hsl2rgb = hslToRgb(hue, sat, lum);\n color = toHex(hsl2rgb.r) + toHex(hsl2rgb.g) + toHex(hsl2rgb.b);\n // defBultColor = cnvrtHslColor2Hex(hslClr); //TODO\n // console.log(\"hslClr: \" + hslClr);\n } else if (node[\"a:sysClr\"] !== undefined) {\n // <a:sysClr val=\"windowText\" lastClr=\"000000\"/> //Need to test/////////////////////////////////////////////\n const sysClr = getTextByPathList(node, [\"a:sysClr\", \"attrs\", \"lastClr\"]);\n if (sysClr !== undefined) {\n color = sysClr;\n }\n }\n return color;\n }\n\n function toHex(n) {\n let hex = n.toString(16);\n while (hex.length < 2) {\n hex = \"0\" + hex;\n }\n return hex;\n }\n\n function hslToRgb(hue, sat, light) {\n let t1, t2, r, g, b;\n hue = hue / 60;\n if (light <= 0.5) {\n t2 = light * (sat + 1);\n } else {\n t2 = light + sat - light * sat;\n }\n t1 = light * 2 - t2;\n r = hueToRgb(t1, t2, hue + 2) * 255;\n g = hueToRgb(t1, t2, hue) * 255;\n b = hueToRgb(t1, t2, hue - 2) * 255;\n return { r: r, g: g, b: b };\n }\n\n function hueToRgb(t1, t2, hue) {\n if (hue < 0) hue += 6;\n if (hue >= 6) hue -= 6;\n if (hue < 1) return (t2 - t1) * hue + t1;\n else if (hue < 3) return t2;\n else if (hue < 4) return (t2 - t1) * (4 - hue) + t1;\n else return t1;\n }\n\n function getColorName2Hex(name) {\n let hex;\n const colorName = [\n \"AliceBlue\",\n \"AntiqueWhite\",\n \"Aqua\",\n \"Aquamarine\",\n \"Azure\",\n \"Beige\",\n \"Bisque\",\n \"Black\",\n \"BlanchedAlmond\",\n \"Blue\",\n \"BlueViolet\",\n \"Brown\",\n \"BurlyWood\",\n \"CadetBlue\",\n \"Chartreuse\",\n \"Chocolate\",\n \"Coral\",\n \"CornflowerBlue\",\n \"Cornsilk\",\n \"Crimson\",\n \"Cyan\",\n \"DarkBlue\",\n \"DarkCyan\",\n \"DarkGoldenRod\",\n \"DarkGray\",\n \"DarkGrey\",\n \"DarkGreen\",\n \"DarkKhaki\",\n \"DarkMagenta\",\n \"DarkOliveGreen\",\n \"DarkOrange\",\n \"DarkOrchid\",\n \"DarkRed\",\n \"DarkSalmon\",\n \"DarkSeaGreen\",\n \"DarkSlateBlue\",\n \"DarkSlateGray\",\n \"DarkSlateGrey\",\n \"DarkTurquoise\",\n \"DarkViolet\",\n \"DeepPink\",\n \"DeepSkyBlue\",\n \"DimGray\",\n \"DimGrey\",\n \"DodgerBlue\",\n \"FireBrick\",\n \"FloralWhite\",\n \"ForestGreen\",\n \"Fuchsia\",\n \"Gainsboro\",\n \"GhostWhite\",\n \"Gold\",\n \"GoldenRod\",\n \"Gray\",\n \"Grey\",\n \"Green\",\n \"GreenYellow\",\n \"HoneyDew\",\n \"HotPink\",\n \"IndianRed\",\n \"Indigo\",\n \"Ivory\",\n \"Khaki\",\n \"Lavender\",\n \"LavenderBlush\",\n \"LawnGreen\",\n \"LemonChiffon\",\n \"LightBlue\",\n \"LightCoral\",\n \"LightCyan\",\n \"LightGoldenRodYellow\",\n \"LightGray\",\n \"LightGrey\",\n \"LightGreen\",\n \"LightPink\",\n \"LightSalmon\",\n \"LightSeaGreen\",\n \"LightSkyBlue\",\n \"LightSlateGray\",\n \"LightSlateGrey\",\n \"LightSteelBlue\",\n \"LightYellow\",\n \"Lime\",\n \"LimeGreen\",\n \"Linen\",\n \"Magenta\",\n \"Maroon\",\n \"MediumAquaMarine\",\n \"MediumBlue\",\n \"MediumOrchid\",\n \"MediumPurple\",\n \"MediumSeaGreen\",\n \"MediumSlateBlue\",\n \"MediumSpringGreen\",\n \"MediumTurquoise\",\n \"MediumVioletRed\",\n \"MidnightBlue\",\n \"MintCream\",\n \"MistyRose\",\n \"Moccasin\",\n \"NavajoWhite\",\n \"Navy\",\n \"OldLace\",\n \"Olive\",\n \"OliveDrab\",\n \"Orange\",\n \"OrangeRed\",\n \"Orchid\",\n \"PaleGoldenRod\",\n \"PaleGreen\",\n \"PaleTurquoise\",\n \"PaleVioletRed\",\n \"PapayaWhip\",\n \"PeachPuff\",\n \"Peru\",\n \"Pink\",\n \"Plum\",\n \"PowderBlue\",\n \"Purple\",\n \"RebeccaPurple\",\n \"Red\",\n \"RosyBrown\",\n \"RoyalBlue\",\n \"SaddleBrown\",\n \"Salmon\",\n \"SandyBrown\",\n \"SeaGreen\",\n \"SeaShell\",\n \"Sienna\",\n \"Silver\",\n \"SkyBlue\",\n \"SlateBlue\",\n \"SlateGray\",\n \"SlateGrey\",\n \"Snow\",\n \"SpringGreen\",\n \"SteelBlue\",\n \"Tan\",\n \"Teal\",\n \"Thistle\",\n \"Tomato\",\n \"Turquoise\",\n \"Violet\",\n \"Wheat\",\n \"White\",\n \"WhiteSmoke\",\n \"Yellow\",\n \"YellowGreen\",\n ];\n const colorHex = [\n \"f0f8ff\",\n \"faebd7\",\n \"00ffff\",\n \"7fffd4\",\n \"f0ffff\",\n \"f5f5dc\",\n \"ffe4c4\",\n \"000000\",\n \"ffebcd\",\n \"0000ff\",\n \"8a2be2\",\n \"a52a2a\",\n \"deb887\",\n \"5f9ea0\",\n \"7fff00\",\n \"d2691e\",\n \"ff7f50\",\n \"6495ed\",\n \"fff8dc\",\n \"dc143c\",\n \"00ffff\",\n \"00008b\",\n \"008b8b\",\n \"b8860b\",\n \"a9a9a9\",\n \"a9a9a9\",\n \"006400\",\n \"bdb76b\",\n \"8b008b\",\n \"556b2f\",\n \"ff8c00\",\n \"9932cc\",\n \"8b0000\",\n \"e9967a\",\n \"8fbc8f\",\n \"483d8b\",\n \"2f4f4f\",\n \"2f4f4f\",\n \"00ced1\",\n \"9400d3\",\n \"ff1493\",\n \"00bfff\",\n \"696969\",\n \"696969\",\n \"1e90ff\",\n \"b22222\",\n \"fffaf0\",\n \"228b22\",\n \"ff00ff\",\n \"dcdcdc\",\n \"f8f8ff\",\n \"ffd700\",\n \"daa520\",\n \"808080\",\n \"808080\",\n \"008000\",\n \"adff2f\",\n \"f0fff0\",\n \"ff69b4\",\n \"cd5c5c\",\n \"4b0082\",\n \"fffff0\",\n \"f0e68c\",\n \"e6e6fa\",\n \"fff0f5\",\n \"7cfc00\",\n \"fffacd\",\n \"add8e6\",\n \"f08080\",\n \"e0ffff\",\n \"fafad2\",\n \"d3d3d3\",\n \"d3d3d3\",\n \"90ee90\",\n \"ffb6c1\",\n \"ffa07a\",\n \"20b2aa\",\n \"87cefa\",\n \"778899\",\n \"778899\",\n \"b0c4de\",\n \"ffffe0\",\n \"00ff00\",\n \"32cd32\",\n \"faf0e6\",\n \"ff00ff\",\n \"800000\",\n \"66cdaa\",\n \"0000cd\",\n \"ba55d3\",\n \"9370db\",\n \"3cb371\",\n \"7b68ee\",\n \"00fa9a\",\n \"48d1cc\",\n \"c71585\",\n \"191970\",\n \"f5fffa\",\n \"ffe4e1\",\n \"ffe4b5\",\n \"ffdead\",\n \"000080\",\n \"fdf5e6\",\n \"808000\",\n \"6b8e23\",\n \"ffa500\",\n \"ff4500\",\n \"da70d6\",\n \"eee8aa\",\n \"98fb98\",\n \"afeeee\",\n \"db7093\",\n \"ffefd5\",\n \"ffdab9\",\n \"cd853f\",\n \"ffc0cb\",\n \"dda0dd\",\n \"b0e0e6\",\n \"800080\",\n \"663399\",\n \"ff0000\",\n \"bc8f8f\",\n \"4169e1\",\n \"8b4513\",\n \"fa8072\",\n \"f4a460\",\n \"2e8b57\",\n \"fff5ee\",\n \"a0522d\",\n \"c0c0c0\",\n \"87ceeb\",\n \"6a5acd\",\n \"708090\",\n \"708090\",\n \"fffafa\",\n \"00ff7f\",\n \"4682b4\",\n \"d2b48c\",\n \"008080\",\n \"d8bfd8\",\n \"ff6347\",\n \"40e0d0\",\n \"ee82ee\",\n \"f5deb3\",\n \"ffffff\",\n \"f5f5f5\",\n \"ffff00\",\n \"9acd32\",\n ];\n const findIndx = colorName.indexOf(name);\n if (findIndx !== -1) {\n hex = colorHex[findIndx];\n }\n return hex;\n }\n\n function getColorOpacity(solidFill) {\n if (solidFill === undefined) {\n return undefined;\n }\n let opcity = 1;\n\n if (solidFill[\"a:srgbClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:srgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:schemeClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:schemeClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:scrgbClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:scrgbClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:prstClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:prstClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:hslClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:hslClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n } else if (solidFill[\"a:sysClr\"] !== undefined) {\n const tint = getTextByPathList(solidFill, [\n \"a:sysClr\",\n \"a:tint\",\n \"attrs\",\n \"val\",\n ]);\n if (tint !== undefined) {\n opcity = parseInt(tint) / 100000;\n }\n }\n\n return opcity;\n }\n\n function getSchemeColorFromTheme(schemeClr, sldMasterNode) {\n // <p:clrMap ...> in slide master\n // e.g. tx2=\"dk2\" bg2=\"lt2\" tx1=\"dk1\" bg1=\"lt1\" slideLayoutClrOvride\n\n if (slideLayoutClrOvride === \"\" || slideLayoutClrOvride === undefined) {\n slideLayoutClrOvride =\n getTextByPathList(sldMasterNode, [\n \"p:sldMaster\",\n \"p:clrMap\",\n \"attrs\",\n ]) || {};\n }\n // console.log(slideLayoutClrOvride);\n const schmClrName = schemeClr.substr(2);\n switch (schmClrName) {\n case \"tx1\":\n case \"tx2\":\n case \"bg1\":\n case \"bg2\": {\n schemeClr = \"a:\" + slideLayoutClrOvride[schmClrName];\n // console.log(schmClrName+ \"=> \"+schemeClr);\n break;\n }\n }\n\n const refNode = getTextByPathList(themeContent, [\n \"a:theme\",\n \"a:themeElements\",\n \"a:clrScheme\",\n schemeClr,\n ]);\n let color = getTextByPathList(refNode, [\"a:srgbClr\", \"attrs\", \"val\"]);\n if (color === undefined) {\n color = getTextByPathList(refNode, [\"a:sysClr\", \"attrs\", \"lastClr\"]);\n }\n return color;\n }\n\n function extractChartData(serNode) {\n // console.log('PARSING PPTX CHART:', serNode)\n const dataMat = [];\n\n if (serNode === undefined) {\n return dataMat;\n }\n\n if (serNode[\"c:xVal\"] !== undefined) {\n let dataRow = [];\n eachElement(\n serNode[\"c:xVal\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push(parseFloat(innerNode[\"c:v\"]));\n return \"\";\n }\n );\n dataMat.push(dataRow);\n dataRow = [];\n eachElement(\n serNode[\"c:yVal\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push(parseFloat(innerNode[\"c:v\"]));\n return \"\";\n }\n );\n dataMat.push(dataRow);\n } else {\n eachElement(serNode, function (innerNode, index) {\n const dataRow = [];\n const colName =\n getTextByPathList(innerNode, [\n \"c:tx\",\n \"c:strRef\",\n \"c:strCache\",\n \"c:pt\",\n \"c:v\",\n ]) || index;\n\n // Category (string or number)\n const rowNames = {};\n if (\n getTextByPathList(innerNode, [\n \"c:cat\",\n \"c:strRef\",\n \"c:strCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:cat\"][\"c:strRef\"][\"c:strCache\"][\"c:pt\"],\n function (innerNode, index) {\n rowNames[innerNode[\"attrs\"][\"idx\"]] = innerNode[\"c:v\"];\n return \"\";\n }\n );\n } else if (\n getTextByPathList(innerNode, [\n \"c:cat\",\n \"c:numRef\",\n \"c:numCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:cat\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n rowNames[innerNode[\"attrs\"][\"idx\"]] = innerNode[\"c:v\"];\n return \"\";\n }\n );\n }\n\n // Value\n if (\n getTextByPathList(innerNode, [\n \"c:val\",\n \"c:numRef\",\n \"c:numCache\",\n \"c:pt\",\n ]) !== undefined\n ) {\n eachElement(\n innerNode[\"c:val\"][\"c:numRef\"][\"c:numCache\"][\"c:pt\"],\n function (innerNode, index) {\n dataRow.push({\n x: innerNode[\"attrs\"][\"idx\"],\n y: parseFloat(innerNode[\"c:v\"]),\n });\n return \"\";\n }\n );\n }\n\n dataMat.push({ key: colName, values: dataRow, xlabels: rowNames });\n return \"\";\n });\n }\n\n return dataMat;\n }\n\n // ===== Node functions =====\n /**\n * getTextByPathStr\n * @param {Object} node\n * @param {string} pathStr\n */\n function getTextByPathStr(node, pathStr) {\n return getTextByPathList(node, pathStr.trim().split(/\\s+/));\n }\n\n /**\n * getTextByPathList\n * @param {Object} node\n * @param {Array.<string>} path\n */\n function getTextByPathList(node, path) {\n if (path.constructor !== Array) {\n throw Error(\"Error of path type! path is not array.\");\n }\n\n if (node === undefined) {\n return undefined;\n }\n\n const l = path.length;\n for (let i = 0; i < l; i++) {\n node = node[path[i]];\n if (node === undefined) {\n return undefined;\n }\n }\n\n return node;\n }\n\n /**\n * eachElement\n * @param {Object} node\n * @param {function} doFunction\n */\n function eachElement(node, doFunction) {\n if (node === undefined) {\n return;\n }\n let result = \"\";\n if (node.constructor === Array) {\n const l = node.length;\n for (let i = 0; i < l; i++) {\n result += doFunction(node[i], i);\n }\n } else {\n result += doFunction(node, 0);\n }\n return result;\n }\n\n /*\n// ===== Color functions =====\n/!**\n * applyShade\n * @param {string} rgbStr\n * @param {number} shadeValue\n *!/\nfunction applyShade (rgbStr, shadeValue) {\n const color = new Color(rgbStr)\n color.setLum(color.hsl.l * shadeValue)\n return color.rgb.toString()\n}\n\n/!**\n * applyTint\n * @param {string} rgbStr\n * @param {number} tintValue\n *!/\nfunction applyTint (rgbStr, tintValue) {\n const color = new Color(rgbStr)\n color.setLum(color.hsl.l * tintValue + (1 - tintValue))\n return color.rgb.toString()\n}\n*/\n\n /**\n * applyLumModify\n * @param {string} rgbStr\n * @param {number} factor\n * @param {number} offset\n */\n function applyLumModify(rgbStr = \"#FFFFFF\", factor, offset) {\n const color = new Color(rgbStr);\n // color.setLum(color.hsl.l * factor);\n color.setLum(color.hsl.l * (1 + offset));\n return color.rgb.toString();\n }\n\n // /////////////////////Amir////////////////\n function angleToDegrees(angle) {\n if (angle === \"\" || angle == null) {\n return 0;\n }\n return Math.round(angle / 60000);\n }\n\n function getImageMimeType(imgFileExt) {\n let mimeType = \"\";\n // console.log(imgFileExt)\n switch (imgFileExt.toLowerCase()) {\n case \"jpg\":\n case \"jpeg\": {\n mimeType = \"image/jpeg\";\n break;\n }\n case \"png\": {\n mimeType = \"image/png\";\n break;\n }\n case \"gif\": {\n mimeType = \"image/gif\";\n break;\n }\n case \"emf\": {\n // Not native support\n mimeType = \"image/x-emf\";\n break;\n }\n case \"wmf\": {\n // Not native support\n mimeType = \"image/x-wmf\";\n break;\n }\n case \"svg\": {\n mimeType = \"image/svg+xml\";\n break;\n }\n default: {\n mimeType = \"image/*\";\n }\n }\n return mimeType;\n }\n\n function getSvgGradient(w, h, angl, colorArray, shpId) {\n const stopsArray = getMiddleStops(colorArray.length - 2);\n\n const xyArray = SVGangle(angl, h, w);\n const x1 = xyArray[0];\n const y1 = xyArray[1];\n const x2 = xyArray[2];\n const y2 = xyArray[3];\n\n const sal = stopsArray.length;\n const sr = sal < 20 ? 100 : 1000;\n let svgAngle =\n ' gradientUnits=\"userSpaceOnUse\" x1=\"' +\n x1 +\n '%\" y1=\"' +\n y1 +\n '%\" x2=\"' +\n x2 +\n '%\" y2=\"' +\n y2 +\n '%\"';\n let svg = '<linearGradient id=\"linGrd_' + shpId + '\"' + svgAngle + \">\\n\";\n\n for (let i = 0; i < sal; i++) {\n svg +=\n '<stop offset=\"' +\n Math.round((parseFloat(stopsArray[i]) / 100) * sr) / sr +\n '\" stop-color=\"' +\n colorArray[i] +\n '\"';\n svg += \"/>\\n\";\n }\n\n svg += \"</linearGradient>\\n\" + \"\";\n\n return svg;\n }\n\n function getMiddleStops(s) {\n const sArry = [\"0%\", \"100%\"];\n if (s === 0) {\n return true;\n } else {\n let i = s;\n while (i--) {\n const middleStop = 100 - (100 / (s + 1)) * (i + 1); // AM: Ex - For 3 middle stops, progression will be 25%, 50%, and 75%, plus 0% and 100% at the ends.\n const middleStopString = middleStop + \"%\";\n sArry.splice(-1, 0, middleStopString);\n } // AM: add into stopsArray before 100%\n }\n return sArry;\n }\n\n function SVGangle(deg, svgHeight, svgWidth) {\n const w = parseFloat(svgWidth);\n const h = parseFloat(svgHeight);\n const ang = parseFloat(deg);\n let o = 2;\n let n = 2;\n const wc = w / 2;\n const hc = h / 2;\n let tx1 = 2;\n let ty1 = 2;\n let tx2 = 2;\n let ty2 = 2;\n const k = ((ang % 360) + 360) % 360;\n const j = ((360 - k) * Math.PI) / 180;\n const i = Math.tan(j);\n const l = hc - i * wc;\n\n if (k === 0) {\n tx1 = w;\n ty1 = hc;\n tx2 = 0;\n ty2 = hc;\n } else if (k < 90) {\n n = w;\n o = 0;\n } else if (k === 90) {\n tx1 = wc;\n ty1 = 0;\n tx2 = wc;\n ty2 = h;\n } else if (k < 180) {\n n = 0;\n o = 0;\n } else if (k === 180) {\n tx1 = 0;\n ty1 = hc;\n tx2 = w;\n ty2 = hc;\n } else if (k < 270) {\n n = 0;\n o = h;\n } else if (k === 270) {\n tx1 = wc;\n ty1 = h;\n tx2 = wc;\n ty2 = 0;\n } else {\n n = w;\n o = h;\n }\n // AM: I could not quite figure out what m, n, and o are supposed to represent from the original code on visualcsstools.com.\n const m = o + n / i;\n tx1 = tx1 === 2 ? (i * (m - l)) / (Math.pow(i, 2) + 1) : tx1;\n ty1 = ty1 === 2 ? i * tx1 + l : ty1;\n tx2 = tx2 === 2 ? w - tx1 : tx2;\n ty2 = ty2 === 2 ? h - ty1 : ty2;\n const x1 = Math.round((tx2 / w) * 100 * 100) / 100;\n const y1 = Math.round((ty2 / h) * 100 * 100) / 100;\n const x2 = Math.round((tx1 / w) * 100 * 100) / 100;\n const y2 = Math.round((ty1 / h) * 100 * 100) / 100;\n return [x1, y1, x2, y2];\n }\n\n function getSvgImagePattern(fillColor, shpId) {\n let ptrn =\n '<pattern id=\"imgPtrn_' +\n shpId +\n '\" patternContentUnits=\"objectBoundingBox\" width=\"1\" height=\"1\">';\n ptrn +=\n '<image xlink:href=\"' +\n fillColor +\n '\" preserveAspectRatio=\"none\" width=\"1\" height=\"1\"></image>';\n ptrn += \"</pattern>\";\n return ptrn;\n }\n}\n","export default `.pptx-wrapper section {\n width: 100%;\n height: 690px;\n position: relative;\n border: 1px solid #333;\n background-color: #EFEFEF;\n text-align: center;\n border-radius: 10px;\n box-shadow: 1px 1px 3px #AAA;\n overflow: hidden;\n}\n\n.pptx-wrapper section div.block {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n}\n\n.pptx-wrapper section div.content {\n display: flex;\n flex-direction: column;\n /*\n justify-content: center;\n align-items: flex-end;\n */\n}\n\n.pptx-wrapper section div.v-up {\n justify-content: flex-start;\n}\n.pptx-wrapper section div.v-mid {\n justify-content: center;\n}\n.pptx-wrapper section div.v-down {\n justify-content: flex-end;\n}\n.pptx-wrapper section div.h-left {\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.h-mid {\n align-items: center;\n text-align: center;\n}\n.pptx-wrapper section div.h-right {\n align-items: flex-end;\n text-align: right;\n}\n.pptx-wrapper section div.up-left {\n justify-content: flex-start;\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.up-center {\n justify-content: flex-start;\n align-items: center;\n}\n.pptx-wrapper section div.up-right {\n justify-content: flex-start;\n align-items: flex-end;\n}\n.pptx-wrapper section div.center-left {\n justify-content: center;\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.center-center {\n justify-content: center;\n align-items: center;\n}\n.pptx-wrapper section div.center-right {\n justify-content: center;\n align-items: flex-end;\n}\n.pptx-wrapper section div.down-left {\n justify-content: flex-end;\n align-items: flex-start;\n text-align: left;\n}\n.pptx-wrapper section div.down-center {\n justify-content: flex-end;\n align-items: center;\n}\n.pptx-wrapper section div.down-right {\n justify-content: flex-end;\n align-items: flex-end;\n}\n\n.pptx-wrapper section span.text-block {\n /* display: inline-block; */\n}\n\n.pptx-wrapper li.slide {\n margin: 10px 0;\n font-size: 18px;\n}\n\n.pptx-wrapper div.footer {\n text-align: center;\n}\n\n.pptx-wrapper section table {\n position: absolute;\n}\n\n.pptx-wrapper section table, \n.pptx-wrapper section th, \n.pptx-wrapper section td {\n border: 1px solid black;\n}\n\n.pptx-wrapper section svg.drawing {\n position: absolute;\n overflow: visible;\n}`\n","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"jquery\");","/* global $, dimple */\n\"use strict\";\n\nimport processPptx from \"./process_pptx\";\nimport pptxStyle from \"./pptx_css\";\nimport $ from \"jquery\";\n\n/**\n * @param {ArrayBuffer} pptx\n * @param {Element|String} resultElement\n * @param {Element|String} [thumbElement]\n */\nconst renderPptx = (pptx, resultElement, thumbElement) => {\n const $result = $(resultElement);\n const $wrapper = $('<div class=\"pptx-wrapper\"></div>');\n $result.html(\"\");\n $result.append($wrapper);\n $wrapper.append(`<style>${pptxStyle}</style>`);\n let isDone = false;\n\n return new Promise((resolve, reject) => {\n const processMessage = (msg) => {\n if (isDone) return;\n switch (msg.type) {\n case \"slide\":\n $wrapper.append(msg.data);\n break;\n case \"pptx-thumb\":\n if (thumbElement)\n $(thumbElement).attr(\"src\", `data:image/jpeg;base64,${msg.data}`);\n break;\n case \"slideSize\":\n break;\n case \"globalCSS\":\n $wrapper.append(`<style>${msg.data}</style>`);\n break;\n case \"Done\":\n isDone = true;\n processCharts(msg.data.charts);\n resolve(msg.data.time);\n break;\n case \"WARN\":\n console.warn(\"PPTX processing warning: \", msg.data);\n break;\n case \"ERROR\":\n isDone = true;\n console.error(\"PPTX processing error: \", msg.data);\n reject(new Error(msg.data));\n break;\n case \"DEBUG\":\n // console.debug('Worker: ', msg.data);\n break;\n case \"INFO\":\n default:\n // console.info('Worker: ', msg.data);\n }\n };\n /*\n // Actual Web Worker - If you want to use this, switching worker's url to Blob is probably better\n const worker = new Worker('./dist/worker.js')\n worker.addEventListener('message', event => processMessage(event.data), false)\n const stopWorker = setInterval(() => { // Maybe this should be done in the message processing\n if (isDone) {\n worker.terminate()\n // console.log(\"worker terminated\");\n clearInterval(stopWorker)\n }\n }, 500)\n */\n const worker = {\n // shim worker\n postMessage: () => {},\n terminate: () => {},\n };\n // processMessage方法,成功之后执行\n processPptx((func) => {\n worker.postMessage = func;\n }, processMessage);\n // 执行postMessage方法\n worker.postMessage({\n type: \"processPPTX\",\n data: pptx,\n });\n }).then((time) => {\n const resize = () => {\n const slidesWidth = Math.max(\n ...Array.from($wrapper.children(\"section\")).map((s) => s.offsetWidth)\n );\n const wrapperWidth = $wrapper[0].offsetWidth;\n $wrapper.css({\n transform: `scale(${wrapperWidth / slidesWidth})`,\n \"transform-origin\": \"top left\",\n });\n };\n resize();\n window.addEventListener(\"resize\", resize);\n setNumericBullets($(\".block\"));\n setNumericBullets($(\"table td\"));\n return time;\n });\n};\n\nexport default renderPptx;\n\nfunction processCharts(queue) {\n for (let i = 0; i < queue.length; i++) {\n processSingleChart(queue[i].data);\n }\n}\n\nfunction convertChartData(chartData) {\n const data = [];\n const xLabels = [];\n const groupLabels = [];\n chartData.forEach((group, i) => {\n const groupName = group.key;\n groupLabels[i] = group.key;\n group.values.forEach((value, j) => {\n const labelName = group.xlabels[j];\n xLabels[j] = group.xlabels[j];\n data.push({ name: labelName, group: groupName, value: value.y });\n });\n });\n // console.log('TRANSFORMED DATA:', (data))\n return { data, xLabels, groupLabels };\n}\n\nfunction processSingleChart(d) {\n const chartID = d.chartID;\n const chartType = d.chartType;\n const chartData = d.chartData;\n // console.log(`WRITING GRAPH OF TYPE ${chartType} TO ID #${chartID}:`, chartData)\n\n let data = [];\n\n switch (chartType) {\n case \"lineChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n `#${chartID}`,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", \"name\");\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.line);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n\n break;\n }\n case \"barChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n \"#\" + chartID,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", [\"name\", \"group\"]);\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.bar);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n break;\n }\n case \"pieChart\":\n case \"pie3DChart\": {\n // data = chartData[0].values\n // chart = nv.models.pieChart()\n // nvDraw(chart, data)\n const { data: data_, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n `#${chartID}`,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const pieAxis = myChart.addMeasureAxis(\"p\", \"value\");\n pieAxis.addOrderRule(groupLabels);\n myChart.addSeries(\"name\", dimple.plot.pie);\n myChart.addLegend(50, 20, 400, 300, \"left\");\n myChart.draw();\n break;\n }\n case \"areaChart\": {\n const { data: data_, xLabels, groupLabels } = convertChartData(chartData);\n data = data_;\n const container = document.getElementById(chartID);\n const svg = dimple.newSvg(\n \"#\" + chartID,\n container.style.width,\n container.style.height\n );\n\n // eslint-disable-next-line new-cap\n const myChart = new dimple.chart(svg, data);\n const xAxis = myChart.addCategoryAxis(\"x\", \"name\");\n xAxis.addOrderRule(xLabels);\n xAxis.addGroupOrderRule(groupLabels);\n xAxis.title = null;\n const yAxis = myChart.addMeasureAxis(\"y\", \"value\");\n yAxis.title = null;\n myChart.addSeries(\"group\", dimple.plot.area);\n myChart.addLegend(60, 10, 500, 20, \"right\");\n myChart.draw();\n\n break;\n }\n case \"scatterChart\": {\n for (let i = 0; i < chartData.length; i++) {\n const arr = [];\n for (let j = 0; j < chartData[i].length; j++) {\n arr.push({ x: j, y: chartData[i][j] });\n }\n data.push({ key: \"data\" + (i + 1), values: arr });\n }\n\n // data = chartData;\n // chart = nv.models.scatterChart()\n // .showDistX(true)\n // .showDistY(true)\n // .color(d3.scale.category10().range())\n // chart.xAxis.axisLabel('X').tickFormat(d3.format('.02f'))\n // chart.yAxis.axisLabel('Y').tickFormat(d3.format('.02f'))\n // nvDraw(chart, data)\n break;\n }\n default:\n }\n}\n\nfunction setNumericBullets(elem) {\n const paragraphsArray = elem;\n for (let i = 0; i < paragraphsArray.length; i++) {\n const buSpan = $(paragraphsArray[i]).find(\".numeric-bullet-style\");\n if (buSpan.length > 0) {\n // console.log(\"DIV-\"+i+\":\");\n let prevBultTyp = \"\";\n let prevBultLvl = \"\";\n let buletIndex = 0;\n const tmpArry = [];\n let tmpArryIndx = 0;\n const buletTypSrry = [];\n for (let j = 0; j < buSpan.length; j++) {\n const bulletType = $(buSpan[j]).data(\"bulltname\");\n const bulletLvl = $(buSpan[j]).data(\"bulltlvl\");\n // console.log(j+\" - \"+bult_typ+\" lvl: \"+bult_lvl );\n if (buletIndex === 0) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex++;\n } else {\n if (bulletType === prevBultTyp && bulletLvl === prevBultLvl) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n buletIndex++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n } else if (bulletType !== prevBultTyp && bulletLvl === prevBultLvl) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex = 1;\n } else if (\n bulletType !== prevBultTyp &&\n Number(bulletLvl) > Number(prevBultLvl)\n ) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx++;\n tmpArry[tmpArryIndx] = buletIndex;\n buletTypSrry[tmpArryIndx] = bulletType;\n buletIndex = 1;\n } else if (\n bulletType !== prevBultTyp &&\n Number(bulletLvl) < Number(prevBultLvl)\n ) {\n prevBultTyp = bulletType;\n prevBultLvl = bulletLvl;\n tmpArryIndx--;\n buletIndex = tmpArry[tmpArryIndx] + 1;\n }\n }\n // console.log(buletTypSrry[tmpArryIndx]+\" - \"+buletIndex);\n const numIdx = getNumTypeNum(buletTypSrry[tmpArryIndx], buletIndex);\n $(buSpan[j]).html(numIdx);\n }\n }\n }\n}\n\nfunction getNumTypeNum(numTyp, num) {\n let rtrnNum = \"\";\n switch (numTyp) {\n case \"arabicPeriod\":\n rtrnNum = num + \". \";\n break;\n case \"arabicParenR\":\n rtrnNum = num + \") \";\n break;\n case \"alphaLcParenR\":\n rtrnNum = alphaNumeric(num, \"lowerCase\") + \") \";\n break;\n case \"alphaLcPeriod\":\n rtrnNum = alphaNumeric(num, \"lowerCase\") + \". \";\n break;\n\n case \"alphaUcParenR\":\n rtrnNum = alphaNumeric(num, \"upperCase\") + \") \";\n break;\n case \"alphaUcPeriod\":\n rtrnNum = alphaNumeric(num, \"upperCase\") + \". \";\n break;\n\n case \"romanUcPeriod\":\n rtrnNum = romanize(num) + \". \";\n break;\n case \"romanLcParenR\":\n rtrnNum = romanize(num) + \") \";\n break;\n case \"hebrew2Minus\":\n rtrnNum = hebrew2Minus.format(num) + \"-\";\n break;\n default:\n rtrnNum = num;\n }\n return rtrnNum;\n}\n\nfunction romanize(num) {\n if (!+num) return false;\n const digits = String(+num).split(\"\");\n const key = [\n \"\",\n \"C\",\n \"CC\",\n \"CCC\",\n \"CD\",\n \"D\",\n \"DC\",\n \"DCC\",\n \"DCCC\",\n \"CM\",\n \"\",\n \"X\",\n \"XX\",\n \"XXX\",\n \"XL\",\n \"L\",\n \"LX\",\n \"LXX\",\n \"LXXX\",\n \"XC\",\n \"\",\n \"I\",\n \"II\",\n \"III\",\n \"IV\",\n \"V\",\n \"VI\",\n \"VII\",\n \"VIII\",\n \"IX\",\n ];\n let roman = \"\";\n let i = 3;\n while (i--) roman = (key[+digits.pop() + i * 10] || \"\") + roman;\n return new Array(+digits.join(\"\") + 1).join(\"M\") + roman;\n}\n\nconst hebrew2Minus = archaicNumbers([\n [1000, \"\"],\n [400, \"ת\"],\n [300, \"ש\"],\n [200, \"ר\"],\n [100, \"ק\"],\n [90, \"צ\"],\n [80, \"פ\"],\n [70, \"ע\"],\n [60, \"ס\"],\n [50, \"נ\"],\n [40, \"מ\"],\n [30, \"ל\"],\n [20, \"כ\"],\n [10, \"י\"],\n [9, \"ט\"],\n [8, \"ח\"],\n [7, \"ז\"],\n [6, \"ו\"],\n [5, \"ה\"],\n [4, \"ד\"],\n [3, \"ג\"],\n [2, \"ב\"],\n [1, \"א\"],\n [/יה/, \"ט״ו\"],\n [/יו/, \"ט״ז\"],\n [/([א-ת])([א-ת])$/, \"$1״$2\"],\n [/^([א-ת])$/, \"$1׳\"],\n]);\n\nfunction archaicNumbers(arr) {\n // const arrParse = arr.slice().sort(function (a, b) { return b[1].length - a[1].length })\n return {\n format: function (n) {\n let ret = \"\";\n $.each(arr, function () {\n const num = this[0];\n if (parseInt(num) > 0) {\n for (; n >= num; n -= num) ret += this[1];\n } else {\n ret = ret.replace(num, this[1]);\n }\n });\n return ret;\n },\n };\n}\n\nfunction alphaNumeric(num, upperLower) {\n num = Number(num) - 1;\n let aNum = \"\";\n if (upperLower === \"upperCase\") {\n aNum = (\n (num / 26 >= 1 ? String.fromCharCode(num / 26 + 64) : \"\") +\n String.fromCharCode((num % 26) + 65)\n ).toUpperCase();\n } else if (upperLower === \"lowerCase\") {\n aNum = (\n (num / 26 >= 1 ? String.fromCharCode(num / 26 + 64) : \"\") +\n String.fromCharCode((num % 26) + 65)\n ).toLowerCase();\n }\n return aNum;\n}\n","import React,{ useEffect,useState } from 'react'\nimport {Loading}from \"../loading\";\nimport renderPptx from \"./ppt\";\n\n\nexport const PPtxViewer=(props)=>{\n \n const [loading,setLoading]=useState(true)\n useEffect(()=>{\n if(props?.filePath){\n const dom=document.getElementById('pptx-viewer')\n renderPptx(props?.filePath, dom, null).finally(()=>{\n setLoading(false)\n });\n }\n },[props?.filePath])\n\n return <div className=\"pptx-viewer-wrapper\">\n {loading && <Loading/>}\n <div id=\"pptx-viewer\" style={{width:1100,margin:'0 auto',visibility:loading?'hidden':'visible'}}></div>\n </div>\n}","import React,{ useEffect ,useState} from 'react'\nimport {Loading}from \"../loading\";\nfunction readText(buffer) {\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = loadEvent => resolve(loadEvent.target.result);\n reader.onerror = e => reject(e);\n reader.readAsText(new Blob([buffer]), 'utf-8');\n });\n}\n\nexport const TextViewer=(props)=>{\n \n const [loading,setLoading]=useState(true)\n const [content,setContent]=useState('')\n useEffect(()=>{\n if(props?.filePath){\n readText(props?.filePath).then(setContent).finally(()=>{\n setLoading(false)\n });\n }\n },[props?.filePath])\n\n\n return <div className=\"text-viewer-wrapper\">\n <div id=\"text-viewer\">\n {loading && <Loading/>}\n <pre className=\"code-area\">\n {content}\n </pre>\n </div>\n </div>\n}","import React,{ useEffect ,useState} from 'react'\n\nfunction renderVideo(buffer, target) {\n const mp4 = document.createElement('video');\n mp4.width = 850;\n mp4.height = 520;\n mp4.controls = true;\n const source = document.createElement('source');\n source.src = URL.createObjectURL(new Blob([buffer]));\n mp4.appendChild(source);\n target.innerHTML=''\n target.appendChild(mp4)\n}\n\nexport const VideoViewer=(props)=>{\n useEffect(()=>{\n if(props?.filePath){\n const dom=document.getElementById('video-viewer')\n renderVideo(props?.filePath,dom)\n }\n },[props?.filePath])\n\n\n return <div className=\"video-viewer-wrapper\">\n <div id=\"video-viewer\" style={{display:'flex',justifyContent:'center'}}>\n </div>\n </div>\n}","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"exceljs\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable/i18n\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"handsontable/dist/handsontable.full.min.css\");","\n// 深度扁平化routes\nexport function flatten(routes) {\n return routes.flatMap(route => route.children ? [ route, ...flatten(route.children) ] : [ route ]);\n}\n\n// 转化style对象为style字符串\nexport function toStyleString(style) {\n return [...style].map(key => `${key}: ${style[key]}`).join(';')\n}\n\n// 修复矩阵的宽度\nexport function fixMatrix(data, colLen) {\n for (const row of data) {\n for (let j = 0; j < colLen; j++) {\n if (!row[j]) {\n row[j] = '';\n }\n }\n }\n return data;\n}\n\n// 首字母大写\nexport function captain(str) {\n return `${str.charAt(0).toUpperCase()}${str.slice(1)}`;\n}\n\n// 连字符转驼峰\nexport function camelCase(str) {\n return str.split('-').map((part, index) => {\n if (index !== 0) {\n return captain(part);\n } else {\n return part;\n }\n }).join('');\n}\n","\n\nimport React,{ useEffect,useState,useMemo,useRef } from 'react'\nimport ExcelJS from \"exceljs\";\nimport Handsontable from \"handsontable\";\nimport { registerLanguageDictionary, zhCN } from \"handsontable/i18n\";\nimport \"handsontable/dist/handsontable.full.min.css\";\nimport { camelCase, captain, fixMatrix } from \"./util\";\nimport {Loading}from \"../loading\";\n// 注册中文\nregisterLanguageDictionary(zhCN);\n\nconst indexedColors = [\n '000000',\n 'FFFFFF',\n 'FF0000',\n '00FF00',\n '0000FF',\n 'FFFF00',\n 'FF00FF',\n '00FFFF',\n '000000',\n 'FFFFFF',\n 'FF0000',\n '00FF00',\n '0000FF',\n 'FFFF00',\n 'FF00FF',\n '00FFFF',\n '800000',\n '008000',\n '000080',\n '808000',\n '800080',\n '008080',\n 'C0C0C0',\n '808080',\n '9999FF',\n '993366',\n 'FFFFCC',\n 'CCFFFF',\n '660066',\n 'FF8080',\n '0066CC',\n 'CCCCFF',\n '000080',\n 'FF00FF',\n 'FFFF00',\n '00FFFF',\n '800080',\n '800000',\n '008080',\n '0000FF',\n '00CCFF',\n 'CCFFFF',\n 'CCFFCC',\n 'FFFF99',\n '99CCFF',\n 'FF99CC',\n 'CC99FF',\n 'FFCC99',\n '3366FF',\n '33CCCC',\n '99CC00',\n 'FFCC00',\n 'FF9900',\n 'FF6600',\n '666699',\n '969696',\n '003366',\n '339966',\n '003300',\n '333300',\n '993300',\n '993366',\n '333399',\n '333333',\n 'b7e0ff',\n '00CCFF'\n];\n\n\n// 边框类型\nconst borders = [\"left\", \"right\", \"top\", \"bottom\"];\nconst RenderTable=({workbook={},...props})=>{\n const [curSheetId,setCurSheetId]=useState(1)\n const [loading,setLoading]=useState(true)\n const workbookRef=useRef()\n const themeColors=useRef()\n \n const sheets=useMemo(()=>{\n if(workbook?.worksheets){\n return workbook.worksheets.filter((sheet) => sheet._rows.length);\n }\n return []\n },[workbook])\n\n\n const ws=useMemo(()=>{\n const { getWorksheet = {} } = workbook;\n if (getWorksheet && curSheetId!==-1) {\n const index = curSheetId || sheets[0].id;\n if(workbook?.getWorksheet){\n return workbook?.getWorksheet(index);\n }\n }\n return null;\n },[workbook,curSheetId])\n\n const parseTheme=()=> {\n const theme = workbook?._themes?.theme1;\n const parser = new DOMParser();\n if (theme) {\n const doc = parser.parseFromString(theme, \"text/xml\");\n const [{ children = [] } = {}] =\n doc.getElementsByTagName(\"a:clrScheme\");\n themeColors.current = [...children]\n .flatMap((node) => [...node.getElementsByTagName(\"a:srgbClr\")])\n .map((node) => node.getAttribute(\"val\"))\n .filter((i) => i);\n }\n }\n\n const alignToClass=({ horizontal, vertical }) =>{\n return [horizontal, vertical]\n .filter((i) => i)\n .map((key) => `ht${key.charAt(0).toUpperCase()}${key.slice(1)}`)\n .join(\" \");\n }\n\n const transferTime=(str)=>{\n var date = new Date(str);\n var y = date.getFullYear();\n var m = date.getMonth() + 1;\n m = m < 10 ? ('0' + m) : m;\n var d = date.getDate();\n d = d < 10 ? ('0' + d) : d;\n var h = date.getHours();\n var minute = date.getMinutes();\n minute = minute < 10 ? ('0' + minute) : minute;\n let time = y + '-' + m + '-' + d\n return time\n }\n const renderDefault=()=>{\n Handsontable.renderers.registerRenderer(\n \"styleRender\",\n (hotInstance, TD, row, col, prop, value, cell) => {\n Handsontable.renderers.getRenderer(\"text\")(\n hotInstance,\n TD,\n row,\n col,\n prop,\n value,\n cell\n );\n const isTime=(value + '').indexOf('中国标准时间')>-1;\n if(isTime){\n TD.innerText = transferTime(value)\n }\n if (ws && cell.style) {\n const {\n style: { alignment: { wrapText } = {}, border, fill, font },\n } = cell;\n const style = TD.style;\n if (font) {\n if (font.bold) style.fontWeight = \"bold\";\n if (font.size) style.fontSize = `${font.size}px`;\n }\n if (fill) {\n if (fill.bgColor) {\n const { argb, indexed } = fill.bgColor;\n style.backgroundColor = `#${argb || indexedColors[indexed]}`;\n }\n if (fill.fgColor) {\n const { theme, indexed } = fill.fgColor;\n if (theme && themeColors.current) {\n const color = themeColors.current[theme + 1];\n if (color) {\n style.color = `#${color}`;\n }\n }\n if (indexed) {\n style.color = `#${indexedColors[indexed]}`;\n }\n }\n }\n if (border) {\n borders\n .map((key) => ({ key, value: border[key] }))\n .filter((v) => v.value)\n .forEach((v) => {\n const {\n key,\n value: { style: borderStyle },\n } = v;\n const prefix = `border${captain(key)}`;\n if (borderStyle === \"thin\") {\n style[`${prefix}Width`] = \"1px\";\n } else {\n style[`${prefix}Width`] = \"2px\";\n }\n style[`${prefix}Style`] = \"solid\";\n style[`${prefix}Color`] = \"#000\";\n });\n }\n }\n // 启用了内联css,直接赋值\n if (cell.css) {\n const style = TD.style;\n const { css } = cell;\n Object.keys(css).forEach((key) => {\n const k = camelCase(key);\n style[k] = css[key];\n });\n }\n }\n );\n }\n\n const merge=useMemo(()=> {\n if(ws){\n const { _merges={} } = ws;\n return Object.values(_merges).map(({ left, top, right, bottom }) => {\n // 构建区域\n return {\n row: top - 1,\n col: left - 1,\n rowspan: bottom - top + 1,\n colspan: right - left + 1,\n };\n });\n }\n },[\n ws\n ])\n \n const cols=useMemo(() =>{\n return ws?.columns.map((item) => item.letter);\n },[ws])\n const data=useMemo(() =>{\n if(ws && cols){\n return fixMatrix(\n ws?.getRows(1, ws.actualRowCount).map((row) =>\n row?._cells.map((item) => {\n const value = item.model.value;\n if (value) {\n if(value.richText){\n if(Array.isArray(value.richText)){\n return value.richText.map(x=>x.text).join('')\n }else{\n return value.richText.text\n }\n }\n return value;\n }\n return \"\";\n })\n ),\n cols?.length\n );\n }\n return []\n },[\n ws,cols\n ])\n const columns=useMemo(() =>{\n return ws?.columns?.map((item) => ({\n ...(item.width\n ? { width: item.width*6 < 100 ? 100 : item.width*6 }\n : { width: 100 }),\n className: alignToClass(item.alignment || {}),\n renderer: \"styleRender\",\n }));\n },[ws])\n const cell=useMemo(()=> {\n if(ws){\n return ws?.getRows(1, ws.actualRowCount).flatMap((row, ri) => {\n return row._cells\n .map((cell, ci) => {\n if (cell.style) {\n return {\n row: ri,\n col: ci,\n ...(cell.alignment\n ? { className: alignToClass(cell.alignment) }\n : {}),\n style: cell.style,\n };\n }\n })\n .filter((i) => i);\n });\n }\n return []\n \n },[ws])\n const border=useMemo(()=> {\n if(ws){\n return ws?.getRows(1, ws.actualRowCount).flatMap((row, ri) => {\n return row._cells\n .map((cell, ci) => {\n if (cell.style && cell.style.border) {\n const border = cell.style.border;\n const keys = Object.keys(border);\n if (keys.length) {\n return {\n row: ri,\n col: ci,\n ...keys.reduce((result, key) => {\n result[key] = {\n width: 1,\n color: `#${\n (border.color && indexedColors[border.color.indexed]) ||\n border.argb ||\n \"000000\"\n }`,\n };\n return result;\n }, {}),\n };\n }\n }\n })\n .filter((i) => i);\n });\n }\n return []\n },[ws])\n const updateTable=()=>{\n workbookRef.current.updateSettings({\n mergeCells: merge,\n data: data,\n colHeaders: cols,\n columns: columns,\n cell: cell,\n autoColumnSize : true,\n stretchH: 'all',\n // customBorders: this.border,\n });\n setTimeout(()=>{\n setLoading(false)\n },200)\n }\n useEffect(()=>{\n const dom=document.getElementById('xlsx-handsontable')\n const setting={\n outsideClickDeselects: false,\n // 表格总宽度 默认undefined\n width: '100%',\n // 表格总高度 默认undefined\n height: \"calc(100vh - 112px)\",\n // 水平垂直居中\n className: 'htCenter htMiddle',\n // 当值为true且列宽未设置时,自适应列大小\n autoColumnSize: true,\n // 列标题高度\n columnHeaderHeight: 24,\n // 是否允许列表行排序\n columnSorting: false,\n // 是否可以多列排序\n multiColumnSorting: false,\n // 列表头字段\n colHeaders: null,\n // 是否展示行表头\n rowHeaders: true,\n // 行表头宽度\n rowHeaderWidth: 30,\n // 行高\n rowHeights: 30,\n // 列宽--可以数字 100、字符串'100px'、数组[10,20,30]或者函数 (index)=>{return index*10}\n colWidths: 150,\n // 行拖动\n manualRowMove: false,\n // 列拖动\n manualColumnMove: false,\n // 手动调整行大小\n manualRowResize: false,\n // 手动调整列大小\n manualColumnResize: false,\n // 是否开启固定列\n manualColumnFreeze: true,\n // 列对应属性\n columns: undefined,\n // 只读属性,不可编辑\n readOnly: true,\n copyable: true,\n // 可粘贴 ctrl+ V\n copyPaste: true,\n // 禁用或启用拖动滚动功能\n dragToScroll: true,\n // 允许将可配置的下拉菜单添加到表的列标题中\n dropdownMenu: false,\n // 过滤\n filters: true,\n // 表格左侧指定固定(或冻结)列的数量\n fixedColumnsLeft: 0,\n // 表格底部指定固定(或冻结)行的数量\n fixedRowsBottom: 0,\n // 表格顶部指定固定(或冻结)行的数量\n fixedRowsTop: 0,\n // 合并单元格\n mergeCells: true,\n // 表宽度不同于所有列宽度的计算得出的总和时列的反应 'none' |'last'|'all'\n stretchH: 'none',\n // 对单元值进行预定义的计算\n columnSummary: undefined,\n // 最少空列\n minSpareCols: 0,\n // 最少空行\n minSpareRows: 0,\n // 禁用公式计算\n formulas: false,\n viewportColumnRenderingOffset: 50,\n viewportRowRenderingOffset: 50,\n // 渲染全部行\n renderAllRows: true,\n language: 'zh-CN',\n licenseKey: \"non-commercial-and-evaluation\",\n }\n if(dom && ws){\n workbookRef.current = new Handsontable(dom, setting)\n parseTheme()\n renderDefault()\n updateTable()\n }\n },[ws,data])\n\n\n const handleTabSheet=(id)=>{\n if(id===curSheetId)return\n setLoading(true)\n setCurSheetId(-1)\n setTimeout(()=>{\n setCurSheetId(id)\n updateTable();\n },0)\n }\n \n renderDefault()\n return <div className='xlsx-viewer'>\n {\n ws && data?.length>0 && (<div style={{display:loading?'none':'block'}} id=\"xlsx-handsontable\"/>)\n }\n {loading && <Loading/>}\n <div className='xlsx-bottom-btns'>\n {\n !loading && sheets?.map((x,i)=><button \n className='xlsx-btn' \n key={String(i)+'xlsxbtn'} \n onClick={()=>{\n handleTabSheet(x?.id)\n }}\n style={curSheetId===x?.id?{color:'#fff',backgroundColor:'#52c41a',borderColor:'#52c41a'}:{}}\n >{x?.name}</button>)\n }\n </div>\n </div>\n}\n\n\n\nexport const XlsxViewer=(props)=>{\n const [workbook,setWorkbook]=useState({})\n useEffect(()=>{\n if(props?.filePath){\n new ExcelJS.Workbook().xlsx.load(props?.filePath).then(workbook=>{\n setWorkbook(workbook)\n })\n }\n },[props?.filePath])\n\n return <div className=\"xlsx-viewer-wrapper\">\n <RenderTable workbook={workbook}/>\n </div>\n}","\n\nimport {PDFViewer,DocxViewer,XlsxViewer,PPtxViewer,ImgViewer,TextViewer,VideoViewer} from './drivers'\nimport './style.css'\n\nexport async function readBuffer(file) {\n if(file){\n return new Promise((resolve, reject) => {\n const reader = new FileReader();\n reader.onload = loadEvent => resolve(loadEvent?.target?.result);\n reader.onerror = e => reject(e);\n reader.readAsArrayBuffer(file);\n });\n }else{\n return Promise.resolve('')\n }\n \n}\n\nexport const FileViewer=(props)=>{\n\n const getDriver=(fileType) =>{\n switch (fileType) {\n case 'pdf': {\n return <PDFViewer {...props}/>;\n }\n case 'docx': {\n return <DocxViewer {...props}/>;\n }\n case 'xlsx': {\n return <XlsxViewer {...props}/>;\n }\n case 'pptx': {\n return <PPtxViewer {...props}/>;\n }\n case \"gif\": \n case \"jpg\": \n case \"jpeg\":\n case \"bmp\": \n case \"tiff\": \n case \"tif\":\n case \"png\": {\n return <ImgViewer {...props}/>;\n }\n case \"txt\": \n case \"json\": \n case \"js\": \n case \"css\": \n case \"java\": \n case \"py\": \n case \"html\": \n case \"jsx\": \n case \"ts\": \n case \"tsx\": \n case \"xml\": \n case \"md\": \n case \"log\": {\n return <TextViewer {...props}/>;\n }\n case 'mp4': {\n return <VideoViewer {...props}/>;\n }\n default: {\n return <div>\n <h3 style={{textAlign:'center',marginTop:150}}>不支持 .{fileType} 格式的在线预览,请下载后预览或转换为支持的格式</h3>\n <p style={{textAlign:'center'}}>支持 .docx ,.xlsx ,.pptx ,.pdf ,以及纯文本格式和各种图片格式的在线预览</p>\n </div>;\n }\n }\n }\n\n return <div className=\"cr-viewer-wrapper\">\n <div className=\"cr-viewer\" id=\"cr-viewer\">\n {getDriver(props?.fileType)}\n </div>\n</div>\n}\n","\n import API from \"!../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","import './style.css'\nimport Img from './loading.png'\nexport const Loading=()=>{\n return <div className='loading-box-wrapper'>\n <div className='loading-box'>\n <img src={Img} alt=\"\" />\n </div>\n <p className='text'>加载中 ,请稍等 · · · </p>\n </div>\n}","export default \"data:image/png;base64,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\"","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.loading-box-wrapper .text{\n text-align: center;\n margin-top:30px;\n font-size: 18px;\n}\n.loading-box{\n position:relative;\n margin:200px auto 100px;\n width:50px;\n height:50px;\n border-radius:50%;\n}\n.loading-box img{\n width:100%;\n height:100%;\n animation: rotate 0.8s linear infinite;\n}\n@keyframes rotate {\n 0%{\n transform:rotate(0deg);\n }\n 100%{ \n transform:rotate(360deg);\n }\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/loading/style.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,eAAe;EACf,eAAe;AACjB;AACA;EACE,iBAAiB;EACjB,uBAAuB;EACvB,UAAU;EACV,WAAW;EACX,iBAAiB;AACnB;AACA;EACE,UAAU;EACV,WAAW;EACX,sCAAsC;AACxC;AACA;EACE;IACE,sBAAsB;EACxB;EACA;IACE,wBAAwB;EAC1B;AACF\",\"sourcesContent\":[\".loading-box-wrapper .text{\\n text-align: center;\\n margin-top:30px;\\n font-size: 18px;\\n}\\n.loading-box{\\n position:relative;\\n margin:200px auto 100px;\\n width:50px;\\n height:50px;\\n border-radius:50%;\\n}\\n.loading-box img{\\n width:100%;\\n height:100%;\\n animation: rotate 0.8s linear infinite;\\n}\\n@keyframes rotate {\\n 0%{\\n transform:rotate(0deg);\\n }\\n 100%{ \\n transform:rotate(360deg);\\n }\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/sourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.cr-viewer-wrapper {\n width: 100%;\n}\n\n.cr-viewer-wrapper .pdf-controls {\n position: fixed;\n top: 70px;\n right: 40px;\n display: flex;\n align-items: center;\n font-size: 20px;\n cursor: pointer;\n user-select: none;\n}\n\n@media screen and (max-width: 768px) {\n .cr-viewer-wrapper .pdf-controls {\n cursor: default;\n }\n\n}\n\n.cr-viewer-wrapper .pdf-controls img {\n width: 20px;\n height: 20px;\n padding: 5px;\n}\n\n.cr-viewer-wrapper .pdf-controls .pdf-large {\n margin-right: 15px;\n}\n\n.pdf-viewer-wrapper .pdf-viewer {\n background-color: #f0f2f5;\n}\n\n.xlsx-viewer .xlsx-btn {\n padding: 0 20px;\n}\n\n.img-viewer-wrapper img {\n width: 100%;\n max-width: 1000px;\n margin: 10px auto;\n display: block;\n}\n\n.text-viewer-wrapper .code-area {\n display: block;\n margin: 0 auto;\n font-size: 12px;\n max-width: 1000px;\n padding: 10px;\n min-height: 500px;\n background: #1f1f1f;\n word-break: break-word;\n white-space: break-spaces;\n color: #5af117\n}\n\n/* video全屏半屏 ResizeObserver loop limit exceeded报错隐藏 */\n#webpack-dev-server-client-overlay {\n display: none !important;\n}\n\n.docx-viewer-wrapper .docx-wrapper {\n display: block;\n overflow: auto;\n padding: 24px;\n}\n\n.docx-viewer-wrapper .docx-wrapper section {\n margin: 0 auto;\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./src/components/style.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,WAAW;AACb;;AAEA;EACE,eAAe;EACf,SAAS;EACT,WAAW;EACX,aAAa;EACb,mBAAmB;EACnB,eAAe;EACf,eAAe;EACf,iBAAiB;AACnB;;AAEA;EACE;IACE,eAAe;EACjB;;AAEF;;AAEA;EACE,WAAW;EACX,YAAY;EACZ,YAAY;AACd;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,yBAAyB;AAC3B;;AAEA;EACE,eAAe;AACjB;;AAEA;EACE,WAAW;EACX,iBAAiB;EACjB,iBAAiB;EACjB,cAAc;AAChB;;AAEA;EACE,cAAc;EACd,cAAc;EACd,eAAe;EACf,iBAAiB;EACjB,aAAa;EACb,iBAAiB;EACjB,mBAAmB;EACnB,sBAAsB;EACtB,yBAAyB;EACzB;AACF;;AAEA,qDAAqD;AACrD;EACE,wBAAwB;AAC1B;;AAEA;EACE,cAAc;EACd,cAAc;EACd,aAAa;AACf;;AAEA;EACE,cAAc;AAChB\",\"sourcesContent\":[\".cr-viewer-wrapper {\\n width: 100%;\\n}\\n\\n.cr-viewer-wrapper .pdf-controls {\\n position: fixed;\\n top: 70px;\\n right: 40px;\\n display: flex;\\n align-items: center;\\n font-size: 20px;\\n cursor: pointer;\\n user-select: none;\\n}\\n\\n@media screen and (max-width: 768px) {\\n .cr-viewer-wrapper .pdf-controls {\\n cursor: default;\\n }\\n\\n}\\n\\n.cr-viewer-wrapper .pdf-controls img {\\n width: 20px;\\n height: 20px;\\n padding: 5px;\\n}\\n\\n.cr-viewer-wrapper .pdf-controls .pdf-large {\\n margin-right: 15px;\\n}\\n\\n.pdf-viewer-wrapper .pdf-viewer {\\n background-color: #f0f2f5;\\n}\\n\\n.xlsx-viewer .xlsx-btn {\\n padding: 0 20px;\\n}\\n\\n.img-viewer-wrapper img {\\n width: 100%;\\n max-width: 1000px;\\n margin: 10px auto;\\n display: block;\\n}\\n\\n.text-viewer-wrapper .code-area {\\n display: block;\\n margin: 0 auto;\\n font-size: 12px;\\n max-width: 1000px;\\n padding: 10px;\\n min-height: 500px;\\n background: #1f1f1f;\\n word-break: break-word;\\n white-space: break-spaces;\\n color: #5af117\\n}\\n\\n/* video全屏半屏 ResizeObserver loop limit exceeded报错隐藏 */\\n#webpack-dev-server-client-overlay {\\n display: none !important;\\n}\\n\\n.docx-viewer-wrapper .docx-wrapper {\\n display: block;\\n overflow: auto;\\n padding: 24px;\\n}\\n\\n.docx-viewer-wrapper .docx-wrapper section {\\n margin: 0 auto;\\n}\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\n }\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","\n import API from \"!../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../node_modules/css-loader/dist/cjs.js!./style.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../node_modules/css-loader/dist/cjs.js!./style.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyLDIwQzcuNTksMjAgNCwxNi40MSA0LDEyQzQsNy41OSA3LjU5LDQgMTIsNEMxNi40MSw0IDIwLDcuNTkgMjAsMTJDMjAsMTYuNDEgMTYuNDEsMjAgMTIsMjBNMTIsMkExMCwxMCAwIDAsMCAyLDEyQTEwLDEwIDAgMCwwIDEyLDIyQTEwLDEwIDAgMCwwIDIyLDEyQTEwLDEwIDAgMCwwIDEyLDJNNywxM0gxN1YxMUg3IiAvPjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyLDIwQzcuNTksMjAgNCwxNi40MSA0LDEyQzQsNy41OSA3LjU5LDQgMTIsNEMxNi40MSw0IDIwLDcuNTkgMjAsMTJDMjAsMTYuNDEgMTYuNDEsMjAgMTIsMjBNMTIsMkExMCwxMCAwIDAsMCAyLDEyQTEwLDEwIDAgMCwwIDEyLDIyQTEwLDEwIDAgMCwwIDIyLDEyQTEwLDEwIDAgMCwwIDEyLDJNMTMsN0gxMVYxMUg3VjEzSDExVjE3SDEzVjEzSDE3VjExSDEzVjdaIiAvPjwvc3ZnPg==\"","module.exports = require(\"pdfjs-dist/legacy/build/pdf.mjs\");","module.exports = require(\"pdfjs-dist/legacy/build/pdf.worker.min.mjs\");","module.exports = require(\"react\");","module.exports = require(\"react-visibility-sensor\");","module.exports = require(\"react/jsx-runtime\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.b = document.baseURI || self.location.href;\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t524: 0\n};\n\n// no chunk on demand loading\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n// no on chunks loaded\n\n// no jsonp function","__webpack_require__.nc = undefined;","// startup\n// Load entry module and return exports\n// This entry module used 'module' so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(850);\n"],"names":["webpackQueues","webpackExports","webpackError","resolveQueue","leafPrototypes","getProto","require","timeout","DocxViewer","props","_useState2","_slicedToArray","useState","loading","setLoading","_useState4","zoom","setZoom","useEffect","B","document","getElementById","getElementsByClassName","section","querySelector","style","filePath","docxOptions","Object","assign","defaultOptions","debug","experimental","dom","renderAsync","_jsxs","className","width","height","overflow","children","_jsx","onClick","clearTimeout","setTimeout","s","src","Plus","alt","Minus","Loading","id","visibility","ImgViewer","url","setUrl","buffer","Promise","resolve","reject","reader","FileReader","onload","loadEvent","target","result","onerror","e","readAsDataURL","Blob","then","_regeneratorRuntime","t","r","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","__await","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_arrayLikeToArray","toString","Array","from","test","isArray","PDFJS","GlobalWorkerOptions","workerSrc","URL","PDFPage","React","_ref","index","pdfInstance","containerWidth","visible","setVisible","setStyle","handlePageRender","_ref2","_callee","page","viewport","canvas","context","_context","getPage","getViewport","scale","concat","getContext","render","canvasContext","arguments","apply","_next","_throw","textAlign","VisibilitySensor","partialVisibility","onChange","String","PDFViewer","_useState6","pages","setPages","_useState8","_useState10","pdfRef","useRef","containerRef","getDocument","data","cMapUrl","cMapPacked","promise","pdf","current","random","Math","toFixed","tempPages","numPages","fill","ref","map","x","_containerRef$current","offsetWidth","_order","t_xml","S","openBracketCC","charCodeAt","closeBracketCC","minusCC","slashCC","exclamationCC","singleQuoteCC","doubleQuoteCC","questionMarkCC","nameSpacer","pos","simplefy","parseChildren","indexOf","startNamePos","nodeTagName","attrFound","nodeAttributes","code","startChar","startStringPos","nodeChildren","startTextPos","text","trim","node","undefined","child","tagName","kids","attrs","round","Rgb","_createClass","col","_classCallCheck","this","b","key","Rgba","_Rgb","_this","_callSuper","_inherits","Hsl","Hsla","_Hsl","_this2","Color","str","_hexToRgb2","hexToRgb","rgb","rgba","hex","rgbToHex","hsl","rgbToHsl","hsla","newHue","updateFromHsl","newSat","newLum","newAlpha","hslToRgb","exec","parseInt","componentToHex","max","min","hue2rgb","q","_asyncToGenerator","base64ArrayBuffer","arrayBuff","buff","Uint8Array","byteLength","fromCharCode","btoa","processPptx","tableStyles","postMessage","charts","chartID","themeContent","slideLayoutClrOvride","styleTable","processPPTX","_x2","_processPPTX","_callee2","zip","dateBefore","pptxThumbImg","filesInfo","slideSize","numOfSlides","filename","slideHtml","dateAfter","_context2","JSZip","Date","file","getContentTypes","getSlideSize","loadTheme","readXmlFile","processSingleSlide","genGlobalCSS","time","_x3","_x4","_readXmlFile","_callee3","_context3","t0","t1","_x5","_getContentTypes","_callee4","ContentTypesJson","subObj","slidesLocArray","slideLayoutsLocArray","_context4","substr","slides","slideLayouts","_x6","_getSlideSize","_callee5","content","sldSzAttrs","_context5","_x7","_loadTheme","_callee6","preResContent","relationshipArray","themeURI","_context6","_x8","_x9","_x10","_x11","_processSingleSlide","_callee7","sldFileName","resName","resContent","RelationshipArray","layoutFilename","slideResObj","slideLayoutContent","slideLayoutTables","sldLayoutClrOvr","slideLayoutResFilename","slideLayoutResContent","masterFilename","layoutResObj","_i","slideMasterContent","slideMasterTextStyles","slideMasterTables","slideMasterResFilename","slideMasterResContent","themeFilename","masterResObj","_i2","slideContent","nodes","warpObj","bgColor","nodeKey","_i3","_context7","replace","indexNodes","getTextByPathList","t2","getSlideBackgroundFill","t3","t4","t5","processNodesInSlide","t6","spTreeNode","idTable","idxTable","typeTable","targetNode","nvSpPrNode","idx","_x12","_x13","_x14","_processNodesInSlide","_callee8","nodeValue","_context8","processSpNode","processCxnSpNode","processPicNode","processGraphicFrameNode","processGroupSpNode","_x15","_x16","_processGroupSpNode","_callee9","factor","xfrmNode","chx","chy","cx","cy","chcx","chcy","order","_context9","_x17","_x18","_processSpNode","_callee10","slideLayoutSpNode","slideMasterSpNode","_context10","genShape","_x19","_x20","_processCxnSpNode","_callee11","_context11","_x21","_x22","_x23","_x24","_x25","_x26","_x27","_x28","_x29","_genShape","_callee12","xfrmList","slideXfrmNode","slideLayoutXfrmNode","slideMasterXfrmNode","shpId","shapType","custShapType","isFlipV","rotate","w","border","headEndNodeAttrs","tailEndNodeAttrs","fillColor","grndFillFlg","imgFillFlg","ext","clrFillType","colorArray","angl","svgGrdnt","svgBgImg","triangleMarker","shapAdjst","shapAdjstVal","_shapAdjst","adjstVal","adjst","_shapAdjst2","_adjstVal","_maxAdjConst","_adjst","shapAdjstArray","_shapAdjst3","_adjstVal2","_adjst2","_shapAdjst4","adj1","adj2","_shapAdjst5","_shapAdjstVal","_shapAdjst6","_adj","_adj2","_shapAdjstArray","sAdj1","sAdj1Val","sAdj2","sAdj2Val","maxSAdj2Const","_i4","sAdjName","sAdj2Val2","_shapAdjstArray2","_sAdj","_sAdj1Val","_sAdj2","_sAdj2Val","_maxSAdj2Const","_i5","_sAdjName","_sAdj2Val2","_shapAdjstArray3","_sAdj3","_sAdj1Val2","_sAdj4","_sAdj2Val3","_maxSAdj2Const2","_i6","_sAdjName2","_sAdj2Val4","_shapAdjstArray4","_sAdj5","_sAdj1Val3","_sAdj6","_sAdj2Val5","_maxSAdj2Const3","_i7","_sAdjName3","_sAdj2Val6","_shapAdjstArray5","_sAdj7","_sAdj1Val4","_sAdj8","_sAdj2Val7","_maxSAdj2Const4","_i8","_sAdjName4","_sAdj2Val8","_shapAdjstArray6","_sAdj9","_sAdj1Val5","_sAdj10","_sAdj2Val9","_maxSAdj2Const5","_i9","_sAdjName5","_sAdj2Val10","pathLstNode","closeNode","startPoint","spX","spY","_d","pathNodes","lnToNodes","cubicBezToNodes","sortblAry","sortByOrder","k","Lx","Ly","Cx1","Cy1","Cx2","Cy2","Cx3","Cy3","_context12","angleToDegrees","getPosition","getSize","getShapeFill","getFillType","color","rot","getSvgGradient","getSvgImagePattern","getBorder","strokeDasharray","maxAdjConst","getVerticalAlign","genTextBody","lnToPtNode","key2","ptObj","lnToNoPt","ptX","ptY","ptOrdr","cubicBezToPtNodes","cubBzPts","key3","cubBzPt","sort","t7","t8","t9","t10","t11","t12","t13","t14","t15","_x30","_x31","_processPicNode","_callee13","rid","imgName","imgFileExt","imgArrayBuffer","mimeType","_context13","dot","lastIndexOf","toLowerCase","getImageMimeType","_x32","_x33","_processGraphicFrameNode","_callee14","graphicTypeUri","_context14","genTable","genChart","genDiagram","_x34","_x35","_x36","_x37","_x38","_genTextBody","_callee15","textBodyNode","pNode","rNode","j","_j","_context15","getHorizontalAlign","genBuChar","genSpanElement","_x39","_x40","_x41","_x42","_x43","_genBuChar","_callee16","sldMstrTxtStyles","dfltBultColor","dfltBultSize","bultColor","bultSize","bullet","pPrNode","getRtlVal","isRTL","lvl","buChar","buType","buNum","buPic","buFontAttrs","defBultColor","buClrNode","buFontSize","prcnt","dfltBultSizeNoPt","marginLeft","marginRight","typeface","buPicId","buImg","imgPath","imgExt","imgMimeType","_context16","getFontColor","getFontSize","getSolidFill","split","styleText","fontSchemeNode","getFontType","getFontBold","getFontItalic","underLine","strikethrough","getFontDecoration","getAlgn","align","getTextHorizontalAlign","baseline","getTextVerticalAlign","highlight","getColorOpacity","cssName","linkID","cssText","_x44","_x45","_genTable","_callee17","tableNode","getTblPr","getColsGrid","tblDir","firstRowAttr","bandRowAttr","tableHtml","trNodes","rowHeightParam","rowHeight","rowsStyl","thisTblStyle","tbleStyleId","tbleStylList","colorOpacity","bgFillschemeClr","borderStyl","rowBorders","_fillColor","_colorOpacity","_bgFillschemeClr","_borderStyl","_rowBorders","_bgFillschemeClr2","_borderStyl2","_rowBorders2","tcNodes","rowSpan","colSpan","vMerge","hMerge","colWidthParam","colStyl","colWidth","getFill","_fillColor2","_colorOpacity2","_tbleStylList","_k","_text","_colWidthParam","_colStyl","_colWidth","_getFill","_fillColor3","_colorOpacity3","_rowHeightParam","_rowHeight","_tcNodes","_j2","_text2","_colWidthParam2","_colStyl2","_colWidth2","_getFill2","_fillColor4","_colorOpacity4","_text3","_colWidthParam3","_colStyl3","_colWidth3","_getFill3","_fillColor5","_colorOpacity5","_context17","getTableBorders","_x46","_x47","_genChart","_callee18","refName","plotArea","chartData","_context18","chartType","extractChartData","slideSpNode","off","algn","anchor","solidFillNode","pathStr","getTextByPathStr","fontSize","sz","borderStyle","isSvgMode","lineNode","borderWidth","borderType","borderColor","schemeClrNode","getSchemeColorFromTheme","shade","setLum","_x48","_x49","_x50","_x51","_getSlideBackgroundFill","_callee19","bgPr","bgRef","bgcolor","bgFillTyp","sldFill","sldTint","grdFill","gsLst","tintArray","loTint","loColor","schemeClr","lin","_i10","picFillBase64","ordr","phClr","_schemeClr2","trueIdx","bgFillLst","bgFillLstIdx","_bgFillTyp","_sldFill","_sldTint","_grdFill","_gsLst","_tintArray","_i12","_loTint","_lin","_rot","_i13","_bgFillTyp2","_sldFill2","_bgColor","_sldTint2","_grdFill2","_gsLst2","_colorArray","_tintArray2","_i14","_loTint2","_loColor","_schemeClr3","_lin2","_rot2","_i15","_picFillBase","_ordr","_bgFillTyp3","_sldFill3","_bgColor2","_sldTint3","_grdFill3","_gsLst3","_colorArray2","_tintArray3","_i16","_loTint3","_loColor2","_schemeClr4","_lin3","_rot3","_i17","_picFillBase2","_ordr2","_phClr","_schemeClr5","_idx2","_trueIdx","_bgFillLst","_sortblAry","_sortByOrder","_bgFillLstIdx","_bgFillTyp4","_sldFill4","_sldTint4","_grdFill4","_gsLst4","_tintArray4","_i19","_loTint4","_lin4","_rot4","_i20","_context19","hexToRgbNew","getPicFill","Number","bgFillLstTyp","obj","idex","arrBuff","ArrayBuffer","DataView","setUint32","arrByte","_x52","_x53","_x54","_getShapeFill","_callee20","fillType","shpFill","_shpFill","_shpFill2","_shpFill3","clrName","colorAry","_context20","getGradientFill","getPatternFill","lumMod","lumOff","applyLumModify","_x55","_x56","_x57","_getPicFill","_callee21","img","rId","_context21","defBultColorVals","red","shift","green","blue","toHex","colorHex","findIndx","getColorName2Hex","hsl2rgb","hue","sat","light","hueToRgb","sysClr","solidFill","opcity","tint","sldMasterNode","schmClrName","refNode","serNode","dataMat","dataRow","eachElement","innerNode","parseFloat","colName","rowNames","xlabels","path","doFunction","offset","angle","stopsArray","sArry","middleStopString","splice","getMiddleStops","xyArray","deg","svgHeight","svgWidth","ang","wc","hc","tx1","ty1","tx2","ty2","PI","tan","m","pow","x1","y1","x2","y2","SVGangle","sal","sr","svg","ptrn","_x","_toConsumableArray","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","pptx","resultElement","thumbElement","$result","$","$wrapper","html","append","isDone","worker","terminate","func","msg","attr","queue","processSingleChart","processCharts","resize","slidesWidth","wrapperWidth","css","transform","window","addEventListener","setNumericBullets","convertChartData","xLabels","groupLabels","group","groupName","labelName","_convertChartData","data_","container","dimple","newSvg","myChart","chart","xAxis","addCategoryAxis","addOrderRule","addGroupOrderRule","title","addMeasureAxis","addSeries","plot","line","addLegend","draw","_convertChartData2","bar","_convertChartData3","pie","_convertChartData4","area","arr","elem","paragraphsArray","buSpan","find","prevBultTyp","prevBultLvl","buletIndex","tmpArry","tmpArryIndx","buletTypSrry","bulletType","bulletLvl","numIdx","getNumTypeNum","numTyp","num","rtrnNum","alphaNumeric","romanize","hebrew2Minus","format","digits","roman","join","ret","upperLower","aNum","toUpperCase","PPtxViewer","renderPptx","margin","TextViewer","setContent","readAsText","VideoViewer","mp4","createElement","controls","source","createObjectURL","appendChild","innerHTML","renderVideo","display","justifyContent","fixMatrix","colLen","_step","_iterator","_createForOfIteratorHelper","row","err","captain","registerLanguageDictionary","zhCN","indexedColors","borders","RenderTable","_ref$workbook","workbook","_objectWithoutProperties","_excluded","curSheetId","setCurSheetId","workbookRef","themeColors","sheets","useMemo","worksheets","filter","sheet","_rows","ws","_workbook$getWorkshee","getWorksheet","alignToClass","horizontal","vertical","renderDefault","Handsontable","registerRenderer","hotInstance","TD","prop","cell","getRenderer","innerText","date","getFullYear","getMonth","getDate","getHours","minute","getMinutes","transferTime","_cell$style","_cell$style$alignment","alignment","wrapText","font","bold","fontWeight","size","_fill$bgColor","argb","indexed","backgroundColor","fgColor","_fill$fgColor","theme","prefix","part","merge","_ws$_merges","_merges","_ref3","left","top","right","rowspan","bottom","colspan","cols","columns","item","letter","getRows","actualRowCount","_cells","model","richText","_ws$columns","_objectSpread","renderer","flatMap","ri","ci","updateTable","reduce","updateSettings","mergeCells","colHeaders","autoColumnSize","stretchH","setting","outsideClickDeselects","columnHeaderHeight","columnSorting","multiColumnSorting","rowHeaders","rowHeaderWidth","rowHeights","colWidths","manualRowMove","manualColumnMove","manualRowResize","manualColumnResize","manualColumnFreeze","readOnly","copyable","copyPaste","dragToScroll","dropdownMenu","filters","fixedColumnsLeft","fixedRowsBottom","fixedRowsTop","columnSummary","minSpareCols","minSpareRows","formulas","viewportColumnRenderingOffset","viewportRowRenderingOffset","renderAllRows","language","licenseKey","_workbook$_themes","_themes","theme1","parser","DOMParser","_doc$getElementsByTag3","parseFromString","getElementsByTagName","_doc$getElementsByTag5","getAttribute","parseTheme","XlsxViewer","setWorkbook","ExcelJS","xlsx","load","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","toPrimitive","readBuffer","_readBuffer","_loadEvent$target","readAsArrayBuffer","FileViewer","fileType","marginTop","getDriver","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","___CSS_LOADER_EXPORT___","module","exports","cssWithMappingToString","list","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","cssMapping","base64","unescape","encodeURIComponent","JSON","stringify","sourceMapping","stylesInDOM","getIndexByIdentifier","identifier","modulesToDom","idCountMap","identifiers","base","count","indexByIdentifier","sourceMap","references","updater","addElementStyle","byIndex","api","update","newObj","remove","lastIdentifiers","newList","newLastIdentifiers","_index","memo","styleTarget","HTMLIFrameElement","contentDocument","head","getTarget","element","attributes","styleElement","nonce","setAttribute","parentNode","removeChild","removeStyleElement","styleSheet","firstChild","createTextNode","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","fn","body","hasAwait","currentDeps","outerResolve","depQueues","Set","rej","deps","dep","wrapDeps","getResult","fnQueue","has","add","getter","__esModule","mode","ns","def","getOwnPropertyNames","definition","get","baseURI","self","location","href","nc","__webpack_exports__"],"sourceRoot":""}
|