@zoley/react-file-preview 1.1.7 → 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/lib/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","mappings":"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NdlZ,GAAkBnL,EAAM,CACxC,cACA,QACA,aAGgDnc,EACpD,MAAO,QAA2BA,IAAvBmc,EAAK,cAA6B,CAE3C,IAAMwsB,EAAmBxsB,EAAK,cAAqB,MAC7CysB,GACoC,IAAxCD,EAAoB,EAAEpzB,QAAQ,KAC1BozB,EAAoB,EAAEpxB,MAAM,KAAKsxB,QACjCF,EAAoB,EACpBG,GACoC,IAAxCH,EAAoB,EAAEpzB,QAAQ,KAC1BozB,EAAoB,EAAEpxB,MAAM,KAAKsxB,QACjCF,EAAoB,EACpBI,GACoC,IAAxCJ,EAAoB,EAAEpzB,QAAQ,KAC1BozB,EAAoB,EAAEpxB,MAAM,KAAKsxB,QACjCF,EAAoB,EAE1BvxB,EACE4xB,GAAavC,OAAOmC,GAAO,IAArB,KACNI,GAAavC,OAAOqC,GAAS,IAAvB,KACNE,GAAavC,OAAOsC,GAAQ,IAAtB,IAEV,MAAO,QAA0B/oC,IAAtBmc,EAAK,aAA4B,CAG1C/E,EAiEJ,SAA0BhM,GACxB,IAAIyU,EAuJEopB,EAAW,CACf,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,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,QACA,aACA,SACA,eAwJyB3zB,QAAQnK,IACjB,IAAd89B,IACFrpB,EAAMopB,EAASC,IAEjB,OAAOrpB,CACT,CApXYspB,CADQhtB,EAAK,aAAoB,MAAO,IAGlD,MAAO,QAAyBnc,IAArBmc,EAAK,YAA2B,CAEzC,IAAMwsB,EAAmBxsB,EAAK,YAAmB,MAe3CitB,EAsBV,SAAkBC,EAAKC,EAAKC,GAC1B,IAAI5lB,EAAI4D,EAAIrhB,EAAG8C,EAAG1C,EAClB+iC,GAAY,GAEV9hB,EADEgiB,GAAS,GACNA,GAASD,EAAM,GAEfC,EAAQD,EAAMC,EAAQD,EAM7B,OAHApjC,EAAgC,IAA5BsjC,GADJ7lB,EAAa,EAAR4lB,EAAYhiB,EACAA,EAAI8hB,EAAM,GAC3BrgC,EAA4B,IAAxBwgC,GAAS7lB,EAAI4D,EAAI8hB,GACrB/iC,EAAgC,IAA5BkjC,GAAS7lB,EAAI4D,EAAI8hB,EAAM,GACpB,CAAEnjC,EAAGA,EAAG8C,EAAGA,EAAG1C,EAAGA,EAC1B,CAnCoBia,CAdJkmB,OAAOkC,EAAsB,KAAK,IAE5ClC,QAC4C,IAA1CkC,EAAsB,IAAEpzB,QAAQ,KAC5BozB,EAAsB,IAAEpxB,MAAM,KAAKsxB,QACnCF,EAAsB,KACxB,IAEJlC,QAC4C,IAA1CkC,EAAsB,IAAEpzB,QAAQ,KAC5BozB,EAAsB,IAAEpxB,MAAM,KAAKsxB,QACnCF,EAAsB,KACxB,KAGNvxB,EAAQ4xB,GAAMI,EAAQljC,GAAK8iC,GAAMI,EAAQpgC,GAAKggC,GAAMI,EAAQ9iC,EAG9D,MAAO,QAAyBtG,IAArBmc,EAAK,YAA2B,CAEzC,IAAMstB,EAASniB,GAAkBnL,EAAM,CAAC,WAAY,QAAS,iBAC9Cnc,IAAXypC,IACFryB,EAAQqyB,EAEZ,CACA,OAAOryB,CArEP,CAsEF,CAEA,SAAS4xB,GAAM9jC,GAEb,IADA,IAAI2a,EAAM3a,EAAEjG,SAAS,IACd4gB,EAAIrgB,OAAS,GAClBqgB,EAAM,IAAMA,EAEd,OAAOA,CACT,CAiBA,SAAS2pB,GAAS7lB,EAAI4D,EAAI8hB,GAGxB,OAFIA,EAAM,IAAGA,GAAO,GAChBA,GAAO,IAAGA,GAAO,GACjBA,EAAM,GAAW9hB,EAAK5D,GAAM0lB,EAAM1lB,EAC7B0lB,EAAM,EAAU9hB,EAChB8hB,EAAM,GAAW9hB,EAAK5D,IAAO,EAAI0lB,GAAO1lB,EACrCA,CACd,CAuTA,SAAS8W,GAAgBiP,GACvB,QAAkB1pC,IAAd0pC,EAAJ,CAGA,IAAIC,EAAS,EAEb,QAA+B3pC,IAA3B0pC,EAAU,aAA4B,CACxC,IAAME,EAAOtiB,GAAkBoiB,EAAW,CACxC,YACA,SACA,QACA,aAEW1pC,IAAT4pC,IACFD,EAASlpB,SAASmpB,GAAQ,IAE9B,MAAO,QAAiC5pC,IAA7B0pC,EAAU,eAA8B,CACjD,IAAME,EAAOtiB,GAAkBoiB,EAAW,CACxC,cACA,SACA,QACA,aAEW1pC,IAAT4pC,IACFD,EAASlpB,SAASmpB,GAAQ,IAE9B,MAAO,QAAgC5pC,IAA5B0pC,EAAU,cAA6B,CAChD,IAAME,EAAOtiB,GAAkBoiB,EAAW,CACxC,aACA,SACA,QACA,aAEW1pC,IAAT4pC,IACFD,EAASlpB,SAASmpB,GAAQ,IAE9B,MAAO,QAA+B5pC,IAA3B0pC,EAAU,aAA4B,CAC/C,IAAME,EAAOtiB,GAAkBoiB,EAAW,CACxC,YACA,SACA,QACA,aAEW1pC,IAAT4pC,IACFD,EAASlpB,SAASmpB,GAAQ,IAE9B,MAAO,QAA8B5pC,IAA1B0pC,EAAU,YAA2B,CAC9C,IAAME,EAAOtiB,GAAkBoiB,EAAW,CACxC,WACA,SACA,QACA,aAEW1pC,IAAT4pC,IACFD,EAASlpB,SAASmpB,GAAQ,IAE9B,MAAO,QAA8B5pC,IAA1B0pC,EAAU,YAA2B,CAC9C,IAAME,EAAOtiB,GAAkBoiB,EAAW,CACxC,WACA,SACA,QACA,aAEW1pC,IAAT4pC,IACFD,EAASlpB,SAASmpB,GAAQ,IAE9B,CAEA,OAAOD,CAjEP,CAkEF,CAEA,SAASnJ,GAAwBoB,EAAWiI,GAIb,KAAzBjoB,QAAwD5hB,IAAzB4hB,IACjCA,EACE0F,GAAkBuiB,EAAe,CAC/B,cACA,WACA,WACI,CAAC,GAGX,IAAMC,EAAclI,EAAUxd,OAAO,GACrC,OAAQ0lB,GACN,IAAK,MACL,IAAK,MACL,IAAK,MACL,IAAK,MACHlI,EAAY,KAAOhgB,EAAqBkoB,GAM5C,IAAMC,EAAUziB,GAAkB3F,EAAc,CAC9C,UACA,kBACA,cACAigB,IAEExqB,EAAQkQ,GAAkByiB,EAAS,CAAC,YAAa,QAAS,QAI9D,YAHc/pC,IAAVoX,IACFA,EAAQkQ,GAAkByiB,EAAS,CAAC,WAAY,QAAS,aAEpD3yB,CACT,CAEA,SAASsoB,GAAiBsK,GAExB,IAAMC,EAAU,GAEhB,QAAgBjqC,IAAZgqC,EACF,OAAOC,EAGT,QAA0BjqC,IAAtBgqC,EAAQ,UAAyB,CACnC,IAAIE,EAAU,GACdC,GACEH,EAAQ,UAAU,YAAY,cAAc,SAC5C,SAAUI,EAAW7nC,GAEnB,OADA2nC,EAAQvrC,KAAK0rC,WAAWD,EAAU,SAC3B,EACT,IAEFH,EAAQtrC,KAAKurC,GACbA,EAAU,GACVC,GACEH,EAAQ,UAAU,YAAY,cAAc,SAC5C,SAAUI,EAAW7nC,GAEnB,OADA2nC,EAAQvrC,KAAK0rC,WAAWD,EAAU,SAC3B,EACT,IAEFH,EAAQtrC,KAAKurC,EACf,MACEC,GAAYH,GAAS,SAAUI,EAAW7nC,GACxC,IAAM2nC,EAAU,GACVI,EACJhjB,GAAkB8iB,EAAW,CAC3B,OACA,WACA,aACA,OACA,SACI7nC,EAGFgoC,EAAW,CAAC,EAuDlB,YAhDSvqC,IALPsnB,GAAkB8iB,EAAW,CAC3B,QACA,WACA,aACA,SAGFD,GACEC,EAAU,SAAS,YAAY,cAAc,SAC7C,SAAUA,EAAW7nC,GAEnB,OADAgoC,EAASH,EAAiB,MAAO,KAAKA,EAAU,OACzC,EACT,SAQKpqC,IALPsnB,GAAkB8iB,EAAW,CAC3B,QACA,WACA,aACA,UAGFD,GACEC,EAAU,SAAS,YAAY,cAAc,SAC7C,SAAUA,EAAW7nC,GAEnB,OADAgoC,EAASH,EAAiB,MAAO,KAAKA,EAAU,OACzC,EACT,SAWKpqC,IALPsnB,GAAkB8iB,EAAW,CAC3B,QACA,WACA,aACA,UAGFD,GACEC,EAAU,SAAS,YAAY,cAAc,SAC7C,SAAUA,EAAW7nC,GAKnB,OAJA2nC,EAAQvrC,KAAK,CACXiT,EAAGw4B,EAAiB,MAAO,IAC3B3hC,EAAG4hC,WAAWD,EAAU,UAEnB,EACT,IAIJH,EAAQtrC,KAAK,CAAE6G,IAAK8kC,EAASvhC,OAAQmhC,EAASM,QAASD,IAChD,EACT,IAGF,OAAON,CACT,CAiBA,SAAS3iB,GAAkBnL,EAAMsuB,GAC/B,GAAIA,EAAKt/B,cAAgBsB,MACvB,MAAMjJ,MAAM,0CAGd,QAAaxD,IAATmc,EAAJ,CAKA,IADA,IAAM7T,EAAImiC,EAAKjrC,OACNE,EAAI,EAAGA,EAAI4I,EAAG5I,IAErB,QAAaM,KADbmc,EAAOA,EAAKsuB,EAAK/qC,KAEf,OAIJ,OAAOyc,CAVP,CAWF,CAOA,SAASguB,GAAYhuB,EAAMuuB,GACzB,QAAa1qC,IAATmc,EAAJ,CAGA,IAAInb,EAAS,GACb,GAAImb,EAAKhR,cAAgBsB,MAEvB,IADA,IAAMnE,EAAI6T,EAAK3c,OACNE,EAAI,EAAGA,EAAI4I,EAAG5I,IACrBsB,GAAU0pC,EAAWvuB,EAAKzc,GAAIA,QAGhCsB,GAAU0pC,EAAWvuB,EAAM,GAE7B,OAAOnb,CAVP,CAWF,CAiCA,SAASknC,KAAmD,IAARyC,EAAMx7B,UAAA3P,OAAA,EAAA2P,UAAA,QAAAnP,EAClDoX,EAAQ,IAAIoI,GADUrQ,UAAA3P,OAAA,QAAAQ,IAAAmP,UAAA,GAAAA,UAAA,GAAG,WAI/B,OADAiI,EAAMspB,OAAOtpB,EAAM2I,IAAIzX,GAAK,EAAIqiC,IACzBvzB,EAAMuI,IAAI1gB,UACnB,CAGA,SAAS2zB,GAAegY,GACtB,MAAc,KAAVA,GAAyB,MAATA,EACX,EAEF55B,KAAK2N,MAAMisB,EAAQ,IAC5B,CAEA,SAASjV,GAAiBP,GACxB,IAAIE,EAAW,GAEf,OAAQF,EAAWM,eACjB,IAAK,MACL,IAAK,OACHJ,EAAW,aACX,MAEF,IAAK,MACHA,EAAW,YACX,MAEF,IAAK,MACHA,EAAW,YACX,MAEF,IAAK,MAEHA,EAAW,cACX,MAEF,IAAK,MAEHA,EAAW,cACX,MAEF,IAAK,MACHA,EAAW,gBACX,MAEF,QACEA,EAAW,UAGf,OAAOA,CACT,CAEA,SAASpC,GAAelH,EAAG3jB,EAAGokB,EAAMD,EAAYb,GAuB9C,IAtBA,IAAMkf,EAqCR,SAAwBriC,GACtB,IAAMsiC,EAAQ,CAAC,KAAM,QACrB,GAAU,IAANtiC,EACF,OAAO,EAGP,IADA,IAAI9I,EAAI8I,EACD9I,KAAK,CACV,IACMqrC,EADa,IAAO,KAAOviC,EAAI,IAAO9I,EAAI,GACV,IACtCorC,EAAM/oC,QAAQ,EAAG,EAAGgpC,EACtB,CAEF,OAAOD,CACT,CAlDqBE,CAAexe,EAAWhtB,OAAS,GAEhDyrC,EAkDR,SAAkBC,EAAKC,EAAWC,GAChC,IAAMpf,EAAIqe,WAAWe,GACf/iC,EAAIgiC,WAAWc,GACfE,EAAMhB,WAAWa,GACnBzlC,EAAI,EACJP,EAAI,EACFomC,EAAKtf,EAAI,EACTuf,EAAKljC,EAAI,EACXmjC,EAAM,EACNC,EAAM,EACNC,EAAM,EACNC,EAAM,EACJzrC,GAAMmrC,EAAM,IAAO,KAAO,IAC1Bp4B,GAAM,IAAM/S,GAAK8Q,KAAK46B,GAAM,IAC5BlsC,EAAIsR,KAAK66B,IAAI54B,GACb3K,EAAIijC,EAAK7rC,EAAI4rC,EAET,IAANprC,GACFsrC,EAAMxf,EACNyf,EAAMF,EACNG,EAAM,EACNC,EAAMJ,GACGrrC,EAAI,IACbgF,EAAI8mB,EACJvmB,EAAI,GACW,KAANvF,GACTsrC,EAAMF,EACNG,EAAM,EACNC,EAAMJ,EACNK,EAAMtjC,GACGnI,EAAI,KACbgF,EAAI,EACJO,EAAI,GACW,MAANvF,GACTsrC,EAAM,EACNC,EAAMF,EACNG,EAAM1f,EACN2f,EAAMJ,GACGrrC,EAAI,KACbgF,EAAI,EACJO,EAAI4C,GACW,MAANnI,GACTsrC,EAAMF,EACNG,EAAMpjC,EACNqjC,EAAMJ,EACNK,EAAM,IAENzmC,EAAI8mB,EACJvmB,EAAI4C,GAGN,IAAMpD,EAAIQ,EAAIP,EAAIxF,EAClB8rC,EAAc,IAARA,EAAa9rC,GAAKuF,EAAIqD,IAAO0I,KAAK86B,IAAIpsC,EAAG,GAAK,GAAK8rC,EACzDC,EAAc,IAARA,EAAY/rC,EAAI8rC,EAAMljC,EAAImjC,EAChCC,EAAc,IAARA,EAAY1f,EAAIwf,EAAME,EAC5BC,EAAc,IAARA,EAAYtjC,EAAIojC,EAAME,EAC5B,IAAMI,EAAK/6B,KAAK2N,MAAO+sB,EAAM1f,EAAK,IAAM,KAAO,IACzCggB,EAAKh7B,KAAK2N,MAAOgtB,EAAMtjC,EAAK,IAAM,KAAO,IACzC4jC,EAAKj7B,KAAK2N,MAAO6sB,EAAMxf,EAAK,IAAM,KAAO,IACzCkgB,EAAKl7B,KAAK2N,MAAO8sB,EAAMpjC,EAAK,IAAM,KAAO,IAC/C,MAAO,CAAC0jC,EAAIC,EAAIC,EAAIC,EACtB,CA/GkBC,CAAS1f,EAAMpkB,EAAG2jB,GAC5B+f,EAAKd,EAAQ,GACbe,EAAKf,EAAQ,GACbgB,EAAKhB,EAAQ,GACbiB,EAAKjB,EAAQ,GAEbmB,EAAMvB,EAAWrrC,OACjB6sC,EAAKD,EAAM,GAAK,IAAM,IAWxBE,EAAM,8BAAgC3gB,EAAQ,KAThD,uCACAogB,EACA,UACAC,EACA,UACAC,EACA,UACAC,EACA,MACiE,MAE1DxsC,EAAI,EAAGA,EAAI0sC,EAAK1sC,IACvB4sC,GACE,iBACAt7B,KAAK2N,MAAO0rB,WAAWQ,EAAWnrC,IAAM,IAAO2sC,GAAMA,EACrD,iBACA7f,EAAW9sB,GACX,IACF4sC,GAAO,OAKT,OAFAA,GAAO,qBAGT,CAgFA,SAASnZ,GAAmBhH,EAAWR,GACrC,IAAI4gB,EACF,wBACA5gB,EACA,oEAMF,OALA4gB,GACE,uBACApgB,EACA,6DACFogB,GAAQ,YAEV,EA3nL8Cp9B,UAAA3P,OAAA,QAAAQ,IAAAmP,UAAA,GAAAA,UAAA,GAAG,WAAO,GAY5C,eAAA3B,EAAAuT,GAAA3Z,KAAAiE,MAAC,SAAA+C,EAAO9K,GAAC,OAAA8D,KAAAS,MAAA,SAAA8G,GAAA,cAAAA,EAAA7C,KAAA6C,EAAAtE,MAAA,OAAAsE,EAAA+U,GACXpgB,EAAE6E,KAAIwG,EAAAtE,KACP,gBADOsE,EAAA+U,GACM,yBAAA/U,EAAA7C,KAAA,EAAA6C,EAAAtE,KAAA,EAERyX,EAAYxe,EAAE3C,MAAK,OAAAgO,EAAAtE,KAAA,gBAAAsE,EAAA7C,KAAA,EAAA6C,EAAAgV,GAAAhV,EAAA,SAGzB6S,EAAY,CACVrZ,KAAM,QACNxH,KAAMgO,EAAAgV,GAAE1kB,aACP,eAAA0P,EAAAzE,OAAA,qCAAAyE,EAAA1C,OAAA,GAAAmC,EAAA,kBAMV,gBAAAo+B,GAAA,OAAAh/B,EAAArJ,MAAA,KAAAgL,UAAA,EAhBW,GAgnLd,CC7pLA,MCAM,GAA+BxK,QAAQ,yBCChC,SAAAuX,GAAAhW,GAAA,gBAAAA,GAAA,GAAAuG,MAAAC,QAAAxG,GAAA,OAAA2G,GAAA3G,EAAA,CAAAumC,CAAAvmC,IAAA,SAAAA,GAAA,uBAAAC,QAAA,MAAAD,EAAAC,OAAAmB,WAAA,MAAApB,EAAA,qBAAAuG,MAAAK,KAAA5G,EAAA,CAAAwmC,CAAAxmC,IAAA,SAAAA,EAAAZ,GAAA,GAAAY,EAAA,qBAAAA,EAAA,OAAA2G,GAAA3G,EAAAZ,GAAA,IAAA+B,EAAA,GAAApI,SAAAgH,KAAAC,GAAA8F,MAAA,uBAAA3E,GAAAnB,EAAAiF,cAAA9D,EAAAnB,EAAAiF,YAAAC,MAAA,QAAA/D,GAAA,QAAAA,EAAAoF,MAAAK,KAAA5G,GAAA,cAAAmB,GAAA,2CAAA0F,KAAA1F,GAAAwF,GAAA3G,EAAAZ,QAAA,GAAA0H,CAAA9G,IAAA,qBAAAiE,UAAA,wIAAAwiC,EAAA,UAAA9/B,GAAA3G,EAAAZ,IAAA,MAAAA,GAAAA,EAAAY,EAAA1G,UAAA8F,EAAAY,EAAA1G,QAAA,QAAA8D,EAAA,EAAA4B,EAAAuH,MAAAnH,GAAAhC,EAAAgC,EAAAhC,IAAA4B,EAAA5B,GAAA4C,EAAA5C,GAAA,OAAA4B,CAAA,CAqGb,SA1FmB,SAAC0nC,EAAMC,EAAeC,GACvC,IAAMC,EAAUC,KAAEH,GACZI,EAAWD,KAAE,oCACnBD,EAAQG,KAAK,IACbH,EAAQI,OAAOF,GACfA,EAASE,OAAO,UAAD5tC,OFjBjB,s1EEiBqC,aACnC,IAAI6tC,GAAS,EAEb,OAAO,IAAI1hC,SAAQ,SAACnC,EAAS8jC,GAC3B,IAgDMC,EAAS,CAEb9rB,YAAa,WAAO,EACpB+rB,UAAW,WAAO,GAGpBjsB,IAAY,SAACksB,GACXF,EAAO9rB,YAAcgsB,CACvB,IAxDuB,SAACC,GACtB,IAAIL,EACJ,OAAQK,EAAItlC,MACV,IAAK,QACH8kC,EAASE,OAAOM,EAAI9sC,MACpB,MACF,IAAK,aACCmsC,GACFE,KAAEF,GAAcY,KAAK,MAAO,0BAAFnuC,OAA4BkuC,EAAI9sC,OAC5D,MACF,IAAK,YAUL,IAAK,OAQL,IAAK,QAEH,MAlBF,IAAK,YACHssC,EAASE,OAAO,UAAD5tC,OAAWkuC,EAAI9sC,KAAI,aAClC,MACF,IAAK,OACHysC,GAAS,EAmEnB,SAAuBO,GACrB,IAAK,IAAIjuC,EAAI,EAAGA,EAAIiuC,EAAMnuC,OAAQE,IAChCkuC,GAAmBD,EAAMjuC,GAAGiB,KAEhC,CAtEUktC,CAAcJ,EAAI9sC,KAAK8gB,QACvBlY,EAAQkkC,EAAI9sC,KAAKyiB,MACjB,MAIF,IAAK,QACHgqB,GAAS,EAETC,EAAO,IAAI7pC,MAAMiqC,EAAI9sC,OAS3B,IAuBA2sC,EAAO9rB,YAAY,CACjBrZ,KAAM,cACNxH,KAAMisC,GAEV,IAAGnjC,MAAK,SAAC2Z,GACP,IAAM0qB,EAAS,WACb,IAAMC,EAAc/8B,KAAK2P,IAAGxc,MAAR6M,KAAIkL,GACnBzP,MAAMK,KAAKmgC,EAASjmC,SAAS,YAAY7H,KAAI,SAACqJ,GAAC,OAAKA,EAAEsJ,WAAW,MAEhEk8B,EAAef,EAAS,GAAGn7B,YACjCm7B,EAASxrC,IAAI,CACXwsC,UAAW,SAAF1uC,OAAWyuC,EAAeD,EAAW,KAC9C,mBAAoB,YAExB,EAKA,OAJAD,IACA5qC,OAAOgrC,iBAAiB,SAAUJ,GAClCK,GAAkBnB,KAAE,WACpBmB,GAAkBnB,KAAE,aACb5pB,CACT,GACF,EAUA,SAASgrB,GAAiB7O,GACxB,IAAM5+B,EAAO,GACP0tC,EAAU,GACVC,EAAc,GAWpB,OAVA/O,EAAUr2B,SAAQ,SAACqlC,EAAO7uC,GACxB,IAAM8uC,EAAYD,EAAM/oC,IACxB8oC,EAAY5uC,GAAK6uC,EAAM/oC,IACvB+oC,EAAMxlC,OAAOG,SAAQ,SAAC7C,EAAO4M,GAC3B,IAAMw7B,EAAYF,EAAM/D,QAAQv3B,GAChCo7B,EAAQp7B,GAAKs7B,EAAM/D,QAAQv3B,GAC3BtS,EAAKhC,KAAK,CAAEyM,KAAMqjC,EAAWF,MAAOC,EAAWnoC,MAAOA,EAAMoC,GAC9D,GACF,IAEO,CAAE9H,KAAAA,EAAM0tC,QAAAA,EAASC,YAAAA,EAC1B,CAEA,SAASV,GAAmBvoC,GAC1B,IAAMqc,EAAUrc,EAAEqc,QACZ+d,EAAYp6B,EAAEo6B,UACdF,EAAYl6B,EAAEk6B,UAGhB5+B,EAAO,GAEX,OAAQ8+B,GACN,IAAK,YACH,IAAAiP,EAA8CN,GAAiB7O,GAAjDoP,EAAKD,EAAX/tC,KAAa0tC,EAAOK,EAAPL,QAASC,EAAWI,EAAXJ,YAC9B3tC,EAAOguC,EACP,IAAMC,EAAY5rC,SAAS+L,eAAe2S,GACpC4qB,EAAMuC,OAAOC,OAAO,IAADvvC,OACnBmiB,GACJktB,EAAU/rC,MAAM0L,MAChBqgC,EAAU/rC,MAAM2L,QAIZugC,EAAU,IAAIF,OAAOG,MAAM1C,EAAK3rC,GAChCsuC,EAAQF,EAAQG,gBAAgB,IAAK,QAC3CD,EAAME,aAAad,GACnBY,EAAMG,kBAAkBd,GACxBW,EAAMI,MAAQ,KACAN,EAAQO,eAAe,IAAK,SACpCD,MAAQ,KACdN,EAAQQ,UAAU,QAASV,OAAOW,KAAKC,MACvCV,EAAQW,UAAU,GAAI,GAAI,IAAK,GAAI,SACnCX,EAAQY,OAER,MAEF,IAAK,WACH,IAAAC,EAA8CxB,GAAiB7O,GAAjDoP,EAAKiB,EAAXjvC,KAAa0tC,EAAOuB,EAAPvB,QAASC,EAAWsB,EAAXtB,YAC9B3tC,EAAOguC,EACP,IAAMC,EAAY5rC,SAAS+L,eAAe2S,GACpC4qB,EAAMuC,OAAOC,OACjB,IAAMptB,EACNktB,EAAU/rC,MAAM0L,MAChBqgC,EAAU/rC,MAAM2L,QAIZugC,EAAU,IAAIF,OAAOG,MAAM1C,EAAK3rC,GAChCsuC,EAAQF,EAAQG,gBAAgB,IAAK,CAAC,OAAQ,UACpDD,EAAME,aAAad,GACnBY,EAAMG,kBAAkBd,GACxBW,EAAMI,MAAQ,KACAN,EAAQO,eAAe,IAAK,SACpCD,MAAQ,KACdN,EAAQQ,UAAU,QAASV,OAAOW,KAAKK,KACvCd,EAAQW,UAAU,GAAI,GAAI,IAAK,GAAI,SACnCX,EAAQY,OACR,MAEF,IAAK,WACL,IAAK,aAIH,IAAAG,EAAqC1B,GAAiB7O,GAAxCoP,EAAKmB,EAAXnvC,KAAa2tC,EAAWwB,EAAXxB,YACrB3tC,EAAOguC,EACP,IAAMC,EAAY5rC,SAAS+L,eAAe2S,GACpC4qB,EAAMuC,OAAOC,OAAO,IAADvvC,OACnBmiB,GACJktB,EAAU/rC,MAAM0L,MAChBqgC,EAAU/rC,MAAM2L,QAIZugC,EAAU,IAAIF,OAAOG,MAAM1C,EAAK3rC,GACtBouC,EAAQO,eAAe,IAAK,SACpCH,aAAab,GACrBS,EAAQQ,UAAU,OAAQV,OAAOW,KAAKO,KACtChB,EAAQW,UAAU,GAAI,GAAI,IAAK,IAAK,QACpCX,EAAQY,OACR,MAEF,IAAK,YACH,IAAAK,EAA8C5B,GAAiB7O,GAAjDoP,EAAKqB,EAAXrvC,KAAa0tC,EAAO2B,EAAP3B,QAASC,EAAW0B,EAAX1B,YAC9B3tC,EAAOguC,EACP,IAAMC,EAAY5rC,SAAS+L,eAAe2S,GACpC4qB,EAAMuC,OAAOC,OACjB,IAAMptB,EACNktB,EAAU/rC,MAAM0L,MAChBqgC,EAAU/rC,MAAM2L,QAIZugC,EAAU,IAAIF,OAAOG,MAAM1C,EAAK3rC,GAChCsuC,EAAQF,EAAQG,gBAAgB,IAAK,QAC3CD,EAAME,aAAad,GACnBY,EAAMG,kBAAkBd,GACxBW,EAAMI,MAAQ,KACAN,EAAQO,eAAe,IAAK,SACpCD,MAAQ,KACdN,EAAQQ,UAAU,QAASV,OAAOW,KAAKS,MACvClB,EAAQW,UAAU,GAAI,GAAI,IAAK,GAAI,SACnCX,EAAQY,OAER,MAEF,IAAK,eACH,IAAK,IAAIjwC,EAAI,EAAGA,EAAI6/B,EAAU//B,OAAQE,IAAK,CAEzC,IADA,IAAMwwC,EAAM,GACHj9B,EAAI,EAAGA,EAAIssB,EAAU7/B,GAAGF,OAAQyT,IACvCi9B,EAAIvxC,KAAK,CAAEiT,EAAGqB,EAAGxK,EAAG82B,EAAU7/B,GAAGuT,KAEnCtS,EAAKhC,KAAK,CAAE6G,IAAK,QAAU9F,EAAI,GAAIqJ,OAAQmnC,GAC7C,EAcN,CAEA,SAAS/B,GAAkBgC,GAEzB,IADA,IAAMC,EAAkBD,EACfzwC,EAAI,EAAGA,EAAI0wC,EAAgB5wC,OAAQE,IAAK,CAC/C,IAAM2wC,EAASrD,KAAEoD,EAAgB1wC,IAAI4wC,KAAK,yBAC1C,GAAID,EAAO7wC,OAAS,EAQlB,IANA,IAAI+wC,EAAc,GACdC,EAAc,GACdC,EAAa,EACXC,EAAU,GACZC,EAAc,EACZC,EAAe,GACZ39B,EAAI,EAAGA,EAAIo9B,EAAO7wC,OAAQyT,IAAK,CACtC,IAAM49B,EAAa7D,KAAEqD,EAAOp9B,IAAItS,KAAK,aAC/BmwC,EAAY9D,KAAEqD,EAAOp9B,IAAItS,KAAK,YAEjB,IAAf8vC,GACFF,EAAcM,EACdL,EAAcM,EACdJ,EAAQC,GAAeF,EACvBG,EAAaD,GAAeE,EAC5BJ,KAEII,IAAeN,GAAeO,IAAcN,GAC9CD,EAAcM,EACdL,EAAcM,EACdL,IACAC,EAAQC,GAAeF,EACvBG,EAAaD,GAAeE,GACnBA,IAAeN,GAAeO,IAAcN,GAQrDK,IAAeN,GACf9J,OAAOqK,GAAarK,OAAO+J,IAR3BD,EAAcM,EACdL,EAAcM,EAEdJ,IADAC,GACuBF,EACvBG,EAAaD,GAAeE,EAC5BJ,EAAa,GAYbI,IAAeN,GACf9J,OAAOqK,GAAarK,OAAO+J,KAE3BD,EAAcM,EACdL,EAAcM,EAEdL,EAAaC,IADbC,GACoC,GAIxC,IAAMI,EAASC,GAAcJ,EAAaD,GAAcF,GACxDzD,KAAEqD,EAAOp9B,IAAIi6B,KAAK6D,EACpB,CAEJ,CACF,CAEA,SAASC,GAAcC,EAAQC,GAC7B,IAAIC,EAAU,GACd,OAAQF,GACN,IAAK,eACHE,EAAUD,EAAM,KAChB,MACF,IAAK,eACHC,EAAUD,EAAM,KAChB,MACF,IAAK,gBACHC,EAAUC,GAAaF,EAAK,aAAe,KAC3C,MACF,IAAK,gBACHC,EAAUC,GAAaF,EAAK,aAAe,KAC3C,MAEF,IAAK,gBACHC,EAAUC,GAAaF,EAAK,aAAe,KAC3C,MACF,IAAK,gBACHC,EAAUC,GAAaF,EAAK,aAAe,KAC3C,MAEF,IAAK,gBACHC,EAAUE,GAASH,GAAO,KAC1B,MACF,IAAK,gBACHC,EAAUE,GAASH,GAAO,KAC1B,MACF,IAAK,eACHC,EAAUG,GAAaC,OAAOL,GAAO,IACrC,MACF,QACEC,EAAUD,EAEd,OAAOC,CACT,CAEA,SAASE,GAASH,GAChB,KAAMA,EAAK,OAAO,EAoClB,IAnCA,IAAMM,EAAS7hC,QAAQuhC,GAAK35B,MAAM,IAC5B/R,EAAM,CACV,GACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,OACA,KACA,GACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,OACA,KACA,GACA,IACA,KACA,MACA,KACA,IACA,KACA,MACA,OACA,MAEEisC,EAAQ,GACR/xC,EAAI,EACDA,KAAK+xC,GAASjsC,GAAKgsC,EAAO3lC,MAAY,GAAJnM,IAAW,IAAM+xC,EAC1D,OAAO,IAAIhlC,OAAO+kC,EAAO/xC,KAAK,IAAM,GAAGA,KAAK,KAAOgyC,CACrD,CAEA,IA8BwBvB,GA9BlBoB,IA8BkBpB,GA9BY,CAClC,CAAC,IAAM,IACP,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,IAAK,KACN,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,GAAI,KACL,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,EAAG,KACJ,CAAC,KAAM,OACP,CAAC,KAAM,OACP,CAAC,kBAAmB,SACpB,CAAC,YAAa,QAKP,CACLqB,OAAQ,SAAUrsC,GAChB,IAAIwsC,EAAM,GASV,OARA1E,KAAAA,KAAOkD,IAAK,WACV,IAAMgB,EAAMhyC,KAAK,GACjB,GAAIuhB,SAASywB,GAAO,EAClB,KAAOhsC,GAAKgsC,EAAKhsC,GAAKgsC,EAAKQ,GAAOxyC,KAAK,QAEvCwyC,EAAMA,EAAItqB,QAAQ8pB,EAAKhyC,KAAK,GAEhC,IACOwyC,CACT,IAIJ,SAASN,GAAaF,EAAKS,GACzBT,EAAMzK,OAAOyK,GAAO,EACpB,IAAIU,EAAO,GAYX,MAXmB,cAAfD,EACFC,IACGV,EAAM,IAAM,EAAIvhC,OAAO0R,aAAa6vB,EAAM,GAAK,IAAM,IACtDvhC,OAAO0R,aAAc6vB,EAAM,GAAM,KACjC79B,cACsB,cAAfs+B,IACTC,IACGV,EAAM,IAAM,EAAIvhC,OAAO0R,aAAa6vB,EAAM,GAAK,IAAM,IACtDvhC,OAAO0R,aAAc6vB,EAAM,GAAM,KACjCxb,eAEGkc,CACT,qgCCtcO,IAAMC,GAAW,SAAChiC,GAEvB,IAAyClC,EAAAnB,IAAdqB,EAAAA,EAAAA,WAAS,GAAK,GAAlCqC,EAAOvC,EAAA,GAACwC,EAAUxC,EAAA,GAUzB,OATA2B,EAAAA,EAAAA,YAAU,WACR,GAAGO,SAAAA,EAAOY,SAAS,CACjB,IAAM+B,EAAIxP,SAAS+L,eAAe,eAClC+iC,GAAWjiC,aAAK,EAALA,EAAOY,SAAU+B,EAAK,MAAK,SAAS,WAC7CrC,GAAW,EACb,GACF,CACF,GAAE,CAACN,aAAK,EAALA,EAAOY,YAEH3J,EAAAA,EAAAA,MAAA,OAAKC,UAAU,sBAAqBC,SAAA,CACrCkJ,IAAWjJ,EAAAA,EAAAA,KAACJ,EAAO,KACvBI,EAAAA,EAAAA,KAAA,OAAKpI,GAAG,cAAcgE,MAAO,CAAC0L,MAAM,KAAKwjC,OAAO,SAASr/B,WAAWxC,EAAQ,SAAS,eAEzF,sgCCTO,IAAM8hC,GAAU,SAACniC,GACtB,IAA+BlC,EAAAnB,IAAZqB,EAAAA,EAAAA,UAAS,IAAG,GAAxBokC,EAAGtkC,EAAA,GAACukC,EAAMvkC,EAAA,GACwBK,EAAAxB,IAAdqB,EAAAA,EAAAA,WAAS,GAAK,GAAlCqC,EAAOlC,EAAA,GAACmC,EAAUnC,EAAA,GASzB,OARAsB,EAAAA,EAAAA,YAAU,WAbZ,IAAqB6iC,EAcdtiC,SAAAA,EAAOY,WAdO0hC,EAeHtiC,aAAK,EAALA,EAAOY,SAdhB,IAAI/E,SAAQ,SAACnC,EAAS8jC,GAC3B,IAAM+E,EAAS,IAAIC,WACnBD,EAAOE,OAAS,SAAAC,GAAS,OAAIhpC,EAAQgpC,EAAUzvC,OAAO9B,OAAO,EAC7DoxC,EAAOI,QAAU,SAAAlvC,GAAC,OAAI+pC,EAAO/pC,EAAE,EAC/B8uC,EAAOK,cAAc,IAAIC,KAAK,CAACP,IACjC,KASiC1oC,KAAKyoC,GAAO,SAAS,WAChD/hC,GAAW,EACb,GAEJ,GAAE,CAACN,aAAK,EAALA,EAAOY,YAEH3J,EAAAA,EAAAA,MAAA,OAAKC,UAAU,qBAAoBC,SAAA,CACpCkJ,IAAWjJ,EAAAA,EAAAA,KAACJ,EAAO,IACvBorC,IAAOhrC,EAAAA,EAAAA,KAAA,OAAKE,IAAI,KAAKD,IAAK+qC,MAE9B,sgCChBO,IAAMU,GAAW,SAAC9iC,GAEvB,IAAyClC,EAAAnB,IAAdqB,EAAAA,EAAAA,WAAS,GAAK,GAAlCqC,EAAOvC,EAAA,GAACwC,EAAUxC,EAAA,GACcK,EAAAxB,IAAZqB,EAAAA,EAAAA,UAAS,IAAG,GAAhCxO,EAAO2O,EAAA,GAAC4kC,EAAU5kC,EAAA,GAUzB,OATAsB,EAAAA,EAAAA,YAAU,WAbZ,IAAkB6iC,EAcXtiC,SAAAA,EAAOY,WAdI0hC,EAeHtiC,aAAK,EAALA,EAAOY,SAdb,IAAI/E,SAAQ,SAACnC,EAAS8jC,GAC3B,IAAM+E,EAAS,IAAIC,WACnBD,EAAOE,OAAS,SAAAC,GAAS,OAAIhpC,EAAQgpC,EAAUzvC,OAAO9B,OAAO,EAC7DoxC,EAAOI,QAAU,SAAAlvC,GAAC,OAAI+pC,EAAO/pC,EAAE,EAC/B8uC,EAAOS,WAAW,IAAIH,KAAK,CAACP,IAAU,QACxC,KAS8B1oC,KAAKmpC,GAAW,SAAS,WACjDziC,GAAW,EACb,GAEJ,GAAE,CAACN,aAAK,EAALA,EAAOY,YAGHxJ,EAAAA,EAAAA,KAAA,OAAKF,UAAU,sBAAqBC,UACzCF,EAAAA,EAAAA,MAAA,OAAKjI,GAAG,cAAamI,SAAA,CACpBkJ,IAAWjJ,EAAAA,EAAAA,KAACJ,EAAO,KAClBI,EAAAA,EAAAA,KAAA,OAAKF,UAAU,YAAWC,SACvB3H,QAIT,EClBO,IAAMyzC,GAAY,SAACjjC,GASxB,OARAP,EAAAA,EAAAA,YAAU,WACR,GAAGO,SAAAA,EAAOY,SAAS,CACjB,IAAM+B,EAAIxP,SAAS+L,eAAe,iBAfxC,SAAqBojC,EAAQrvC,GAC3B,IAAMiwC,EAAM/vC,SAASW,cAAc,SACnCovC,EAAIxkC,MAAQ,IACZwkC,EAAIvkC,OAAS,IACbukC,EAAIC,UAAW,EACf,IAAMC,EAASjwC,SAASW,cAAc,UACtCsvC,EAAO/rC,IAAMkG,IAAI8lC,gBAAgB,IAAIR,KAAK,CAACP,KAC3CY,EAAItvC,YAAYwvC,GAChBnwC,EAAOqwC,UAAU,GACjBrwC,EAAOW,YAAYsvC,EACrB,CAMMK,CAAYvjC,aAAK,EAALA,EAAOY,SAAS+B,EAC9B,CACF,GAAE,CAAC3C,aAAK,EAALA,EAAOY,YAGHxJ,EAAAA,EAAAA,KAAA,OAAKF,UAAU,uBAAsBC,UAC1CC,EAAAA,EAAAA,KAAA,OAAKpI,GAAG,eAAegE,MAAO,CAACyZ,QAAQ,OAAO+2B,eAAe,aAGjE,YChBI,GAAU,CAAC,EAEf,GAAQnvC,kBAAoB,IAC5B,GAAQN,cAAgB,IAElB,GAAQhB,OAAS,SAAc,KAAM,QAE3C,GAAQX,OAAS,IACjB,GAAQgC,mBAAqB,IAEhB,IAAI,KAAS,IAKJ,MAAW,KAAQ2C,QAAS,KAAQA,8PCzB1DQ,GAAA,kBAAA9D,CAAA,MAAA+D,EAAA/D,EAAA,GAAA4C,EAAAR,OAAAK,UAAAb,EAAAgB,EAAAF,eAAAP,EAAAC,OAAAC,gBAAA,SAAA0B,EAAA/D,EAAA4C,GAAAmB,EAAA/D,GAAA4C,EAAAG,KAAA,EAAA3G,EAAA,mBAAAyG,OAAAA,OAAA,GAAAb,EAAA5F,EAAA4H,UAAA,aAAAC,EAAA7H,EAAA8H,eAAA,kBAAAC,EAAA/H,EAAA0G,aAAA,yBAAAsB,EAAAL,EAAA/D,EAAA4C,GAAA,OAAAR,OAAAC,eAAA0B,EAAA/D,EAAA,CAAA+C,MAAAH,EAAAN,YAAA,EAAA+B,cAAA,EAAAC,UAAA,IAAAP,EAAA/D,EAAA,KAAAoE,EAAA,aAAAL,GAAAK,EAAA,SAAAL,EAAA/D,EAAA4C,GAAA,OAAAmB,EAAA/D,GAAA4C,CAAA,WAAA2B,EAAAR,EAAA/D,EAAA4C,EAAAhB,GAAA,IAAAxF,EAAA4D,GAAAA,EAAAyC,qBAAA+B,EAAAxE,EAAAwE,EAAAxC,EAAAI,OAAAqC,OAAArI,EAAAqG,WAAAwB,EAAA,IAAAS,EAAA9C,GAAA,WAAAO,EAAAH,EAAA,WAAAe,MAAA4B,EAAAZ,EAAAnB,EAAAqB,KAAAjC,CAAA,UAAA4C,EAAAb,EAAA/D,EAAA4C,GAAA,WAAAiC,KAAA,SAAAC,IAAAf,EAAApB,KAAA3C,EAAA4C,GAAA,OAAAmB,GAAA,OAAAc,KAAA,QAAAC,IAAAf,EAAA,EAAA/D,EAAAuE,KAAAA,EAAA,IAAAQ,EAAA,iBAAAC,EAAA,iBAAAC,EAAA,YAAAC,EAAA,YAAAC,EAAA,YAAAX,IAAA,UAAAY,IAAA,UAAAC,IAAA,KAAAC,EAAA,GAAAlB,EAAAkB,EAAAtD,GAAA,8BAAAD,EAAAK,OAAAmD,eAAAC,EAAAzD,GAAAA,EAAAA,EAAA0D,EAAA,MAAAD,GAAAA,IAAA5C,GAAAhB,EAAAe,KAAA6C,EAAAxD,KAAAsD,EAAAE,GAAA,IAAAE,EAAAL,EAAA5C,UAAA+B,EAAA/B,UAAAL,OAAAqC,OAAAa,GAAA,SAAAK,EAAA5B,GAAA,0BAAA6B,SAAA,SAAA5F,GAAAoE,EAAAL,EAAA/D,GAAA,SAAA+D,GAAA,YAAA8B,QAAA7F,EAAA+D,EAAA,gBAAA+B,EAAA/B,EAAA/D,GAAA,SAAA+F,EAAAnD,EAAAT,EAAA/F,EAAA4F,GAAA,IAAAiC,EAAAW,EAAAb,EAAAnB,GAAAmB,EAAA5B,GAAA,aAAA8B,EAAAY,KAAA,KAAAV,EAAAF,EAAAa,IAAAC,EAAAZ,EAAApB,MAAA,OAAAgC,GAAA,UAAAiB,GAAAjB,IAAAnD,EAAAe,KAAAoC,EAAA,WAAA/E,EAAAiG,QAAAlB,EAAAmB,SAAAC,MAAA,SAAApC,GAAAgC,EAAA,OAAAhC,EAAA3H,EAAA4F,EAAA,aAAA+B,GAAAgC,EAAA,QAAAhC,EAAA3H,EAAA4F,EAAA,IAAAhC,EAAAiG,QAAAlB,GAAAoB,MAAA,SAAApC,GAAAI,EAAApB,MAAAgB,EAAA3H,EAAA+H,EAAA,aAAAJ,GAAA,OAAAgC,EAAA,QAAAhC,EAAA3H,EAAA4F,EAAA,IAAAA,EAAAiC,EAAAa,IAAA,KAAAlC,EAAAT,EAAA,gBAAAY,MAAA,SAAAgB,EAAAnC,GAAA,SAAAwE,IAAA,WAAApG,GAAA,SAAAA,EAAA4C,GAAAmD,EAAAhC,EAAAnC,EAAA5B,EAAA4C,EAAA,WAAAA,EAAAA,EAAAA,EAAAuD,KAAAC,EAAAA,GAAAA,GAAA,aAAAzB,EAAA3E,EAAA4C,EAAAhB,GAAA,IAAAO,EAAA4C,EAAA,gBAAA3I,EAAA4F,GAAA,GAAAG,IAAA8C,EAAA,MAAA/E,MAAA,mCAAAiC,IAAA+C,EAAA,cAAA9I,EAAA,MAAA4F,EAAA,OAAAe,MAAAgB,EAAAsC,MAAA,OAAAzE,EAAA0E,OAAAlK,EAAAwF,EAAAkD,IAAA9C,IAAA,KAAAiC,EAAArC,EAAA2E,SAAA,GAAAtC,EAAA,KAAAE,EAAAqC,EAAAvC,EAAArC,GAAA,GAAAuC,EAAA,IAAAA,IAAAgB,EAAA,gBAAAhB,CAAA,cAAAvC,EAAA0E,OAAA1E,EAAA6E,KAAA7E,EAAA8E,MAAA9E,EAAAkD,SAAA,aAAAlD,EAAA0E,OAAA,IAAAnE,IAAA4C,EAAA,MAAA5C,EAAA+C,EAAAtD,EAAAkD,IAAAlD,EAAA+E,kBAAA/E,EAAAkD,IAAA,gBAAAlD,EAAA0E,QAAA1E,EAAAgF,OAAA,SAAAhF,EAAAkD,KAAA3C,EAAA8C,EAAA,IAAAK,EAAAV,EAAA5E,EAAA4C,EAAAhB,GAAA,cAAA0D,EAAAT,KAAA,IAAA1C,EAAAP,EAAAyE,KAAAnB,EAAAF,EAAAM,EAAAR,MAAAK,EAAA,gBAAApC,MAAAuC,EAAAR,IAAAuB,KAAAzE,EAAAyE,KAAA,WAAAf,EAAAT,OAAA1C,EAAA+C,EAAAtD,EAAA0E,OAAA,QAAA1E,EAAAkD,IAAAQ,EAAAR,IAAA,YAAA0B,EAAAxG,EAAA4C,GAAA,IAAAhB,EAAAgB,EAAA0D,OAAAnE,EAAAnC,EAAAgE,SAAApC,GAAA,GAAAO,IAAA4B,EAAA,OAAAnB,EAAA2D,SAAA,eAAA3E,GAAA5B,EAAAgE,SAAA,SAAApB,EAAA0D,OAAA,SAAA1D,EAAAkC,IAAAf,EAAAyC,EAAAxG,EAAA4C,GAAA,UAAAA,EAAA0D,SAAA,WAAA1E,IAAAgB,EAAA0D,OAAA,QAAA1D,EAAAkC,IAAA,IAAA+B,UAAA,oCAAAjF,EAAA,aAAAuD,EAAA,IAAA/I,EAAAwI,EAAAzC,EAAAnC,EAAAgE,SAAApB,EAAAkC,KAAA,aAAA1I,EAAAyI,KAAA,OAAAjC,EAAA0D,OAAA,QAAA1D,EAAAkC,IAAA1I,EAAA0I,IAAAlC,EAAA2D,SAAA,KAAApB,EAAA,IAAAnD,EAAA5F,EAAA0I,IAAA,OAAA9C,EAAAA,EAAAqE,MAAAzD,EAAA5C,EAAA8G,YAAA9E,EAAAe,MAAAH,EAAAmE,KAAA/G,EAAAgH,QAAA,WAAApE,EAAA0D,SAAA1D,EAAA0D,OAAA,OAAA1D,EAAAkC,IAAAf,GAAAnB,EAAA2D,SAAA,KAAApB,GAAAnD,GAAAY,EAAA0D,OAAA,QAAA1D,EAAAkC,IAAA,IAAA+B,UAAA,oCAAAjE,EAAA2D,SAAA,KAAApB,EAAA,UAAA8B,EAAAlD,GAAA,IAAA/D,EAAA,CAAAkH,OAAAnD,EAAA,SAAAA,IAAA/D,EAAAmH,SAAApD,EAAA,SAAAA,IAAA/D,EAAAoH,WAAArD,EAAA,GAAA/D,EAAAqH,SAAAtD,EAAA,SAAAuD,WAAAjM,KAAA2E,EAAA,UAAAuH,EAAAxD,GAAA,IAAA/D,EAAA+D,EAAAyD,YAAA,GAAAxH,EAAA6E,KAAA,gBAAA7E,EAAA8E,IAAAf,EAAAyD,WAAAxH,CAAA,UAAA0E,EAAAX,GAAA,KAAAuD,WAAA,EAAAJ,OAAA,SAAAnD,EAAA6B,QAAAqB,EAAA,WAAAQ,OAAA,YAAAhC,EAAAzF,GAAA,GAAAA,GAAA,KAAAA,EAAA,KAAA4C,EAAA5C,EAAAgC,GAAA,GAAAY,EAAA,OAAAA,EAAAD,KAAA3C,GAAA,sBAAAA,EAAA+G,KAAA,OAAA/G,EAAA,IAAA0H,MAAA1H,EAAA9D,QAAA,KAAAiG,GAAA,EAAA/F,EAAA,SAAA2K,IAAA,OAAA5E,EAAAnC,EAAA9D,QAAA,GAAA0F,EAAAe,KAAA3C,EAAAmC,GAAA,OAAA4E,EAAAhE,MAAA/C,EAAAmC,GAAA4E,EAAAV,MAAA,EAAAU,EAAA,OAAAA,EAAAhE,MAAAgB,EAAAgD,EAAAV,MAAA,EAAAU,CAAA,SAAA3K,EAAA2K,KAAA3K,CAAA,YAAAyK,UAAAb,GAAAhG,GAAA,2BAAAoF,EAAA3C,UAAA4C,EAAAlD,EAAAuD,EAAA,eAAA3C,MAAAsC,EAAAhB,cAAA,IAAAlC,EAAAkD,EAAA,eAAAtC,MAAAqC,EAAAf,cAAA,IAAAe,EAAAuC,YAAAvD,EAAAiB,EAAAlB,EAAA,qBAAAnE,EAAA4H,oBAAA,SAAA7D,GAAA,IAAA/D,EAAA,mBAAA+D,GAAAA,EAAA8D,YAAA,QAAA7H,IAAAA,IAAAoF,GAAA,uBAAApF,EAAA2H,aAAA3H,EAAA8H,MAAA,EAAA9H,EAAA+H,KAAA,SAAAhE,GAAA,OAAA3B,OAAA4F,eAAA5F,OAAA4F,eAAAjE,EAAAsB,IAAAtB,EAAAkE,UAAA5C,EAAAjB,EAAAL,EAAAI,EAAA,sBAAAJ,EAAAtB,UAAAL,OAAAqC,OAAAiB,GAAA3B,CAAA,EAAA/D,EAAAkI,MAAA,SAAAnE,GAAA,OAAAmC,QAAAnC,EAAA,EAAA4B,EAAAG,EAAArD,WAAA2B,EAAA0B,EAAArD,UAAAwB,GAAA,0BAAAjE,EAAA8F,cAAAA,EAAA9F,EAAAmI,MAAA,SAAApE,EAAAnB,EAAAhB,EAAAO,EAAA/F,QAAA,IAAAA,IAAAA,EAAAgM,SAAA,IAAApG,EAAA,IAAA8D,EAAAvB,EAAAR,EAAAnB,EAAAhB,EAAAO,GAAA/F,GAAA,OAAA4D,EAAA4H,oBAAAhF,GAAAZ,EAAAA,EAAA+E,OAAAZ,MAAA,SAAApC,GAAA,OAAAA,EAAAsC,KAAAtC,EAAAhB,MAAAf,EAAA+E,MAAA,KAAApB,EAAAD,GAAAtB,EAAAsB,EAAAvB,EAAA,aAAAC,EAAAsB,EAAA1D,GAAA,0BAAAoC,EAAAsB,EAAA,qDAAA1F,EAAAqI,KAAA,SAAAtE,GAAA,IAAA/D,EAAAoC,OAAA2B,GAAAnB,EAAA,WAAAhB,KAAA5B,EAAA4C,EAAAvH,KAAAuG,GAAA,OAAAgB,EAAA0F,UAAA,SAAAvB,IAAA,KAAAnE,EAAA1G,QAAA,KAAA6H,EAAAnB,EAAA2F,MAAA,GAAAxE,KAAA/D,EAAA,OAAA+G,EAAAhE,MAAAgB,EAAAgD,EAAAV,MAAA,EAAAU,CAAA,QAAAA,EAAAV,MAAA,EAAAU,CAAA,GAAA/G,EAAAyF,OAAAA,EAAAf,EAAAjC,UAAA,CAAAoF,YAAAnD,EAAA+C,MAAA,SAAAzH,GAAA,QAAAwI,KAAA,OAAAzB,KAAA,OAAAN,KAAA,KAAAC,MAAA3C,EAAA,KAAAsC,MAAA,OAAAE,SAAA,UAAAD,OAAA,YAAAxB,IAAAf,EAAA,KAAAuD,WAAA1B,QAAA2B,IAAAvH,EAAA,QAAA4C,KAAA,WAAAA,EAAA6F,OAAA,IAAA7G,EAAAe,KAAA,KAAAC,KAAA8E,OAAA9E,EAAA8F,MAAA,WAAA9F,GAAAmB,EAAA,EAAA4E,KAAA,gBAAAtC,MAAA,MAAAtC,EAAA,KAAAuD,WAAA,GAAAE,WAAA,aAAAzD,EAAAc,KAAA,MAAAd,EAAAe,IAAA,YAAA8D,IAAA,EAAAjC,kBAAA,SAAA3G,GAAA,QAAAqG,KAAA,MAAArG,EAAA,IAAA4C,EAAA,cAAAiG,EAAAjH,EAAAO,GAAA,OAAAH,EAAA6C,KAAA,QAAA7C,EAAA8C,IAAA9E,EAAA4C,EAAAmE,KAAAnF,EAAAO,IAAAS,EAAA0D,OAAA,OAAA1D,EAAAkC,IAAAf,KAAA5B,CAAA,SAAAA,EAAA,KAAAmF,WAAApL,OAAA,EAAAiG,GAAA,IAAAA,EAAA,KAAA/F,EAAA,KAAAkL,WAAAnF,GAAAH,EAAA5F,EAAAoL,WAAA,YAAApL,EAAA8K,OAAA,OAAA2B,EAAA,UAAAzM,EAAA8K,QAAA,KAAAsB,KAAA,KAAAvE,EAAArC,EAAAe,KAAAvG,EAAA,YAAA+H,EAAAvC,EAAAe,KAAAvG,EAAA,iBAAA6H,GAAAE,EAAA,SAAAqE,KAAApM,EAAA+K,SAAA,OAAA0B,EAAAzM,EAAA+K,UAAA,WAAAqB,KAAApM,EAAAgL,WAAA,OAAAyB,EAAAzM,EAAAgL,WAAA,SAAAnD,GAAA,QAAAuE,KAAApM,EAAA+K,SAAA,OAAA0B,EAAAzM,EAAA+K,UAAA,YAAAhD,EAAA,MAAAjE,MAAA,kDAAAsI,KAAApM,EAAAgL,WAAA,OAAAyB,EAAAzM,EAAAgL,WAAA,KAAAR,OAAA,SAAA7C,EAAA/D,GAAA,QAAA4C,EAAA,KAAA0E,WAAApL,OAAA,EAAA0G,GAAA,IAAAA,EAAA,KAAAT,EAAA,KAAAmF,WAAA1E,GAAA,GAAAT,EAAA+E,QAAA,KAAAsB,MAAA5G,EAAAe,KAAAR,EAAA,oBAAAqG,KAAArG,EAAAiF,WAAA,KAAAhL,EAAA+F,EAAA,OAAA/F,IAAA,UAAA2H,GAAA,aAAAA,IAAA3H,EAAA8K,QAAAlH,GAAAA,GAAA5D,EAAAgL,aAAAhL,EAAA,UAAA4F,EAAA5F,EAAAA,EAAAoL,WAAA,UAAAxF,EAAA6C,KAAAd,EAAA/B,EAAA8C,IAAA9E,EAAA5D,GAAA,KAAAkK,OAAA,YAAAS,KAAA3K,EAAAgL,WAAAjC,GAAA,KAAA2D,SAAA9G,EAAA,EAAA8G,SAAA,SAAA/E,EAAA/D,GAAA,aAAA+D,EAAAc,KAAA,MAAAd,EAAAe,IAAA,gBAAAf,EAAAc,MAAA,aAAAd,EAAAc,KAAA,KAAAkC,KAAAhD,EAAAe,IAAA,WAAAf,EAAAc,MAAA,KAAA+D,KAAA,KAAA9D,IAAAf,EAAAe,IAAA,KAAAwB,OAAA,cAAAS,KAAA,kBAAAhD,EAAAc,MAAA7E,IAAA,KAAA+G,KAAA/G,GAAAmF,CAAA,EAAA4D,OAAA,SAAAhF,GAAA,QAAA/D,EAAA,KAAAsH,WAAApL,OAAA,EAAA8D,GAAA,IAAAA,EAAA,KAAA4C,EAAA,KAAA0E,WAAAtH,GAAA,GAAA4C,EAAAwE,aAAArD,EAAA,YAAA+E,SAAAlG,EAAA4E,WAAA5E,EAAAyE,UAAAE,EAAA3E,GAAAuC,CAAA,kBAAApB,GAAA,QAAA/D,EAAA,KAAAsH,WAAApL,OAAA,EAAA8D,GAAA,IAAAA,EAAA,KAAA4C,EAAA,KAAA0E,WAAAtH,GAAA,GAAA4C,EAAAsE,SAAAnD,EAAA,KAAAnC,EAAAgB,EAAA4E,WAAA,aAAA5F,EAAAiD,KAAA,KAAA1C,EAAAP,EAAAkD,IAAAyC,EAAA3E,EAAA,QAAAT,CAAA,QAAAjC,MAAA,0BAAA8I,cAAA,SAAAhJ,EAAA4C,EAAAhB,GAAA,YAAA2E,SAAA,CAAAvC,SAAAyB,EAAAzF,GAAA8G,WAAAlE,EAAAoE,QAAApF,GAAA,cAAA0E,SAAA,KAAAxB,IAAAf,GAAAoB,CAAA,GAAAnF,CAAA,UAAAgwC,GAAAhwC,EAAA4C,GAAA,IAAAmB,EAAA3B,OAAAiG,KAAArI,GAAA,GAAAoC,OAAA6tC,sBAAA,KAAA9tC,EAAAC,OAAA6tC,sBAAAjwC,GAAA4C,IAAAT,EAAAA,EAAA6O,QAAA,SAAApO,GAAA,OAAAR,OAAA8tC,yBAAAlwC,EAAA4C,GAAAN,UAAA,KAAAyB,EAAA1I,KAAAwF,MAAAkD,EAAA5B,EAAA,QAAA4B,CAAA,UAAAwR,GAAAvV,GAAA,QAAA4C,EAAA,EAAAA,EAAAiJ,UAAA3P,OAAA0G,IAAA,KAAAmB,EAAA,MAAA8H,UAAAjJ,GAAAiJ,UAAAjJ,GAAA,GAAAA,EAAA,EAAAotC,GAAA5tC,OAAA2B,IAAA,GAAA6B,SAAA,SAAAhD,GAAAutC,GAAAnwC,EAAA4C,EAAAmB,EAAAnB,GAAA,IAAAR,OAAAguC,0BAAAhuC,OAAAiuC,iBAAArwC,EAAAoC,OAAAguC,0BAAArsC,IAAAisC,GAAA5tC,OAAA2B,IAAA6B,SAAA,SAAAhD,GAAAR,OAAAC,eAAArC,EAAA4C,EAAAR,OAAA8tC,yBAAAnsC,EAAAnB,GAAA,WAAA5C,CAAA,UAAAmwC,GAAAnwC,EAAA4C,EAAAmB,GAAA,OAAAnB,EAAA,SAAAmB,GAAA,IAAA3H,EAAA,SAAA2H,EAAAnB,GAAA,aAAAoD,GAAAjC,KAAAA,EAAA,OAAAA,EAAA,IAAA/D,EAAA+D,EAAAlB,OAAAytC,aAAA,YAAAtwC,EAAA,KAAA5D,EAAA4D,EAAA2C,KAAAoB,EAAAnB,GAAA,wBAAAoD,GAAA5J,GAAA,OAAAA,EAAA,UAAAyK,UAAA,kEAAAjE,EAAAyJ,OAAA82B,QAAAp/B,EAAA,CAAAwsC,CAAAxsC,EAAA,0BAAAiC,GAAA5J,GAAAA,EAAAA,EAAA,GAAAo0C,CAAA5tC,MAAA5C,EAAAoC,OAAAC,eAAArC,EAAA4C,EAAA,CAAAG,MAAAgB,EAAAzB,YAAA,EAAA+B,cAAA,EAAAC,UAAA,IAAAtE,EAAA4C,GAAAmB,EAAA/D,CAAA,UAAAiJ,GAAArH,EAAAmC,EAAA/D,EAAA4C,EAAAT,EAAAH,EAAAiC,GAAA,QAAA7H,EAAAwF,EAAAI,GAAAiC,GAAAE,EAAA/H,EAAA2G,KAAA,OAAAnB,GAAA,YAAA5B,EAAA4B,EAAA,CAAAxF,EAAAiK,KAAAtC,EAAAI,GAAAiE,QAAAnC,QAAA9B,GAAAgC,KAAAvD,EAAAT,EAAA,CAIO,SAAesuC,GAAUvH,GAAA,OAAAwH,GAAA7vC,MAAC,KAADgL,UAAA,CAY/B,SAAA6kC,KAhBD,IAAA9uC,EAgBC,OAhBDA,EAgBCkC,KAAAiE,MAZM,SAAA+C,EAA0ByU,GAAI,OAAAzb,KAAAS,MAAA,SAAA8G,GAAA,cAAAA,EAAA7C,KAAA6C,EAAAtE,MAAA,WAChCwY,EAAI,CAAAlU,EAAAtE,KAAA,eAAAsE,EAAAzE,OAAA,SACE,IAAIwB,SAAQ,SAACnC,EAAS8jC,GAC3B,IAAM+E,EAAS,IAAIC,WACnBD,EAAOE,OAAS,SAAAC,GAAS,IAAA0B,EAAA,OAAI1qC,EAAQgpC,SAAiB,QAAR0B,EAAT1B,EAAWzvC,cAAM,IAAAmxC,OAAA,EAAjBA,EAAmBjzC,OAAO,EAC/DoxC,EAAOI,QAAU,SAAAlvC,GAAC,OAAI+pC,EAAO/pC,EAAE,EAC/B8uC,EAAO8B,kBAAkBrxB,EAC3B,KAAE,cAAAlU,EAAAzE,OAAA,SAEKwB,QAAQnC,QAAQ,KAAG,wBAAAoF,EAAA1C,OAAA,GAAAmC,EAAA,IAG7B4lC,GAhBD,eAAA3sC,EAAA,KAAA/D,EAAA6L,UAAA,WAAAzD,SAAA,SAAAxF,EAAAT,GAAA,IAAAH,EAAAJ,EAAAf,MAAAkD,EAAA/D,GAAA,SAAA8L,EAAAlK,GAAAqH,GAAAjH,EAAAY,EAAAT,EAAA2J,EAAAC,EAAA,OAAAnK,EAAA,UAAAmK,EAAAnK,GAAAqH,GAAAjH,EAAAY,EAAAT,EAAA2J,EAAAC,EAAA,QAAAnK,EAAA,CAAAkK,OAAA,OAgBC4kC,GAAA7vC,MAAA,KAAAgL,UAAA,CAEM,IAAMglC,GAAW,SAACtkC,GAoDvB,OAAO5I,EAAAA,EAAAA,KAAA,OAAKF,UAAU,oBAAmBC,UACvCC,EAAAA,EAAAA,KAAA,OAAKF,UAAU,YAAYlI,GAAG,YAAWmI,SAnD1B,SAACotC,GAChB,OAAQA,GACN,IAAK,MACH,OAAOntC,EAAAA,EAAAA,KAAC2I,EAASiJ,GAAA,GAAKhJ,IAExB,IAAK,OACH,OAAO5I,EAAAA,EAAAA,KAAC8K,EAAU8G,GAAA,GAAKhJ,IAEzB,IAAK,OACH,OAAO5I,EAAAA,EAAAA,KAACuV,GAAU3D,GAAA,GAAKhJ,IAEzB,IAAK,OACH,OAAO5I,EAAAA,EAAAA,KAAC4qC,GAAUh5B,GAAA,GAAKhJ,IAEzB,IAAK,MACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,OACL,IAAK,MACL,IAAK,MACH,OAAO5I,EAAAA,EAAAA,KAAC+qC,GAASn5B,GAAA,GAAKhJ,IAExB,IAAK,MACL,IAAK,OACL,IAAK,KACL,IAAK,MACL,IAAK,OACL,IAAK,KACL,IAAK,OACL,IAAK,MACL,IAAK,KACL,IAAK,MACL,IAAK,MACL,IAAK,KACL,IAAK,MACH,OAAO5I,EAAAA,EAAAA,KAAC0rC,GAAU95B,GAAA,GAAKhJ,IAEzB,IAAK,MACH,OAAO5I,EAAAA,EAAAA,KAAC6rC,GAAWj6B,GAAA,GAAKhJ,IAE1B,QACE,OAAO/I,EAAAA,EAAAA,MAAA,OAAAE,SAAA,EACLF,EAAAA,EAAAA,MAAA,MAAIjE,MAAO,CAAC0M,UAAU,SAAS8kC,UAAU,KAAKrtC,SAAA,CAAC,QAAMotC,EAAS,+BAC9DntC,EAAAA,EAAAA,KAAA,KAAGpE,MAAO,CAAC0M,UAAU,UAAUvI,SAAC,yDAIxC,CAIGstC,CAAUzkC,aAAK,EAALA,EAAOukC,aAGtB","sources":["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/./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/external commonjs \"pdfjs-dist/legacy/build/pdf.worker.min.mjs\"","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/external commonjs \"pdfjs-dist/legacy/build/pdf.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/./src/components/loading/style.css?3076","webpack://@zoley/react-file-preview/external commonjs \"react/jsx-runtime\"","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/drivers/plus.svg","webpack://@zoley/react-file-preview/./src/components/drivers/minus.svg","webpack://@zoley/react-file-preview/./src/components/drivers/pdf.jsx","webpack://@zoley/react-file-preview/external commonjs \"docx-preview\"","webpack://@zoley/react-file-preview/./src/components/drivers/docx.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/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/image.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/./src/components/style.css?b5c2","webpack://@zoley/react-file-preview/./src/components/fileViewer.jsx"],"sourcesContent":["// 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};","\"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;","module.exports = require(\"pdfjs-dist/legacy/build/pdf.worker.min.mjs\");","// 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;","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"pdfjs-dist/legacy/build/pdf.min.mjs\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react\");","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react-visibility-sensor\");","\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","const __WEBPACK_NAMESPACE_OBJECT__ = require(\"react/jsx-runtime\");","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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\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyLDIwQzcuNTksMjAgNCwxNi40MSA0LDEyQzQsNy41OSA3LjU5LDQgMTIsNEMxNi40MSw0IDIwLDcuNTkgMjAsMTJDMjAsMTYuNDEgMTYuNDEsMjAgMTIsMjBNMTIsMkExMCwxMCAwIDAsMCAyLDEyQTEwLDEwIDAgMCwwIDEyLDIyQTEwLDEwIDAgMCwwIDIyLDEyQTEwLDEwIDAgMCwwIDEyLDJNMTMsN0gxMVYxMUg3VjEzSDExVjE3SDEzVjEzSDE3VjExSDEzVjdaIiAvPjwvc3ZnPg==\"","export default \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+PHBhdGggZD0iTTEyLDIwQzcuNTksMjAgNCwxNi40MSA0LDEyQzQsNy41OSA3LjU5LDQgMTIsNEMxNi40MSw0IDIwLDcuNTkgMjAsMTJDMjAsMTYuNDEgMTYuNDEsMjAgMTIsMjBNMTIsMkExMCwxMCAwIDAsMCAyLDEyQTEwLDEwIDAgMCwwIDEyLDIyQTEwLDEwIDAgMCwwIDIyLDEyQTEwLDEwIDAgMCwwIDEyLDJNNywxM0gxN1YxMUg3IiAvPjwvc3ZnPg==\"","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\";\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","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","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}","'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 '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n '\\'': '&#039;'\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 = \"&#8227;\";\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 = \"&nbsp;\";\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, \"&nbsp;\") +\n \"</a></span>\"\n );\n } else {\n return (\n \"<span class='text-block \" +\n cssName +\n \"'>\" +\n text.replace(/\\s/i, \"&nbsp;\") +\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 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 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}","\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","\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"],"names":["___CSS_LOADER_EXPORT___","push","module","id","exports","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","sourceMap","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_i","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","require","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","m","n","getter","__esModule","d","a","definition","key","o","Object","defineProperty","enumerable","get","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","b","baseURI","self","location","href","nc","locals","Loading","_jsxs","className","children","_jsx","src","alt","_regeneratorRuntime","t","iterator","c","asyncIterator","u","define","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","reset","isNaN","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","delegateYield","asyncGeneratorStep","_slicedToArray","Array","isArray","_arrayWithHoles","_iterableToArrayLimit","_arrayLikeToArray","from","test","_unsupportedIterableToArray","_nonIterableRest","PDFJS","workerSrc","URL","timeout","PDFPage","React","_ref","zoom","pdfInstance","_useState2","containerWidth","useState","visible","setVisible","_useState4","setStyle","handlePageRender","_ref2","_callee","page","viewport","width","height","canvas","context","_context","getPage","getViewport","scale","getElementById","getContext","render","canvasContext","arguments","_next","_throw","useEffect","textAlign","VisibilitySensor","partialVisibility","onChange","String","PDFViewer","props","_useState6","pages","setPages","_useState8","loading","setLoading","_useState10","setZoom","pdfRef","useRef","containerRef","filePath","cMapUrl","cMapPacked","promise","pdf","current","random","Math","toFixed","tempPages","numPages","fill","overflow","onClick","clearTimeout","setTimeout","Plus","Minus","ref","x","_containerRef$current","offsetWidth","DocxViewer","B","getElementsByClassName","section","docxOptions","assign","defaultOptions","debug","experimental","dom","renderAsync","visibility","fixMatrix","colLen","_step","_iterator","_createForOfIteratorHelper","row","j","err","captain","str","toUpperCase","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","col","cell","getRenderer","indexOf","innerText","date","Date","getFullYear","getMonth","getDate","getHours","minute","getMinutes","transferTime","_cell$style","_cell$style$alignment","alignment","border","wrapText","font","bold","fontWeight","size","fontSize","bgColor","_fill$bgColor","argb","indexed","backgroundColor","fgColor","_fill$fgColor","theme","color","borderStyle","prefix","split","part","merge","_ws$_merges","_merges","_ref3","left","top","right","rowspan","bottom","colspan","cols","columns","letter","getRows","actualRowCount","_cells","model","richText","text","_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","_toConsumableArray","node","getAttribute","parseTheme","display","borderColor","XlsxViewer","setWorkbook","ExcelJS","xlsx","load","_order","t_xml","S","openBracketCC","charCodeAt","closeBracketCC","minusCC","slashCC","exclamationCC","singleQuoteCC","doubleQuoteCC","questionMarkCC","nameSpacer","pos","simplefy","parseChildren","startNamePos","nodeTagName","attrFound","nodeAttributes","code","startChar","startStringPos","nodeChildren","startTextPos","trim","child","tagName","kids","attrs","round","Rgb","_createClass","_classCallCheck","Rgba","_Rgb","_this","_callSuper","_inherits","Hsl","Hsla","_Hsl","_this2","Color","_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","processPptx","tableStyles","postMessage","charts","chartID","themeContent","slideLayoutClrOvride","styleTable","processPPTX","_x2","_processPPTX","_callee2","zip","dateBefore","pptxThumbImg","filesInfo","slideSize","numOfSlides","filename","slideHtml","dateAfter","_context2","JSZip","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","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","slideMasterContent","slideMasterTextStyles","slideMasterTables","slideMasterResFilename","slideMasterResContent","themeFilename","masterResObj","_i2","slideContent","nodes","warpObj","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","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","Lx","Ly","Cx1","Cy1","Cx2","Cy2","Cx3","Cy3","_context12","angleToDegrees","getPosition","getSize","getShapeFill","getFillType","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","_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","styleText","fontSchemeNode","getFontType","getFontBold","getFontItalic","underLine","strikethrough","getFontDecoration","getAlgn","align","getTextHorizontalAlign","baseline","getTextVerticalAlign","highlight","getColorOpacity","cssName","linkID","_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","_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","sz","isSvgMode","lineNode","borderWidth","borderType","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","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","getMiddleStops","xyArray","deg","svgHeight","svgWidth","ang","wc","hc","tx1","ty1","tx2","ty2","PI","tan","pow","x1","y1","x2","y2","SVGangle","sal","sr","svg","ptrn","_x","_arrayWithoutHoles","_iterableToArray","_nonIterableSpread","pptx","resultElement","thumbElement","$result","$","$wrapper","html","append","isDone","reject","worker","terminate","func","msg","attr","queue","processSingleChart","processCharts","resize","slidesWidth","wrapperWidth","transform","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","ret","upperLower","aNum","PPtxViewer","renderPptx","margin","ImgViewer","url","setUrl","buffer","reader","FileReader","onload","loadEvent","onerror","readAsDataURL","Blob","TextViewer","setContent","readAsText","VideoViewer","mp4","controls","source","createObjectURL","innerHTML","renderVideo","justifyContent","ownKeys","getOwnPropertySymbols","getOwnPropertyDescriptor","_defineProperty","getOwnPropertyDescriptors","defineProperties","toPrimitive","_toPrimitive","_toPropertyKey","readBuffer","_readBuffer","_loadEvent$target","readAsArrayBuffer","FileViewer","fileType","marginTop","getDriver"],"sourceRoot":""}