termdock 1.4.350 → 1.4.352
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/dist/client/assets/AndroidMirrorView-DkOZxYLg.js +3 -0
- package/dist/client/assets/AndroidMirrorView-DkOZxYLg.js.br +0 -0
- package/dist/client/assets/AndroidMirrorView-DkOZxYLg.js.gz +0 -0
- package/dist/client/assets/App-DqRkfVSm.js +178 -0
- package/dist/client/assets/App-DqRkfVSm.js.br +0 -0
- package/dist/client/assets/App-DqRkfVSm.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-m9GKl3cl.js +9 -0
- package/dist/client/assets/ArchitecturePanel-m9GKl3cl.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-m9GKl3cl.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-HZ0zvFvi.js +2 -0
- package/dist/client/assets/ChangeWalkthroughPanel-HZ0zvFvi.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-HZ0zvFvi.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-B4OMk92m.js +1 -0
- package/dist/client/assets/CollaborationMainWorkspace-B4OMk92m.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-B4OMk92m.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-Cbg3iH6E.js +2 -0
- package/dist/client/assets/ComputerControlView-CSs54lf0.js +6 -0
- package/dist/client/assets/ComputerControlView-CSs54lf0.js.br +0 -0
- package/dist/client/assets/ComputerControlView-CSs54lf0.js.gz +0 -0
- package/dist/client/assets/DagPlayground-yoS2llnB.js +1 -0
- package/dist/client/assets/DagPlayground-yoS2llnB.js.br +0 -0
- package/dist/client/assets/DagPlayground-yoS2llnB.js.gz +0 -0
- package/dist/client/assets/{DiffLab-DEw4y4Hk.js → DiffLab-Dj1MT9pY.js} +2 -2
- package/dist/client/assets/DiffLab-Dj1MT9pY.js.br +0 -0
- package/dist/client/assets/DiffLab-Dj1MT9pY.js.gz +0 -0
- package/dist/client/assets/DiffReview-BX2S9hNp.js +1 -0
- package/dist/client/assets/DiffReview-BX2S9hNp.js.br +0 -0
- package/dist/client/assets/DiffReview-BX2S9hNp.js.gz +0 -0
- package/dist/client/assets/{DiffReviewLab-CDXsy0jE.js → DiffReviewLab-DqI14GEk.js} +2 -2
- package/dist/client/assets/DiffReviewLab-DqI14GEk.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-DqI14GEk.js.gz +0 -0
- package/dist/client/assets/DiffViewer-AZvdDGfH.js +34 -0
- package/dist/client/assets/DiffViewer-AZvdDGfH.js.br +0 -0
- package/dist/client/assets/DiffViewer-AZvdDGfH.js.gz +0 -0
- package/dist/client/assets/GitLoadingSkeleton-CBPykkZP.js +1 -0
- package/dist/client/assets/GitLoadingSkeleton-CBPykkZP.js.br +0 -0
- package/dist/client/assets/GitLoadingSkeleton-CBPykkZP.js.gz +0 -0
- package/dist/client/assets/MarkdownPreview-DpvTnKkj.js +19 -0
- package/dist/client/assets/MarkdownPreview-DpvTnKkj.js.br +0 -0
- package/dist/client/assets/MarkdownPreview-DpvTnKkj.js.gz +0 -0
- package/dist/client/assets/{ModelPreview-BEiOgE0G.js → ModelPreview-Du_AyPr9.js} +166 -166
- package/dist/client/assets/ModelPreview-Du_AyPr9.js.br +0 -0
- package/dist/client/assets/ModelPreview-Du_AyPr9.js.gz +0 -0
- package/dist/client/assets/RecordingSaveDialog-CtXaGgIo.js +1 -0
- package/dist/client/assets/RecordingSaveDialog-CtXaGgIo.js.br +0 -0
- package/dist/client/assets/RecordingSaveDialog-CtXaGgIo.js.gz +0 -0
- package/dist/client/assets/RightSidebar-DU3gwdzg.js +1662 -0
- package/dist/client/assets/RightSidebar-DU3gwdzg.js.br +0 -0
- package/dist/client/assets/RightSidebar-DU3gwdzg.js.gz +0 -0
- package/dist/client/assets/SessionChatView-CxfwJMuK.js +13 -0
- package/dist/client/assets/SessionChatView-CxfwJMuK.js.br +0 -0
- package/dist/client/assets/SessionChatView-CxfwJMuK.js.gz +0 -0
- package/dist/client/assets/SessionChatView-D8GoESjb.css +1 -0
- package/dist/client/assets/SessionChatView-D8GoESjb.css.br +0 -0
- package/dist/client/assets/SessionChatView-D8GoESjb.css.gz +0 -0
- package/dist/client/assets/SessionResourceSidebar-B31PU57J.js +2 -0
- package/dist/client/assets/SessionResourceSidebar-B31PU57J.js.br +0 -0
- package/dist/client/assets/SessionResourceSidebar-B31PU57J.js.gz +0 -0
- package/dist/client/assets/TodoWorkspace-j9BLgk94.js +1 -0
- package/dist/client/assets/TodoWorkspace-j9BLgk94.js.br +0 -0
- package/dist/client/assets/TodoWorkspace-j9BLgk94.js.gz +0 -0
- package/dist/client/assets/{abnfDiagram-VCTEODGH-ByzlUu_B.js → abnfDiagram-VCTEODGH-LfmMIpPX.js} +1 -1
- package/dist/client/assets/abnfDiagram-VCTEODGH-LfmMIpPX.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-LfmMIpPX.js.gz +0 -0
- package/dist/client/assets/app-BMJesFDU.js +36 -0
- package/dist/client/assets/app-BMJesFDU.js.br +0 -0
- package/dist/client/assets/app-BMJesFDU.js.gz +0 -0
- package/dist/client/assets/{arc-BA6JM6vl.js → arc-DMzcmH2U.js} +1 -1
- package/dist/client/assets/arc-DMzcmH2U.js.br +0 -0
- package/dist/client/assets/arc-DMzcmH2U.js.gz +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-hCHxOfKw.js → architectureDiagram-5GKGNRK7-CphS_S5Q.js} +1 -1
- package/dist/client/assets/architectureDiagram-5GKGNRK7-CphS_S5Q.js.br +0 -0
- package/dist/client/assets/{architectureDiagram-5GKGNRK7-hCHxOfKw.js.gz → architectureDiagram-5GKGNRK7-CphS_S5Q.js.gz} +0 -0
- package/dist/client/assets/arrow-down-D-WZS308.js +1 -0
- package/dist/client/assets/arrow-up-CelbB9FE.js +1 -0
- package/dist/client/assets/{blockDiagram-I7D4REHJ-OmEN9hUB.js → blockDiagram-I7D4REHJ-Dx_4qkcL.js} +1 -1
- package/dist/client/assets/blockDiagram-I7D4REHJ-Dx_4qkcL.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-Dx_4qkcL.js.gz +0 -0
- package/dist/client/assets/{c4Diagram-7LVT6UL2-DfLTv8zh.js → c4Diagram-7LVT6UL2-DiGdnPo4.js} +1 -1
- package/dist/client/assets/c4Diagram-7LVT6UL2-DiGdnPo4.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-DiGdnPo4.js.gz +0 -0
- package/dist/client/assets/channel-BxAJ9Qmh.js +1 -0
- package/dist/client/assets/chevron-left-5sk7gL3u.js +1 -0
- package/dist/client/assets/{chunk-2Q5K7J3B-C3O76PNZ.js → chunk-2Q5K7J3B-M50KNmR8.js} +1 -1
- package/dist/client/assets/{chunk-5VM5RSS4-CsWZd30k.js → chunk-5VM5RSS4-wXVM-Max.js} +1 -1
- package/dist/client/assets/{chunk-F27PBJKO-yxCv2Uqk.js → chunk-F27PBJKO-BfQILS9u.js} +1 -1
- package/dist/client/assets/chunk-F27PBJKO-BfQILS9u.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-BfQILS9u.js.gz +0 -0
- package/dist/client/assets/{chunk-IMKFNOWR-CdPjlb9f.js → chunk-IMKFNOWR-D111Jpl3.js} +1 -1
- package/dist/client/assets/chunk-IMKFNOWR-D111Jpl3.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-D111Jpl3.js.gz +0 -0
- package/dist/client/assets/{chunk-JWPE2WC7-BiiOLq2R.js → chunk-JWPE2WC7-BBDyly5c.js} +1 -1
- package/dist/client/assets/{chunk-POPQ4Y6H-BOu_1Brt.js → chunk-POPQ4Y6H-BaI-_yc7.js} +1 -1
- package/dist/client/assets/{chunk-SVP7TREG-D1tOJung.js → chunk-SVP7TREG-BvQafCMJ.js} +1 -1
- package/dist/client/assets/chunk-SVP7TREG-BvQafCMJ.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-BvQafCMJ.js.gz +0 -0
- package/dist/client/assets/{chunk-TICWLB2K-DZjDfYNw.js → chunk-TICWLB2K-CQXPwGBz.js} +1 -1
- package/dist/client/assets/chunk-TICWLB2K-CQXPwGBz.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-CQXPwGBz.js.gz +0 -0
- package/dist/client/assets/{chunk-XXDRQBXY-CtGPyXWh.js → chunk-XXDRQBXY-CmwZc4xV.js} +1 -1
- package/dist/client/assets/classDiagram-ZZMXUADV-D0oXVFxd.js +1 -0
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-D0oXVFxd.js +1 -0
- package/dist/client/assets/clipboard-uSv3AiJM.js +1 -0
- package/dist/client/assets/clipboardText-5puxqqm_.js +1 -0
- package/dist/client/assets/clipboardText-5puxqqm_.js.br +0 -0
- package/dist/client/assets/clipboardText-5puxqqm_.js.gz +0 -0
- package/dist/client/assets/{cose-bilkent-JH36ORCC-C4Wb5lqD.js → cose-bilkent-JH36ORCC-CqWarkUj.js} +1 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-CqWarkUj.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-CqWarkUj.js.gz +0 -0
- package/dist/client/assets/{cynefin-OW5HDTMX-BvWKB1Xk.js → cynefin-OW5HDTMX-CFW2ifig.js} +1 -1
- package/dist/client/assets/cynefin-OW5HDTMX-CFW2ifig.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-CFW2ifig.js.gz +0 -0
- package/dist/client/assets/{cynefinDiagram-5FMLGOSQ-7tAkHD2P.js → cynefinDiagram-5FMLGOSQ-yggxM55S.js} +1 -1
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-yggxM55S.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-yggxM55S.js.gz +0 -0
- package/dist/client/assets/{dagre-GXQ25YYZ-Bs6IPwks.js → dagre-GXQ25YYZ-inq7o--x.js} +1 -1
- package/dist/client/assets/dagre-GXQ25YYZ-inq7o--x.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-inq7o--x.js.gz +0 -0
- package/dist/client/assets/{diagram-S7CK7UJ4-CmYXaTya.js → diagram-S7CK7UJ4-BUXMnyQN.js} +1 -1
- package/dist/client/assets/diagram-S7CK7UJ4-BUXMnyQN.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-BUXMnyQN.js.gz +0 -0
- package/dist/client/assets/{diagram-UQ7AKVKN-CqxoefB7.js → diagram-UQ7AKVKN-BJbw-Imf.js} +1 -1
- package/dist/client/assets/diagram-UQ7AKVKN-BJbw-Imf.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-BJbw-Imf.js.gz +0 -0
- package/dist/client/assets/{diagram-VSXAHHWV-Dxp1MKPT.js → diagram-VSXAHHWV-CSfl8yS7.js} +1 -1
- package/dist/client/assets/diagram-VSXAHHWV-CSfl8yS7.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-CSfl8yS7.js.gz +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-BKbWvvEr.js → diagram-VX7I27RA-zV-Vrv89.js} +1 -1
- package/dist/client/assets/diagram-VX7I27RA-zV-Vrv89.js.br +0 -0
- package/dist/client/assets/{diagram-VX7I27RA-BKbWvvEr.js.gz → diagram-VX7I27RA-zV-Vrv89.js.gz} +0 -0
- package/dist/client/assets/{diagram-Z3DM3KII-BZnNaP7F.js → diagram-Z3DM3KII-CRnE-snw.js} +1 -1
- package/dist/client/assets/diagram-Z3DM3KII-CRnE-snw.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-CRnE-snw.js.gz +0 -0
- package/dist/client/assets/{ebnfDiagram-PWID7BFC-BXVlN_P7.js → ebnfDiagram-PWID7BFC-CE30oImc.js} +1 -1
- package/dist/client/assets/ebnfDiagram-PWID7BFC-CE30oImc.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-CE30oImc.js.gz +0 -0
- package/dist/client/assets/{erDiagram-RLTQ6QDP-CEdYDZU7.js → erDiagram-RLTQ6QDP-D-5bIySI.js} +1 -1
- package/dist/client/assets/erDiagram-RLTQ6QDP-D-5bIySI.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-D-5bIySI.js.gz +0 -0
- package/dist/client/assets/{flowDiagram-HODETNUW-Bbw8GPCZ.js → flowDiagram-HODETNUW-E_jPKtQR.js} +1 -1
- package/dist/client/assets/flowDiagram-HODETNUW-E_jPKtQR.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-E_jPKtQR.js.gz +0 -0
- package/dist/client/assets/{ganttDiagram-EL5Y4UJY-CcFbtP2y.js → ganttDiagram-EL5Y4UJY-BWvLOUzC.js} +1 -1
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-BWvLOUzC.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-BWvLOUzC.js.gz +0 -0
- package/dist/client/assets/gestureArbiter-DszagC-d.js +1 -0
- package/dist/client/assets/gestureArbiter-DszagC-d.js.br +0 -0
- package/dist/client/assets/gestureArbiter-DszagC-d.js.gz +0 -0
- package/dist/client/assets/git-compare-BlcHEuBI.js +1 -0
- package/dist/client/assets/{gitGraphDiagram-WWUBYQGX-Eiust154.js → gitGraphDiagram-WWUBYQGX-nOlVCBmL.js} +1 -1
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-nOlVCBmL.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-nOlVCBmL.js.gz +0 -0
- package/dist/client/assets/index-CA1fR_jI.css +1 -0
- package/dist/client/assets/index-CA1fR_jI.css.br +0 -0
- package/dist/client/assets/index-CA1fR_jI.css.gz +0 -0
- package/dist/client/assets/{infoDiagram-27XIBGKW-DUmaNZJW.js → infoDiagram-27XIBGKW-CjVm9Lzz.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-qTwgXfx_.js → ishikawaDiagram-5VMMS53U-DmVMaGVp.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-5VMMS53U-qTwgXfx_.js.br → ishikawaDiagram-5VMMS53U-DmVMaGVp.js.br} +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-DmVMaGVp.js.gz +0 -0
- package/dist/client/assets/{journeyDiagram-3NMN7TZE-DKy1msWo.js → journeyDiagram-3NMN7TZE-DLwkoAy9.js} +1 -1
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DLwkoAy9.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DLwkoAy9.js.gz +0 -0
- package/dist/client/assets/{kanban-definition-UXKFOSKX-BxibybDd.js → kanban-definition-UXKFOSKX-GWkp_QiO.js} +1 -1
- package/dist/client/assets/kanban-definition-UXKFOSKX-GWkp_QiO.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-GWkp_QiO.js.gz +0 -0
- package/dist/client/assets/{layout-Bh6fKHRM.js → layout-DFg5a61y.js} +1 -1
- package/dist/client/assets/layout-DFg5a61y.js.br +0 -0
- package/dist/client/assets/layout-DFg5a61y.js.gz +0 -0
- package/dist/client/assets/{linear-SRlL3VWX.js → linear-B0OdJLe1.js} +1 -1
- package/dist/client/assets/{linear-SRlL3VWX.js.br → linear-B0OdJLe1.js.br} +0 -0
- package/dist/client/assets/linear-B0OdJLe1.js.gz +0 -0
- package/dist/client/assets/link-BnxdKJ7b.js +8 -0
- package/dist/client/assets/link-BnxdKJ7b.js.br +0 -0
- package/dist/client/assets/link-BnxdKJ7b.js.gz +0 -0
- package/dist/client/assets/list-tree-Bou8VSzi.js +1 -0
- package/dist/client/assets/loader-circle-q7h8uwFI.js +1 -0
- package/dist/client/assets/maximize-2-BGTBw-Ku.js +1 -0
- package/dist/client/assets/{mermaid.core-D0bcNdw3.js → mermaid.core-DQA3ykXv.js} +5 -5
- package/dist/client/assets/mermaid.core-DQA3ykXv.js.br +0 -0
- package/dist/client/assets/mermaid.core-DQA3ykXv.js.gz +0 -0
- package/dist/client/assets/{mindmap-definition-YA3MSWOX-CImZ_aI0.js → mindmap-definition-YA3MSWOX-DsZAVAGP.js} +2 -2
- package/dist/client/assets/mindmap-definition-YA3MSWOX-DsZAVAGP.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-DsZAVAGP.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-CEZSL94g.js +2 -0
- package/dist/client/assets/passwordBootstrap-CEZSL94g.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-CEZSL94g.js.gz +0 -0
- package/dist/client/assets/{pegDiagram-XKGWAZYB-BT4pTf8O.js → pegDiagram-XKGWAZYB-C3ar01Lf.js} +1 -1
- package/dist/client/assets/pegDiagram-XKGWAZYB-C3ar01Lf.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-C3ar01Lf.js.gz +0 -0
- package/dist/client/assets/{pieDiagram-E7YTZNPT-C5K58ien.js → pieDiagram-E7YTZNPT-C8LIa9gE.js} +1 -1
- package/dist/client/assets/pieDiagram-E7YTZNPT-C8LIa9gE.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-C8LIa9gE.js.gz +0 -0
- package/dist/client/assets/{quadrantDiagram-AXDQQJYC-DzSugYXz.js → quadrantDiagram-AXDQQJYC-BuRJ1f9F.js} +1 -1
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BuRJ1f9F.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-BuRJ1f9F.js.gz +0 -0
- package/dist/client/assets/quote-qXNI_NTi.js +1 -0
- package/dist/client/assets/{railroadDiagram-O6MQD6OU-BY07SouQ.js → railroadDiagram-O6MQD6OU-D7iZy3dO.js} +1 -1
- package/dist/client/assets/railroadDiagram-O6MQD6OU-D7iZy3dO.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-D7iZy3dO.js.gz +0 -0
- package/dist/client/assets/rdpSession-DUBlG26K.js +1 -0
- package/dist/client/assets/rdpSession-DUBlG26K.js.br +0 -0
- package/dist/client/assets/rdpSession-DUBlG26K.js.gz +0 -0
- package/dist/client/assets/{requirementDiagram-BXWQKSXE-C7WieVuE.js → requirementDiagram-BXWQKSXE-DhY8g8qK.js} +1 -1
- package/dist/client/assets/requirementDiagram-BXWQKSXE-DhY8g8qK.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-DhY8g8qK.js.gz +0 -0
- package/dist/client/assets/{sankeyDiagram-P5KCCOFB-BJsDWNs4.js → sankeyDiagram-P5KCCOFB-DDA_LQcg.js} +1 -1
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DDA_LQcg.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-DDA_LQcg.js.gz +0 -0
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BeJ_7853.js → sequenceDiagram-WJ2MYXX4-bWgfdfwY.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-WJ2MYXX4-BeJ_7853.js.br → sequenceDiagram-WJ2MYXX4-bWgfdfwY.js.br} +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-bWgfdfwY.js.gz +0 -0
- package/dist/client/assets/settings-2-B-sr3wQM.js +1 -0
- package/dist/client/assets/{sizeCapture-INFHLROL-DOsjXKPV.js → sizeCapture-INFHLROL-BYxi7e0R.js} +1 -1
- package/dist/client/assets/sizeCapture-INFHLROL-BYxi7e0R.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-BYxi7e0R.js.gz +0 -0
- package/dist/client/assets/{sparkles-e9SkpP7a.js → sparkles-CCLflSFy.js} +1 -1
- package/dist/client/assets/{stateDiagram-D77RDMKH-6s709_RT.js → stateDiagram-D77RDMKH-6vqC2h36.js} +1 -1
- package/dist/client/assets/stateDiagram-D77RDMKH-6vqC2h36.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-6vqC2h36.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-Bb23lB9W.js +1 -0
- package/dist/client/assets/sun-B9_TfxlA.js +1 -0
- package/dist/client/assets/{swimlanes-42K2YHIH-5R5dw9_R.js → swimlanes-42K2YHIH-B4qrXam7.js} +1 -1
- package/dist/client/assets/swimlanes-42K2YHIH-B4qrXam7.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-B4qrXam7.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-CQ1XJUVU.js +8 -0
- package/dist/client/assets/swiper-DJjq1TYT.js +1 -0
- package/dist/client/assets/swiper-DJjq1TYT.js.br +0 -0
- package/dist/client/assets/swiper-DJjq1TYT.js.gz +0 -0
- package/dist/client/assets/syntaxHighlight-bcOB6oww.js +4 -0
- package/dist/client/assets/syntaxHighlight-bcOB6oww.js.br +0 -0
- package/dist/client/assets/syntaxHighlight-bcOB6oww.js.gz +0 -0
- package/dist/client/assets/{timeline-definition-24CTP7MA-B4YN0lsx.js → timeline-definition-24CTP7MA-D0_004MF.js} +1 -1
- package/dist/client/assets/timeline-definition-24CTP7MA-D0_004MF.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-D0_004MF.js.gz +0 -0
- package/dist/client/assets/triangle-alert-D3w7mA17.js +1 -0
- package/dist/client/assets/unplug-BSblgecr.js +1 -0
- package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js +1 -0
- package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js.br +0 -0
- package/dist/client/assets/use-gesture-react.esm-DYpdiE_k.js.gz +0 -0
- package/dist/client/assets/v4-EwEgHOG0.js +1 -0
- package/dist/client/assets/{vennDiagram-4TSXK5OY-Wd83SmWI.js → vennDiagram-4TSXK5OY-Bqrx-47p.js} +1 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-Bqrx-47p.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-Bqrx-47p.js.gz +0 -0
- package/dist/client/assets/videoCompression-df1Ej3AR.js +3 -0
- package/dist/client/assets/videoCompression-df1Ej3AR.js.br +0 -0
- package/dist/client/assets/videoCompression-df1Ej3AR.js.gz +0 -0
- package/dist/client/assets/{wardleyDiagram-VM6X3IG4-CGsYvqWN.js → wardleyDiagram-VM6X3IG4-C4LCUdfd.js} +1 -1
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-C4LCUdfd.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-C4LCUdfd.js.gz +0 -0
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-ednJq1_u.js → xychartDiagram-S5SC5T6Z-E5AQcZVI.js} +1 -1
- package/dist/client/assets/{xychartDiagram-S5SC5T6Z-ednJq1_u.js.br → xychartDiagram-S5SC5T6Z-E5AQcZVI.js.br} +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-E5AQcZVI.js.gz +0 -0
- package/dist/client/index.html +2 -2
- package/dist/client/index.html.br +0 -0
- package/dist/client/index.html.gz +0 -0
- package/dist/client/sw-encrypted-background.js +1 -1
- package/dist/client/sw-encrypted-background.js.br +0 -0
- package/dist/client/sw-encrypted-background.js.gz +0 -0
- package/dist/client/sw.js +1 -1
- package/dist/client/sw.js.br +0 -0
- package/dist/client/sw.js.gz +0 -0
- package/dist/server/agent/collaborationDeliveryWorker.js +11 -0
- package/dist/server/agent/collaborationPrompt.js +4 -2
- package/dist/server/agent/collaborationRoutes.js +2 -0
- package/dist/server/agent/collaborationStore.js +7 -1
- package/dist/server/agent/sessionAttachmentRoutes.js +39 -0
- package/dist/server/agent/sessionChatRoutes.js +64 -0
- package/dist/server/agent/sessionViewModeRoutes.js +72 -0
- package/dist/server/android/recording.js +19 -17
- package/dist/server/cli.js +34 -0
- package/dist/server/entry.js +26 -17
- package/dist/server/federation/accessPolicy.js +8 -3
- package/dist/server/federation/authorization.js +26 -3
- package/dist/server/federation/invitations.js +27 -6
- package/dist/server/federation/relay.js +21 -3
- package/dist/server/federation/requestContext.js +5 -1
- package/dist/server/federation/resourceAccess.js +63 -0
- package/dist/server/federation/runtime.js +67 -18
- package/dist/server/federation/sessionSharing.js +39 -0
- package/dist/server/federation/socketDuplex.js +3 -3
- package/dist/server/routes/android.js +36 -7
- package/dist/server/routes/computer.js +14 -4
- package/dist/server/routes/filesystem.js +6 -3
- package/dist/server/routes/rdp.js +4 -3
- package/dist/server/routes/sharedFiles.js +51 -0
- package/dist/server/routes/terminal.js +83 -14
- package/dist/server/routes/vncReadOnly.js +134 -0
- package/dist/server/shared/shareResources.js +37 -0
- package/dist/server/todos/cli.js +91 -0
- package/dist/server/todos/routes.js +73 -0
- package/dist/server/todos/store.js +240 -0
- package/dist/server/todos/types.js +1 -0
- package/dist/server/utils/autoUpdate.js +7 -2
- package/dist/server/utils/clientSnapshotMaintenance.js +200 -0
- package/dist/server/utils/runtimeClient.js +79 -0
- package/dist/server/utils/serverCleanup.js +24 -0
- package/dist/server/utils/storageMaintenance.js +60 -0
- package/dist/server/utils/version.js +2 -0
- package/dist/server/utils/workspaceCacheMaintenance.js +158 -0
- package/docs/integrations.md +23 -0
- package/package.json +1 -1
- package/runtime-manifest.json +3 -3
- package/dist/client/assets/App-TPJoJbGD.js +0 -187
- package/dist/client/assets/App-TPJoJbGD.js.br +0 -0
- package/dist/client/assets/App-TPJoJbGD.js.gz +0 -0
- package/dist/client/assets/ArchitecturePanel-DzVy71gM.js +0 -9
- package/dist/client/assets/ArchitecturePanel-DzVy71gM.js.br +0 -0
- package/dist/client/assets/ArchitecturePanel-DzVy71gM.js.gz +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DN7BCzqC.js +0 -2
- package/dist/client/assets/ChangeWalkthroughPanel-DN7BCzqC.js.br +0 -0
- package/dist/client/assets/ChangeWalkthroughPanel-DN7BCzqC.js.gz +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-B1PZuCC6.js +0 -1
- package/dist/client/assets/CollaborationMainWorkspace-B1PZuCC6.js.br +0 -0
- package/dist/client/assets/CollaborationMainWorkspace-B1PZuCC6.js.gz +0 -0
- package/dist/client/assets/CollaborationTaskContent-CG7g1LMH.js +0 -2
- package/dist/client/assets/ComputerControlView-BlI9Ai_k.js +0 -6
- package/dist/client/assets/ComputerControlView-BlI9Ai_k.js.br +0 -0
- package/dist/client/assets/ComputerControlView-BlI9Ai_k.js.gz +0 -0
- package/dist/client/assets/DagPlayground-V0hTKB-S.js +0 -1
- package/dist/client/assets/DagPlayground-V0hTKB-S.js.br +0 -0
- package/dist/client/assets/DagPlayground-V0hTKB-S.js.gz +0 -0
- package/dist/client/assets/DiffLab-DEw4y4Hk.js.br +0 -0
- package/dist/client/assets/DiffLab-DEw4y4Hk.js.gz +0 -0
- package/dist/client/assets/DiffReview-Cnnt3TMK.js +0 -1
- package/dist/client/assets/DiffReview-Cnnt3TMK.js.br +0 -0
- package/dist/client/assets/DiffReview-Cnnt3TMK.js.gz +0 -0
- package/dist/client/assets/DiffReviewLab-CDXsy0jE.js.br +0 -0
- package/dist/client/assets/DiffReviewLab-CDXsy0jE.js.gz +0 -0
- package/dist/client/assets/DiffViewer-Dh40XiCM.js +0 -37
- package/dist/client/assets/DiffViewer-Dh40XiCM.js.br +0 -0
- package/dist/client/assets/DiffViewer-Dh40XiCM.js.gz +0 -0
- package/dist/client/assets/ModelPreview-BEiOgE0G.js.br +0 -0
- package/dist/client/assets/ModelPreview-BEiOgE0G.js.gz +0 -0
- package/dist/client/assets/RightSidebar-DiECnX5D.js +0 -1679
- package/dist/client/assets/RightSidebar-DiECnX5D.js.br +0 -0
- package/dist/client/assets/RightSidebar-DiECnX5D.js.gz +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-ByzlUu_B.js.br +0 -0
- package/dist/client/assets/abnfDiagram-VCTEODGH-ByzlUu_B.js.gz +0 -0
- package/dist/client/assets/app-CKAFlgMD.js +0 -35
- package/dist/client/assets/app-CKAFlgMD.js.br +0 -0
- package/dist/client/assets/app-CKAFlgMD.js.gz +0 -0
- package/dist/client/assets/arc-BA6JM6vl.js.br +0 -0
- package/dist/client/assets/arc-BA6JM6vl.js.gz +0 -0
- package/dist/client/assets/architectureDiagram-5GKGNRK7-hCHxOfKw.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-OmEN9hUB.js.br +0 -0
- package/dist/client/assets/blockDiagram-I7D4REHJ-OmEN9hUB.js.gz +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-DfLTv8zh.js.br +0 -0
- package/dist/client/assets/c4Diagram-7LVT6UL2-DfLTv8zh.js.gz +0 -0
- package/dist/client/assets/channel-gcmN0N0m.js +0 -1
- package/dist/client/assets/chunk-F27PBJKO-yxCv2Uqk.js.br +0 -0
- package/dist/client/assets/chunk-F27PBJKO-yxCv2Uqk.js.gz +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CdPjlb9f.js.br +0 -0
- package/dist/client/assets/chunk-IMKFNOWR-CdPjlb9f.js.gz +0 -0
- package/dist/client/assets/chunk-SVP7TREG-D1tOJung.js.br +0 -0
- package/dist/client/assets/chunk-SVP7TREG-D1tOJung.js.gz +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DZjDfYNw.js.br +0 -0
- package/dist/client/assets/chunk-TICWLB2K-DZjDfYNw.js.gz +0 -0
- package/dist/client/assets/classDiagram-ZZMXUADV-k4BRymfG.js +0 -1
- package/dist/client/assets/classDiagram-v2-VYDZK3BY-k4BRymfG.js +0 -1
- package/dist/client/assets/cose-bilkent-JH36ORCC-C4Wb5lqD.js.br +0 -0
- package/dist/client/assets/cose-bilkent-JH36ORCC-C4Wb5lqD.js.gz +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-BvWKB1Xk.js.br +0 -0
- package/dist/client/assets/cynefin-OW5HDTMX-BvWKB1Xk.js.gz +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-7tAkHD2P.js.br +0 -0
- package/dist/client/assets/cynefinDiagram-5FMLGOSQ-7tAkHD2P.js.gz +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-Bs6IPwks.js.br +0 -0
- package/dist/client/assets/dagre-GXQ25YYZ-Bs6IPwks.js.gz +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CmYXaTya.js.br +0 -0
- package/dist/client/assets/diagram-S7CK7UJ4-CmYXaTya.js.gz +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CqxoefB7.js.br +0 -0
- package/dist/client/assets/diagram-UQ7AKVKN-CqxoefB7.js.gz +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-Dxp1MKPT.js.br +0 -0
- package/dist/client/assets/diagram-VSXAHHWV-Dxp1MKPT.js.gz +0 -0
- package/dist/client/assets/diagram-VX7I27RA-BKbWvvEr.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BZnNaP7F.js.br +0 -0
- package/dist/client/assets/diagram-Z3DM3KII-BZnNaP7F.js.gz +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BXVlN_P7.js.br +0 -0
- package/dist/client/assets/ebnfDiagram-PWID7BFC-BXVlN_P7.js.gz +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-CEdYDZU7.js.br +0 -0
- package/dist/client/assets/erDiagram-RLTQ6QDP-CEdYDZU7.js.gz +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-Bbw8GPCZ.js.br +0 -0
- package/dist/client/assets/flowDiagram-HODETNUW-Bbw8GPCZ.js.gz +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CcFbtP2y.js.br +0 -0
- package/dist/client/assets/ganttDiagram-EL5Y4UJY-CcFbtP2y.js.gz +0 -0
- package/dist/client/assets/gestureArbiter-sdzs-66-.js +0 -1
- package/dist/client/assets/gestureArbiter-sdzs-66-.js.br +0 -0
- package/dist/client/assets/gestureArbiter-sdzs-66-.js.gz +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Eiust154.js.br +0 -0
- package/dist/client/assets/gitGraphDiagram-WWUBYQGX-Eiust154.js.gz +0 -0
- package/dist/client/assets/index-DtPsPZ7W.css +0 -1
- package/dist/client/assets/index-DtPsPZ7W.css.br +0 -0
- package/dist/client/assets/index-DtPsPZ7W.css.gz +0 -0
- package/dist/client/assets/ishikawaDiagram-5VMMS53U-qTwgXfx_.js.gz +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DKy1msWo.js.br +0 -0
- package/dist/client/assets/journeyDiagram-3NMN7TZE-DKy1msWo.js.gz +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BxibybDd.js.br +0 -0
- package/dist/client/assets/kanban-definition-UXKFOSKX-BxibybDd.js.gz +0 -0
- package/dist/client/assets/layout-Bh6fKHRM.js.br +0 -0
- package/dist/client/assets/layout-Bh6fKHRM.js.gz +0 -0
- package/dist/client/assets/linear-SRlL3VWX.js.gz +0 -0
- package/dist/client/assets/mermaid.core-D0bcNdw3.js.br +0 -0
- package/dist/client/assets/mermaid.core-D0bcNdw3.js.gz +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-CImZ_aI0.js.br +0 -0
- package/dist/client/assets/mindmap-definition-YA3MSWOX-CImZ_aI0.js.gz +0 -0
- package/dist/client/assets/passwordBootstrap-f7-mFb1b.js +0 -2
- package/dist/client/assets/passwordBootstrap-f7-mFb1b.js.br +0 -0
- package/dist/client/assets/passwordBootstrap-f7-mFb1b.js.gz +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-BT4pTf8O.js.br +0 -0
- package/dist/client/assets/pegDiagram-XKGWAZYB-BT4pTf8O.js.gz +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-C5K58ien.js.br +0 -0
- package/dist/client/assets/pieDiagram-E7YTZNPT-C5K58ien.js.gz +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DzSugYXz.js.br +0 -0
- package/dist/client/assets/quadrantDiagram-AXDQQJYC-DzSugYXz.js.gz +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-BY07SouQ.js.br +0 -0
- package/dist/client/assets/railroadDiagram-O6MQD6OU-BY07SouQ.js.gz +0 -0
- package/dist/client/assets/rdpSession-RNjO6yLw.js +0 -1
- package/dist/client/assets/rdpSession-RNjO6yLw.js.br +0 -0
- package/dist/client/assets/rdpSession-RNjO6yLw.js.gz +0 -0
- package/dist/client/assets/referenceLongPress-B9K9yPKR.js +0 -1
- package/dist/client/assets/referenceLongPress-B9K9yPKR.js.br +0 -0
- package/dist/client/assets/referenceLongPress-B9K9yPKR.js.gz +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-C7WieVuE.js.br +0 -0
- package/dist/client/assets/requirementDiagram-BXWQKSXE-C7WieVuE.js.gz +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-BJsDWNs4.js.br +0 -0
- package/dist/client/assets/sankeyDiagram-P5KCCOFB-BJsDWNs4.js.gz +0 -0
- package/dist/client/assets/sequenceDiagram-WJ2MYXX4-BeJ_7853.js.gz +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-DOsjXKPV.js.br +0 -0
- package/dist/client/assets/sizeCapture-INFHLROL-DOsjXKPV.js.gz +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-6s709_RT.js.br +0 -0
- package/dist/client/assets/stateDiagram-D77RDMKH-6s709_RT.js.gz +0 -0
- package/dist/client/assets/stateDiagram-v2-MP3YSRHH-B43A9Hsz.js +0 -1
- package/dist/client/assets/swimlanes-42K2YHIH-5R5dw9_R.js.br +0 -0
- package/dist/client/assets/swimlanes-42K2YHIH-5R5dw9_R.js.gz +0 -0
- package/dist/client/assets/swimlanesDiagram-VR7AAH4N-DoFbqN_4.js +0 -8
- package/dist/client/assets/timeline-definition-24CTP7MA-B4YN0lsx.js.br +0 -0
- package/dist/client/assets/timeline-definition-24CTP7MA-B4YN0lsx.js.gz +0 -0
- package/dist/client/assets/triangle-alert-BzBDJvJX.js +0 -1
- package/dist/client/assets/vennDiagram-4TSXK5OY-Wd83SmWI.js.br +0 -0
- package/dist/client/assets/vennDiagram-4TSXK5OY-Wd83SmWI.js.gz +0 -0
- package/dist/client/assets/videoCompression-Bsw--tMn.js +0 -3
- package/dist/client/assets/videoCompression-Bsw--tMn.js.br +0 -0
- package/dist/client/assets/videoCompression-Bsw--tMn.js.gz +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CGsYvqWN.js.br +0 -0
- package/dist/client/assets/wardleyDiagram-VM6X3IG4-CGsYvqWN.js.gz +0 -0
- package/dist/client/assets/xychartDiagram-S5SC5T6Z-ednJq1_u.js.gz +0 -0
- /package/dist/client/assets/{gestureArbiter-C2J0D0kV.css → swiper-C2J0D0kV.css} +0 -0
- /package/dist/client/assets/{gestureArbiter-C2J0D0kV.css.br → swiper-C2J0D0kV.css.br} +0 -0
- /package/dist/client/assets/{gestureArbiter-C2J0D0kV.css.gz → swiper-C2J0D0kV.css.gz} +0 -0
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{cz as V}from"./app-CKAFlgMD.js";import{b as q,C as Y,c as J}from"./ComputerControlView-BlI9Ai_k.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";import"./ChangeWalkthroughPanel-DN7BCzqC.js";import"./sparkles-e9SkpP7a.js";import"./triangle-alert-BzBDJvJX.js";import"./App-TPJoJbGD.js";import"./gestureArbiter-sdzs-66-.js";import"./referenceLongPress-B9K9yPKR.js";var n=n||{};n.ArrayBufferReader=function(u){var e=this;u.onblob=function(t){for(var a=window.atob(t),o=new ArrayBuffer(a.length),l=new Uint8Array(o),y=0;y<a.length;y++)l[y]=a.charCodeAt(y);e.ondata&&e.ondata(o)},u.onend=function(){e.onend&&e.onend()},this.ondata=null,this.onend=null};var n=n||{};n.ArrayBufferWriter=function(u){var e=this;u.onack=function(a){e.onack&&e.onack(a)};function t(a){for(var o="",l=0;l<a.byteLength;l++)o+=String.fromCharCode(a[l]);u.sendBlob(window.btoa(o))}this.blobLength=n.ArrayBufferWriter.DEFAULT_BLOB_LENGTH,this.sendData=function(a){var o=new Uint8Array(a);if(o.length<=e.blobLength)t(o);else for(var l=0;l<o.length;l+=e.blobLength)t(o.subarray(l,l+e.blobLength))},this.sendEnd=function(){u.sendEnd()},this.onack=null};n.ArrayBufferWriter.DEFAULT_BLOB_LENGTH=6048;var n=n||{};n.AudioContextFactory={singleton:null,getAudioContext:function(){var e=window.AudioContext||window.webkitAudioContext;if(e)try{return n.AudioContextFactory.singleton||(n.AudioContextFactory.singleton=new e),n.AudioContextFactory.singleton}catch{}return null}};var n=n||{};n.AudioPlayer=function(){this.sync=function(){}};n.AudioPlayer.isSupportedType=function(e){return n.RawAudioPlayer.isSupportedType(e)};n.AudioPlayer.getSupportedTypes=function(){return n.RawAudioPlayer.getSupportedTypes()};n.AudioPlayer.getInstance=function(e,t){return n.RawAudioPlayer.isSupportedType(t)?new n.RawAudioPlayer(e,t):null};n.RawAudioPlayer=function(e,t){var a=n.RawAudioFormat.parse(t),o=n.AudioContextFactory.getAudioContext(),l=o.currentTime,y=new n.ArrayBufferReader(e),g=.02,v=.3,c=a.bytesPerSample===1?window.Int8Array:window.Int16Array,m=a.bytesPerSample===1?128:32768,C=[],E=function(x){if(x.length<=1)return x[0];var s=0;x.forEach(function(w){s+=w.length});var f=0,p=new c(s);return x.forEach(function(w){p.set(w,f),f+=w.length}),p},d=function(x){for(var s=Number.MAX_VALUE,f=x.length,p=Math.floor(x.length/a.channels),T=Math.floor(a.rate*g),w=Math.max(a.channels*T,a.channels*(p-T)),P=w;P<x.length;P+=a.channels){for(var k=0,D=0;D<a.channels;D++)k+=Math.abs(x[P+D]);k<=s&&(f=P+a.channels,s=k)}return f===x.length?[x]:[new c(x.buffer.slice(0,f*a.bytesPerSample)),new c(x.buffer.slice(f*a.bytesPerSample))]},I=function(x){C.push(new c(x))},L=function(){var x=E(C);return x?(C=d(x),x=C.shift(),x):null},O=function(x){var s=x.length/a.channels,f=o.currentTime;l<f&&(l=f);for(var p=o.createBuffer(a.channels,s,a.rate),T=0;T<a.channels;T++)for(var w=p.getChannelData(T),P=T,k=0;k<s;k++)w[k]=x[P]/m,P+=a.channels;return p};y.ondata=function(x){I(new c(x));var s=L();if(s){var f=o.currentTime;l<f&&(l=f);var p=o.createBufferSource();p.connect(o.destination),p.start||(p.start=p.noteOn),p.buffer=O(s),p.start(l),l+=s.length/a.channels/a.rate}},this.sync=function(){var x=o.currentTime;l=Math.min(l,x+v)}};n.RawAudioPlayer.prototype=new n.AudioPlayer;n.RawAudioPlayer.isSupportedType=function(e){return n.AudioContextFactory.getAudioContext()?n.RawAudioFormat.parse(e)!==null:!1};n.RawAudioPlayer.getSupportedTypes=function(){return n.AudioContextFactory.getAudioContext()?["audio/L8","audio/L16"]:[]};var n=n||{};n.AudioRecorder=function(){this.onclose=null,this.onerror=null};n.AudioRecorder.isSupportedType=function(e){return n.RawAudioRecorder.isSupportedType(e)};n.AudioRecorder.getSupportedTypes=function(){return n.RawAudioRecorder.getSupportedTypes()};n.AudioRecorder.getInstance=function(e,t){return n.RawAudioRecorder.isSupportedType(t)?new n.RawAudioRecorder(e,t):null};n.RawAudioRecorder=function(e,t){var a=this,o=2048,l=3,y=n.RawAudioFormat.parse(t),g=n.AudioContextFactory.getAudioContext();navigator.mediaDevices||(navigator.mediaDevices={}),navigator.mediaDevices.getUserMedia||(navigator.mediaDevices.getUserMedia=(navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia).bind(navigator));var v=new n.ArrayBufferWriter(e),c=y.bytesPerSample===1?window.Int8Array:window.Int16Array,m=y.bytesPerSample===1?128:32768,C=0,E=0,d=null,I=null,L=null,O=function(k){if(k===0)return 1;var D=Math.PI*k;return Math.sin(D)/D},A=function(k,D){return-D<k&&k<D?O(k)*O(k/D):0},x=function(k,D){for(var r=(k.length-1)*D,i=Math.floor(r)-l+1,h=Math.floor(r)+l,S=0,M=i;M<=h;M++)S+=(k[M]||0)*A(r-M,l);return S},s=function(k){var D=k.length;C+=D;var r=Math.round(C*y.rate/k.sampleRate),i=r-E;E+=i;for(var h=new c(i*y.channels),S=0;S<y.channels;S++)for(var M=k.getChannelData(S),_=S,R=0;R<i;R++)h[_]=x(M,R/(i-1))*m,_+=y.channels;return h},f=function(k){L=g.createScriptProcessor(o,y.channels,y.channels),L.connect(g.destination),L.onaudioprocess=function(r){v.sendData(s(r.inputBuffer).buffer)},I=g.createMediaStreamSource(k),I.connect(L),g.state==="suspended"&&g.resume(),d=k},p=function(){v.sendEnd(),a.onerror&&a.onerror()},T=function(){var k=navigator.mediaDevices.getUserMedia({audio:!0},f,p);k&&k.then&&k.then(f,p)},w=function(){if(I&&I.disconnect(),L&&L.disconnect(),d)for(var k=d.getTracks(),D=0;D<k.length;D++)k[D].stop();L=null,I=null,d=null,v.sendEnd()};v.onack=function(k){k.code===n.Status.Code.SUCCESS&&!d?T():(w(),v.onack=null,k.code===n.Status.Code.RESOURCE_CLOSED?a.onclose&&a.onclose():a.onerror&&a.onerror())}};n.RawAudioRecorder.prototype=new n.AudioRecorder;n.RawAudioRecorder.isSupportedType=function(e){return n.AudioContextFactory.getAudioContext()?n.RawAudioFormat.parse(e)!==null:!1};n.RawAudioRecorder.getSupportedTypes=function(){return n.AudioContextFactory.getAudioContext()?["audio/L8","audio/L16"]:[]};var n=n||{};n.BlobReader=function(u,e){var t=this,a=0,o;window.BlobBuilder?o=new BlobBuilder:window.WebKitBlobBuilder?o=new WebKitBlobBuilder:window.MozBlobBuilder?o=new MozBlobBuilder:o=new(function(){var l=[];this.append=function(y){l.push(new Blob([y],{type:e}))},this.getBlob=function(){return new Blob(l,{type:e})}}),u.onblob=function(l){for(var y=window.atob(l),g=new ArrayBuffer(y.length),v=new Uint8Array(g),c=0;c<y.length;c++)v[c]=y.charCodeAt(c);o.append(g),a+=g.byteLength,t.onprogress&&t.onprogress(g.byteLength),u.sendAck("OK",0)},u.onend=function(){t.onend&&t.onend()},this.getLength=function(){return a},this.getBlob=function(){return o.getBlob()},this.onprogress=null,this.onend=null};var n=n||{};n.BlobWriter=function(e){var t=this,a=new n.ArrayBufferWriter(e);a.onack=function(l){t.onack&&t.onack(l)};var o=function(y,g,v){var c=(y.slice||y.webkitSlice||y.mozSlice).bind(y),m=v-g;if(m!==v){var C=c(g,m);if(C.size===m)return C}return c(g,v)};this.sendBlob=function(y){var g=0,v=new FileReader,c=function(){if(g>=y.size){t.oncomplete&&t.oncomplete(y);return}var C=o(y,g,g+a.blobLength);g+=a.blobLength,v.readAsArrayBuffer(C)};v.onload=function(){a.sendData(v.result),a.onack=function(E){t.onack&&t.onack(E),!E.isError()&&(t.onprogress&&t.onprogress(y,g-a.blobLength),c())}},v.onerror=function(){t.onerror&&t.onerror(y,g,v.error)},c()},this.sendEnd=function(){a.sendEnd()},this.onack=null,this.onerror=null,this.onprogress=null,this.oncomplete=null};var n=n||{};n.Client=function(u){var e=this,t=n.Client.State.IDLE,a=0,o=5e3,l=null,y=0,g={0:"butt",1:"round",2:"square"},v={0:"bevel",1:"miter",2:"round"},c=new n.Display,m={},C={},E=[],d=[],I=[],L=new n.IntegerPool,O=[];function A(r){r!=t&&(t=r,e.onstatechange&&e.onstatechange(t))}function x(){return t==n.Client.State.CONNECTED||t==n.Client.State.WAITING}this.exportState=function(i){var h={currentState:t,currentTimestamp:a,layers:{}},S={};for(var M in m)S[M]=m[M];c.flush(function(){for(var R in S){var b=parseInt(R),F=S[R],N=F.toCanvas(),B={width:F.width,height:F.height};F.width&&F.height&&(B.url=N.toDataURL("image/png")),b>0&&(B.x=F.x,B.y=F.y,B.z=F.z,B.alpha=F.alpha,B.matrix=F.matrix,B.parent=f(F.parent)),h.layers[R]=B}i(h)})},this.importState=function(i,h){var S,M;t=i.currentState,a=i.currentTimestamp,c.cancel();for(S in m)M=parseInt(S),M>0&&m[S].dispose();m={};for(S in i.layers){M=parseInt(S);var _=i.layers[S],R=s(M);if(c.resize(R,_.width,_.height),_.url&&(c.setChannelMask(R,n.Layer.SRC),c.draw(R,0,0,_.url)),M>0&&_.parent>=0){var b=s(_.parent);c.move(R,b,_.x,_.y,_.z),c.shade(R,_.alpha);var F=_.matrix;c.distort(R,F[0],F[1],F[2],F[3],F[4],F[5])}}c.flush(h)},this.getDisplay=function(){return c},this.sendSize=function(r,i){x()&&u.sendMessage("size",r,i)},this.sendKeyEvent=function(r,i){x()&&u.sendMessage("key",i,r)},this.sendMouseState=function(i,h){if(x()){var S=i.x,M=i.y;h&&(S/=c.getScale(),M/=c.getScale()),c.moveCursor(Math.floor(S),Math.floor(M));var _=0;i.left&&(_|=1),i.middle&&(_|=2),i.right&&(_|=4),i.up&&(_|=8),i.down&&(_|=16),u.sendMessage("mouse",Math.floor(S),Math.floor(M),_)}},this.sendTouchState=function(i,h){if(x()){var S=i.x,M=i.y;h&&(S/=c.getScale(),M/=c.getScale()),u.sendMessage("touch",i.id,Math.floor(S),Math.floor(M),Math.floor(i.radiusX),Math.floor(i.radiusY),i.angle,i.force)}},this.createOutputStream=function(){var i=L.next(),h=O[i]=new n.OutputStream(e,i);return h},this.createAudioStream=function(r){var i=e.createOutputStream();return u.sendMessage("audio",i.index,r),i},this.createFileStream=function(r,i){var h=e.createOutputStream();return u.sendMessage("file",h.index,r,i),h},this.createPipeStream=function(r,i){var h=e.createOutputStream();return u.sendMessage("pipe",h.index,r,i),h},this.createClipboardStream=function(r){var i=e.createOutputStream();return u.sendMessage("clipboard",i.index,r),i},this.createArgumentValueStream=function(i,h){var S=e.createOutputStream();return u.sendMessage("argv",S.index,i,h),S},this.createObjectOutputStream=function(i,h,S){var M=e.createOutputStream();return u.sendMessage("put",i,M.index,h,S),M},this.requestObjectInputStream=function(i,h){x()&&u.sendMessage("get",i,h)},this.sendAck=function(r,i,h){x()&&u.sendMessage("ack",r,i,h)},this.sendBlob=function(r,i){x()&&u.sendMessage("blob",r,i)},this.endStream=function(r){x()&&(u.sendMessage("end",r),O[r]&&(L.free(r),delete O[r]))},this.onstatechange=null,this.onname=null,this.onerror=null,this.onmsg=null,this.onjoin=null,this.onleave=null,this.onaudio=null,this.onvideo=null,this.onmultitouch=null,this.onargv=null,this.onclipboard=null,this.onfile=null,this.onfilesystem=null,this.onpipe=null,this.onrequired=null,this.onsync=null;var s=function(i){var h=m[i];return h||(i===0?h=c.getDefaultLayer():i>0?h=c.createLayer():h=c.createBuffer(),m[i]=h),h},f=function(i){if(!i)return null;for(var h in m)if(i===m[h])return parseInt(h);return null};function p(r){var i=E[r];return i==null&&(i=E[r]=new n.Parser,i.oninstruction=u.oninstruction),i}var T={"miter-limit":function(r,i){c.setMiterLimit(r,parseFloat(i))},"multi-touch":function(i,h){e.onmultitouch&&i instanceof n.Display.VisibleLayer&&e.onmultitouch(i,parseInt(h))}},w={ack:function(r){var i=parseInt(r[0]),h=r[1],S=parseInt(r[2]),M=O[i];M&&(M.onack&&M.onack(new n.Status(S,h)),S>=256&&O[i]===M&&(L.free(i),delete O[i]))},arc:function(r){var i=s(parseInt(r[0])),h=parseInt(r[1]),S=parseInt(r[2]),M=parseInt(r[3]),_=parseFloat(r[4]),R=parseFloat(r[5]),b=parseInt(r[6]);c.arc(i,h,S,M,_,R,b!=0)},argv:function(r){var i=parseInt(r[0]),h=r[1],S=r[2];if(e.onargv){var M=d[i]=new n.InputStream(e,i);e.onargv(M,h,S)}else e.sendAck(i,"Receiving argument values unsupported",256)},audio:function(r){var i=parseInt(r[0]),h=r[1],S=d[i]=new n.InputStream(e,i),M=null;e.onaudio&&(M=e.onaudio(S,h)),M||(M=n.AudioPlayer.getInstance(S,h)),M?(C[i]=M,e.sendAck(i,"OK",0)):e.sendAck(i,"BAD TYPE",783)},blob:function(r){var i=parseInt(r[0]),h=r[1],S=d[i];S&&S.onblob&&S.onblob(h)},body:function(i){var h=parseInt(i[0]),S=I[h],M=parseInt(i[1]),_=i[2],R=i[3];if(S&&S.onbody){var b=d[M]=new n.InputStream(e,M);S.onbody(b,_,R)}else e.sendAck(M,"Receipt of body unsupported",256)},cfill:function(r){var i=parseInt(r[0]),h=s(parseInt(r[1])),S=parseInt(r[2]),M=parseInt(r[3]),_=parseInt(r[4]),R=parseInt(r[5]);c.setChannelMask(h,i),c.fillColor(h,S,M,_,R)},clip:function(r){var i=s(parseInt(r[0]));c.clip(i)},clipboard:function(r){var i=parseInt(r[0]),h=r[1];if(e.onclipboard){var S=d[i]=new n.InputStream(e,i);e.onclipboard(S,h)}else e.sendAck(i,"Clipboard unsupported",256)},close:function(r){var i=s(parseInt(r[0]));c.close(i)},copy:function(r){var i=s(parseInt(r[0])),h=parseInt(r[1]),S=parseInt(r[2]),M=parseInt(r[3]),_=parseInt(r[4]),R=parseInt(r[5]),b=s(parseInt(r[6])),F=parseInt(r[7]),N=parseInt(r[8]);c.setChannelMask(b,R),c.copy(i,h,S,M,_,b,F,N)},cstroke:function(r){var i=parseInt(r[0]),h=s(parseInt(r[1])),S=g[parseInt(r[2])],M=v[parseInt(r[3])],_=parseInt(r[4]),R=parseInt(r[5]),b=parseInt(r[6]),F=parseInt(r[7]),N=parseInt(r[8]);c.setChannelMask(h,i),c.strokeColor(h,S,M,_,R,b,F,N)},cursor:function(r){var i=parseInt(r[0]),h=parseInt(r[1]),S=s(parseInt(r[2])),M=parseInt(r[3]),_=parseInt(r[4]),R=parseInt(r[5]),b=parseInt(r[6]);c.setCursor(i,h,S,M,_,R,b)},curve:function(r){var i=s(parseInt(r[0])),h=parseInt(r[1]),S=parseInt(r[2]),M=parseInt(r[3]),_=parseInt(r[4]),R=parseInt(r[5]),b=parseInt(r[6]);c.curveTo(i,h,S,M,_,R,b)},disconnect:function(i){e.disconnect()},dispose:function(r){var i=parseInt(r[0]);if(i>0){var h=s(i);c.dispose(h),delete m[i]}else i<0&&delete m[i]},distort:function(r){var i=parseInt(r[0]),h=parseFloat(r[1]),S=parseFloat(r[2]),M=parseFloat(r[3]),_=parseFloat(r[4]),R=parseFloat(r[5]),b=parseFloat(r[6]);if(i>=0){var F=s(i);c.distort(F,h,S,M,_,R,b)}},error:function(r){var i=r[0],h=parseInt(r[1]);e.onerror&&e.onerror(new n.Status(h,i)),e.disconnect()},end:function(r){var i=parseInt(r[0]),h=d[i];h&&(h.onend&&h.onend(),delete d[i])},file:function(r){var i=parseInt(r[0]),h=r[1],S=r[2];if(e.onfile){var M=d[i]=new n.InputStream(e,i);e.onfile(M,h,S)}else e.sendAck(i,"File transfer unsupported",256)},filesystem:function(i){var h=parseInt(i[0]),S=i[1];if(e.onfilesystem){var M=I[h]=new n.Object(e,h);e.onfilesystem(M,S)}},identity:function(r){var i=s(parseInt(r[0]));c.setTransform(i,1,0,0,1,0,0)},img:function(r){var i=parseInt(r[0]),h=parseInt(r[1]),S=s(parseInt(r[2])),M=r[3],_=parseInt(r[4]),R=parseInt(r[5]),b=d[i]=new n.InputStream(e,i);c.setChannelMask(S,h),c.drawStream(S,_,R,b,M)},jpeg:function(r){var i=parseInt(r[0]),h=s(parseInt(r[1])),S=parseInt(r[2]),M=parseInt(r[3]),_=r[4];c.setChannelMask(h,i),c.draw(h,S,M,"data:image/jpeg;base64,"+_)},lfill:function(r){var i=parseInt(r[0]),h=s(parseInt(r[1])),S=s(parseInt(r[2]));c.setChannelMask(h,i),c.fillLayer(h,S)},line:function(r){var i=s(parseInt(r[0])),h=parseInt(r[1]),S=parseInt(r[2]);c.lineTo(i,h,S)},lstroke:function(r){var i=parseInt(r[0]),h=s(parseInt(r[1])),S=s(parseInt(r[2]));c.setChannelMask(h,i),c.strokeLayer(h,S)},mouse:function(i){var h=parseInt(i[0]),S=parseInt(i[1]);c.showCursor(!0),c.moveCursor(h,S)},move:function(r){var i=parseInt(r[0]),h=parseInt(r[1]),S=parseInt(r[2]),M=parseInt(r[3]),_=parseInt(r[4]);if(i>0&&h>=0){var R=s(i),b=s(h);c.move(R,b,S,M,_)}},msg:function(r){var i,h,S=!0,M=parseInt(r[0]);if(e.onmsg&&(S=e.onmsg(M,r.slice(1)),S===void 0&&(S=!0)),S)switch(M){case n.Client.Message.USER_JOINED:i=r[1],h=r[2],e.onjoin&&e.onjoin(i,h);break;case n.Client.Message.USER_LEFT:i=r[1],h=r[2],e.onleave&&e.onleave(i,h);break}},name:function(r){e.onname&&e.onname(r[0])},nest:function(r){var i=p(parseInt(r[0]));i.receive(r[1])},pipe:function(r){var i=parseInt(r[0]),h=r[1],S=r[2];if(e.onpipe){var M=d[i]=new n.InputStream(e,i);e.onpipe(M,h,S)}else e.sendAck(i,"Named pipes unsupported",256)},png:function(r){var i=parseInt(r[0]),h=s(parseInt(r[1])),S=parseInt(r[2]),M=parseInt(r[3]),_=r[4];c.setChannelMask(h,i),c.draw(h,S,M,"data:image/png;base64,"+_)},pop:function(r){var i=s(parseInt(r[0]));c.pop(i)},push:function(r){var i=s(parseInt(r[0]));c.push(i)},rect:function(r){var i=s(parseInt(r[0])),h=parseInt(r[1]),S=parseInt(r[2]),M=parseInt(r[3]),_=parseInt(r[4]);c.rect(i,h,S,M,_)},required:function(i){e.onrequired&&e.onrequired(i)},reset:function(r){var i=s(parseInt(r[0]));c.reset(i)},set:function(r){var i=s(parseInt(r[0])),h=r[1],S=r[2],M=T[h];M&&M(i,S)},shade:function(r){var i=parseInt(r[0]),h=parseInt(r[1]);if(i>=0){var S=s(i);c.shade(S,h)}},size:function(r){var i=parseInt(r[0]),h=s(i),S=parseInt(r[1]),M=parseInt(r[2]);c.resize(h,S,M)},start:function(r){var i=s(parseInt(r[0])),h=parseInt(r[1]),S=parseInt(r[2]);c.moveTo(i,h,S)},sync:function(r){var i=parseInt(r[0]),h=r[1]?parseInt(r[1]):0;c.flush(function(){for(var M in C){var _=C[M];_&&_.sync()}i!==a&&(u.sendMessage("sync",i),a=i)},i,h),t===n.Client.State.WAITING&&A(n.Client.State.CONNECTED),e.onsync&&e.onsync(i,h)},transfer:function(r){var i=s(parseInt(r[0])),h=parseInt(r[1]),S=parseInt(r[2]),M=parseInt(r[3]),_=parseInt(r[4]),R=parseInt(r[5]),b=s(parseInt(r[6])),F=parseInt(r[7]),N=parseInt(r[8]);R===3?c.put(i,h,S,M,_,b,F,N):R!==5&&c.transfer(i,h,S,M,_,b,F,N,n.Client.DefaultTransferFunction[R])},transform:function(r){var i=s(parseInt(r[0])),h=parseFloat(r[1]),S=parseFloat(r[2]),M=parseFloat(r[3]),_=parseFloat(r[4]),R=parseFloat(r[5]),b=parseFloat(r[6]);c.transform(i,h,S,M,_,R,b)},undefine:function(i){var h=parseInt(i[0]),S=I[h];S&&S.onundefine&&S.onundefine()},video:function(r){var i=parseInt(r[0]),h=s(parseInt(r[1])),S=r[2],M=d[i]=new n.InputStream(e,i),_=null;e.onvideo&&(_=e.onvideo(M,h,S)),_||(_=n.VideoPlayer.getInstance(M,h,S)),_?e.sendAck(i,"OK",0):e.sendAck(i,"BAD TYPE",783)}},P=function(){u.sendMessage("nop"),y=new Date().getTime()},k=function(){window.clearTimeout(l);var i=new Date().getTime(),h=Math.max(y+o-i,0);h>0?l=window.setTimeout(P,h):P()},D=function(){window.clearTimeout(l)};u.oninstruction=function(r,i){var h=w[r];h&&h(i),k()},this.disconnect=function(){t!=n.Client.State.DISCONNECTED&&t!=n.Client.State.DISCONNECTING&&(A(n.Client.State.DISCONNECTING),D(),u.sendMessage("disconnect"),u.disconnect(),A(n.Client.State.DISCONNECTED))},this.connect=function(r){A(n.Client.State.CONNECTING);try{u.connect(r)}catch(i){throw A(n.Client.State.IDLE),i}k(),A(n.Client.State.WAITING)}};n.Client.State={IDLE:0,CONNECTING:1,WAITING:2,CONNECTED:3,DISCONNECTING:4,DISCONNECTED:5};n.Client.DefaultTransferFunction={0:function(u,e){e.red=e.green=e.blue=0},15:function(u,e){e.red=e.green=e.blue=255},3:function(u,e){e.red=u.red,e.green=u.green,e.blue=u.blue,e.alpha=u.alpha},5:function(u,e){},12:function(u,e){e.red=255&~u.red,e.green=255&~u.green,e.blue=255&~u.blue,e.alpha=u.alpha},10:function(u,e){e.red=255&~e.red,e.green=255&~e.green,e.blue=255&~e.blue},1:function(u,e){e.red=u.red&e.red,e.green=u.green&e.green,e.blue=u.blue&e.blue},14:function(u,e){e.red=255&~(u.red&e.red),e.green=255&~(u.green&e.green),e.blue=255&~(u.blue&e.blue)},7:function(u,e){e.red=u.red|e.red,e.green=u.green|e.green,e.blue=u.blue|e.blue},8:function(u,e){e.red=255&~(u.red|e.red),e.green=255&~(u.green|e.green),e.blue=255&~(u.blue|e.blue)},6:function(u,e){e.red=u.red^e.red,e.green=u.green^e.green,e.blue=u.blue^e.blue},9:function(u,e){e.red=255&~(u.red^e.red),e.green=255&~(u.green^e.green),e.blue=255&~(u.blue^e.blue)},4:function(u,e){e.red=255&(~u.red&e.red),e.green=255&(~u.green&e.green),e.blue=255&(~u.blue&e.blue)},13:function(u,e){e.red=255&(~u.red|e.red),e.green=255&(~u.green|e.green),e.blue=255&(~u.blue|e.blue)},2:function(u,e){e.red=255&(u.red&~e.red),e.green=255&(u.green&~e.green),e.blue=255&(u.blue&~e.blue)},11:function(u,e){e.red=255&(u.red|~e.red),e.green=255&(u.green|~e.green),e.blue=255&(u.blue|~e.blue)}};n.Client.Message={USER_JOINED:1,USER_LEFT:2};var n=n||{};n.DataURIReader=function(u,e){var t=this,a="data:"+e+";base64,";u.onblob=function(l){a+=l},u.onend=function(){t.onend&&t.onend()},this.getURI=function(){return a},this.onend=null};var n=n||{};n.Display=function(){var u=this,e=0,t=0,a=1,o=document.createElement("div");o.style.position="relative",o.style.width=e+"px",o.style.height=t+"px",o.style.transformOrigin=o.style.webkitTransformOrigin=o.style.MozTransformOrigin=o.style.OTransformOrigin=o.style.msTransformOrigin="0 0";var l=new n.Display.VisibleLayer(e,t),y=new n.Display.VisibleLayer(0,0);y.setChannelMask(n.Layer.SRC),o.appendChild(l.getElement()),o.appendChild(y.getElement());var g=document.createElement("div");g.style.position="relative",g.style.width=e*a+"px",g.style.height=t*a+"px",g.appendChild(o),this.cursorHotspotX=0,this.cursorHotspotY=0,this.cursorX=0,this.cursorY=0,this.statisticWindow=0,this.onresize=null,this.oncursor=null,this.onstatistics=null;var v=[],c=[],m=null,C=function(){for(var f=0,p=0,T=0,w=0;w<c.length;){var P=c[w];if(!P.isReady())break;P.flush(),f=P.localTimestamp,p=P.remoteTimestamp,T+=P.logicalFrames,w++}c.splice(0,w),w&&I(f,p,T)},E=function(){var f=function p(){if(m=null,!!c.length){if(c[0].isReady()){var T=c.shift();T.flush(),I(T.localTimestamp,T.remoteTimestamp,T.logicalFrames)}c.length&&(m=window.requestAnimationFrame(p))}};m||(m=window.requestAnimationFrame(f))},d=[],I=function(f,p,T){if(u.statisticWindow){for(var w=new Date().getTime(),P=0;P<d.length&&!(w-d[P].timestamp<=u.statisticWindow);P++);d.splice(0,P-1),d.push({localTimestamp:f,remoteTimestamp:p,timestamp:w,frames:T});var k=(d[d.length-1].timestamp-d[0].timestamp)/1e3,D=(d[d.length-1].remoteTimestamp-d[0].remoteTimestamp)/1e3,r=d.length,i=d.reduce(function(_,R){return _+R.frames},0),h=d.reduce(function(_,R){return _+Math.max(0,R.frames-1)},0),S=new n.Display.Statistics({processingLag:w-f,desktopFps:D&&i?i/D:null,clientFps:k?r/k:null,serverFps:D?r/D:null,dropRate:D?h/D:null});u.onstatistics&&u.onstatistics(S)}};window.addEventListener("blur",function(){m&&!document.hasFocus()&&(window.cancelAnimationFrame(m),m=null,C())},!0);function L(){window.requestAnimationFrame&&document.hasFocus()?E():C()}var O=function(f,p,T,w){this.localTimestamp=new Date().getTime(),this.remoteTimestamp=T||this.localTimestamp,this.logicalFrames=w||0,this.cancel=function(){f=null,p.forEach(function(D){D.cancel()}),p=[]},this.isReady=function(){for(var P=0;P<p.length;P++)if(p[P].blocked)return!1;return!0},this.flush=function(){for(var P=0;P<p.length;P++)p[P].execute();f&&f()}};function A(s,f){var p=this;this.blocked=f,this.cancel=function(){p.blocked=!1,s=null},this.unblock=function(){p.blocked&&(p.blocked=!1,L())},this.execute=function(){s&&s()}}function x(s,f){var p=new A(s,f);return v.push(p),p}this.getElement=function(){return g},this.getWidth=function(){return e},this.getHeight=function(){return t},this.getDefaultLayer=function(){return l},this.getCursorLayer=function(){return y},this.createLayer=function(){var s=new n.Display.VisibleLayer(e,t);return s.move(l,0,0,0),s},this.createBuffer=function(){var s=new n.Layer(0,0);return s.autosize=1,s},this.flush=function(s,f,p){c.push(new O(s,v,f,p)),v=[],L()},this.cancel=function(){c.forEach(function(p){p.cancel()}),c=[],v.forEach(function(p){p.cancel()}),v=[]},this.setCursor=function(s,f,p,T,w,P,k){x(function(){u.cursorHotspotX=s,u.cursorHotspotY=f,y.resize(P,k),y.copy(p,T,w,P,k,0,0),u.moveCursor(u.cursorX,u.cursorY),u.oncursor&&u.oncursor(y.toCanvas(),s,f)})},this.showCursor=function(s){var f=y.getElement(),p=f.parentNode;s===!1?p&&p.removeChild(f):p!==o&&o.appendChild(f)},this.moveCursor=function(s,f){y.translate(s-u.cursorHotspotX,f-u.cursorHotspotY),u.cursorX=s,u.cursorY=f},this.resize=function(s,f,p){x(function(){s.resize(f,p),s===l&&(e=f,t=p,o.style.width=e+"px",o.style.height=t+"px",g.style.width=e*a+"px",g.style.height=t*a+"px",u.onresize&&u.onresize(f,p))})},this.drawImage=function(s,f,p,T){x(function(){s.drawImage(f,p,T)})},this.drawBlob=function(s,f,p,T){var w;if(window.createImageBitmap){var P;w=x(function(){s.drawImage(f,p,P)},!0),window.createImageBitmap(T).then(function(i){P=i,w.unblock()})}else{var k=URL.createObjectURL(T);w=x(function(){D.width&&D.height&&s.drawImage(f,p,D),URL.revokeObjectURL(k)},!0);var D=new Image;D.onload=w.unblock,D.onerror=w.unblock,D.src=k}},this.drawStream=function(f,p,T,w,P){if(window.createImageBitmap){var k=new n.BlobReader(w,P);k.onend=function(){u.drawBlob(f,p,T,k.getBlob())}}else{var k=new n.DataURIReader(w,P);k.onend=function(){u.draw(f,p,T,k.getURI())}}},this.draw=function(s,f,p,T){var w=x(function(){P.width&&P.height&&s.drawImage(f,p,P)},!0),P=new Image;P.onload=w.unblock,P.onerror=w.unblock,P.src=T},this.play=function(s,f,p,T){var w=document.createElement("video");w.type=f,w.src=T,w.addEventListener("play",function(){function P(){s.drawImage(0,0,w),w.ended||window.setTimeout(P,20)}P()},!1),x(w.play)},this.transfer=function(s,f,p,T,w,P,k,D,r){x(function(){P.transfer(s,f,p,T,w,k,D,r)})},this.put=function(s,f,p,T,w,P,k,D){x(function(){P.put(s,f,p,T,w,k,D)})},this.copy=function(s,f,p,T,w,P,k,D){x(function(){P.copy(s,f,p,T,w,k,D)})},this.moveTo=function(s,f,p){x(function(){s.moveTo(f,p)})},this.lineTo=function(s,f,p){x(function(){s.lineTo(f,p)})},this.arc=function(s,f,p,T,w,P,k){x(function(){s.arc(f,p,T,w,P,k)})},this.curveTo=function(s,f,p,T,w,P,k){x(function(){s.curveTo(f,p,T,w,P,k)})},this.close=function(s){x(function(){s.close()})},this.rect=function(s,f,p,T,w){x(function(){s.rect(f,p,T,w)})},this.clip=function(s){x(function(){s.clip()})},this.strokeColor=function(s,f,p,T,w,P,k,D){x(function(){s.strokeColor(f,p,T,w,P,k,D)})},this.fillColor=function(s,f,p,T,w){x(function(){s.fillColor(f,p,T,w)})},this.strokeLayer=function(s,f,p,T,w){x(function(){s.strokeLayer(f,p,T,w)})},this.fillLayer=function(s,f){x(function(){s.fillLayer(f)})},this.push=function(s){x(function(){s.push()})},this.pop=function(s){x(function(){s.pop()})},this.reset=function(s){x(function(){s.reset()})},this.setTransform=function(s,f,p,T,w,P,k){x(function(){s.setTransform(f,p,T,w,P,k)})},this.transform=function(s,f,p,T,w,P,k){x(function(){s.transform(f,p,T,w,P,k)})},this.setChannelMask=function(s,f){x(function(){s.setChannelMask(f)})},this.setMiterLimit=function(s,f){x(function(){s.setMiterLimit(f)})},this.dispose=function(f){x(function(){f.dispose()})},this.distort=function(f,p,T,w,P,k,D){x(function(){f.distort(p,T,w,P,k,D)})},this.move=function(f,p,T,w,P){x(function(){f.move(p,T,w,P)})},this.shade=function(f,p){x(function(){f.shade(p)})},this.scale=function(s){o.style.transform=o.style.WebkitTransform=o.style.MozTransform=o.style.OTransform=o.style.msTransform="scale("+s+","+s+")",a=s,g.style.width=e*a+"px",g.style.height=t*a+"px"},this.getScale=function(){return a},this.flatten=function(){var s=document.createElement("canvas");s.width=l.width,s.height=l.height;var f=s.getContext("2d");function p(w){var P=[];for(var k in w.children)P.push(w.children[k]);return P.sort(function(r,i){var h=r.z-i.z;if(h!==0)return h;var S=r.getElement(),M=i.getElement(),_=M.compareDocumentPosition(S);return _&Node.DOCUMENT_POSITION_PRECEDING?-1:_&Node.DOCUMENT_POSITION_FOLLOWING?1:0}),P}function T(w,P,k){if(w.width>0&&w.height>0){var D=f.globalAlpha;f.globalAlpha*=w.alpha/255,f.drawImage(w.getCanvas(),P,k);for(var r=p(w),i=0;i<r.length;i++){var h=r[i];T(h,P+h.x,k+h.y)}f.globalAlpha=D}}return T(l,0,0),s}};n.Display.VisibleLayer=function(u,e){n.Layer.apply(this,[u,e]);var t=this;this.__unique_id=n.Display.VisibleLayer.__next_id++,this.alpha=255,this.x=0,this.y=0,this.z=0,this.matrix=[1,0,0,1,0,0],this.parent=null,this.children={};var a=t.getCanvas();a.style.position="absolute",a.style.left="0px",a.style.top="0px";var o=document.createElement("div");o.appendChild(a),o.style.width=u+"px",o.style.height=e+"px",o.style.position="absolute",o.style.left="0px",o.style.top="0px",o.style.overflow="hidden";var l=this.resize;this.resize=function(v,c){o.style.width=v+"px",o.style.height=c+"px",l(v,c)},this.getElement=function(){return o};var y="translate(0px, 0px)",g="matrix(1, 0, 0, 1, 0, 0)";this.translate=function(v,c){t.x=v,t.y=c,y="translate("+v+"px,"+c+"px)",o.style.transform=o.style.WebkitTransform=o.style.MozTransform=o.style.OTransform=o.style.msTransform=y+" "+g},this.move=function(v,c,m,C){if(t.parent!==v){t.parent&&delete t.parent.children[t.__unique_id],t.parent=v,v.children[t.__unique_id]=t;var E=v.getElement();E.appendChild(o)}t.translate(c,m),t.z=C,o.style.zIndex=C},this.shade=function(v){t.alpha=v,o.style.opacity=v/255},this.dispose=function(){t.parent&&(delete t.parent.children[t.__unique_id],t.parent=null),o.parentNode&&o.parentNode.removeChild(o)},this.distort=function(v,c,m,C,E,d){t.matrix=[v,c,m,C,E,d],g="matrix("+v+","+c+","+m+","+C+","+E+","+d+")",o.style.transform=o.style.WebkitTransform=o.style.MozTransform=o.style.OTransform=o.style.msTransform=y+" "+g}};n.Display.VisibleLayer.__next_id=0;n.Display.Statistics=function(e){e=e||{},this.processingLag=e.processingLag,this.desktopFps=e.desktopFps,this.serverFps=e.serverFps,this.clientFps=e.clientFps,this.dropRate=e.dropRate};var n=n||{};n.Event=function(e){this.type=e,this.timestamp=new Date().getTime(),this.getAge=function(){return new Date().getTime()-this.timestamp},this.invokeLegacyHandler=function(a){}};n.Event.DOMEvent=function(e,t){n.Event.call(this,e),t=t||[],Array.isArray(t)||(t=[t]),this.preventDefault=function(){t.forEach(function(l){l.preventDefault&&l.preventDefault(),l.returnValue=!1})},this.stopPropagation=function(){t.forEach(function(l){l.stopPropagation()})}};n.Event.DOMEvent.cancelEvent=function(e){e.stopPropagation(),e.preventDefault&&e.preventDefault(),e.returnValue=!1};n.Event.Target=function(){var e={};this.on=function(a,o){var l=e[a];l||(e[a]=l=[]),l.push(o)},this.onEach=function(a,o){a.forEach(function(y){this.on(y,o)},this)},this.dispatch=function(a){a.invokeLegacyHandler(this);var o=e[a.type];if(o)for(var l=0;l<o.length;l++)o[l](a,this)},this.off=function(a,o){var l=e[a];if(!l)return!1;for(var y=0;y<l.length;y++)if(l[y]===o)return l.splice(y,1),!0;return!1},this.offEach=function(a,o){var l=!1;return a.forEach(function(g){l|=this.off(g,o)},this),l}};var n=n||{};n.InputSink=function(){var e=this,t=document.createElement("textarea");t.style.position="fixed",t.style.outline="none",t.style.border="none",t.style.margin="0",t.style.padding="0",t.style.height="0",t.style.width="0",t.style.left="0",t.style.bottom="0",t.style.resize="none",t.style.background="transparent",t.style.color="transparent",t.addEventListener("keypress",function(o){t.value=""},!1),t.addEventListener("compositionend",function(o){o.data&&(t.value="")},!1),t.addEventListener("input",function(o){o.data&&!o.isComposing&&(t.value="")},!1),t.addEventListener("focus",function(){window.setTimeout(function(){t.click(),t.select()},0)},!0),this.focus=function(){window.setTimeout(function(){t.focus()},0)},this.getElement=function(){return t},document.addEventListener("keydown",function(o){var l=document.activeElement;if(l&&l!==document.body){var y=l.getBoundingClientRect();if(y.left+y.width>0&&y.top+y.height>0)return}e.focus()},!0)};var n=n||{};n.InputStream=function(u,e){var t=this;this.index=e,this.onblob=null,this.onend=null,this.sendAck=function(a,o){u.sendAck(t.index,a,o)}};var n=n||{};n.IntegerPool=function(){var u=this,e=[];this.next_int=0,this.next=function(){return e.length>0?e.shift():u.next_int++},this.free=function(t){e.push(t)}};var n=n||{};n.JSONReader=function(e){var t=this,a=new n.StringReader(e),o="";this.getLength=function(){return o.length},this.getJSON=function(){return JSON.parse(o)},a.ontext=function(y){o+=y,t.onprogress&&t.onprogress(y.length)},a.onend=function(){t.onend&&t.onend()},this.onprogress=null,this.onend=null};var n=n||{};n.Keyboard=function(e){var t=this,a=n.Keyboard._nextID++,o="_GUAC_KEYBOARD_HANDLED_BY_"+a;this.onkeydown=null,this.onkeyup=null;var l={keyupUnreliable:!1,altIsTypableOnly:!1,capsLockKeyupUnreliable:!1};navigator&&navigator.platform&&(navigator.platform.match(/ipad|iphone|ipod/i)?l.keyupUnreliable=!0:navigator.platform.match(/^mac/i)&&(l.altIsTypableOnly=!0,l.capsLockKeyupUnreliable=!0));var y=function(F){var N=this;this.keyCode=F?F.which||F.keyCode:0,this.keyIdentifier=F&&F.keyIdentifier,this.key=F&&F.key,this.location=F?_(F):0,this.modifiers=F?n.Keyboard.ModifierState.fromKeyboardEvent(F):new n.Keyboard.ModifierState,this.timestamp=new Date().getTime(),this.defaultPrevented=!1,this.keysym=null,this.reliable=!1,this.getAge=function(){return new Date().getTime()-N.timestamp}},g=function(F){y.call(this,F),this.keysym=p(this.key,this.location)||P(this.keyCode,this.location),this.keyupReliable=!l.keyupUnreliable,this.keysym&&!f(this.keysym)&&(this.reliable=!0),!this.keysym&&k(this.keyCode,this.keyIdentifier)&&(this.keysym=p(this.keyIdentifier,this.location,this.modifiers.shift)),this.modifiers.meta&&this.keysym!==65511&&this.keysym!==65512?this.keyupReliable=!1:this.keysym===65509&&l.capsLockKeyupUnreliable&&(this.keyupReliable=!1);var N=!this.modifiers.ctrl&&!l.altIsTypableOnly,B=!this.modifiers.alt;(B&&this.modifiers.ctrl||N&&this.modifiers.alt||this.modifiers.meta||this.modifiers.hyper)&&(this.reliable=!0),O[this.keyCode]=this.keysym};g.prototype=new y;var v=function(F){y.call(this,F),this.keysym=w(this.keyCode),this.reliable=!0};v.prototype=new y;var c=function(F){y.call(this,F),this.keysym=P(this.keyCode,this.location)||p(this.key,this.location),t.pressed[this.keysym]||(this.keysym=O[this.keyCode]||this.keysym),this.reliable=!0};c.prototype=new y;var m=[],C={8:[65288],9:[65289],12:[65291,65291,65291,65461],13:[65293],16:[65505,65505,65506],17:[65507,65507,65508],18:[65513,65513,65027],19:[65299],20:[65509],27:[65307],32:[32],33:[65365,65365,65365,65465],34:[65366,65366,65366,65459],35:[65367,65367,65367,65457],36:[65360,65360,65360,65463],37:[65361,65361,65361,65460],38:[65362,65362,65362,65464],39:[65363,65363,65363,65462],40:[65364,65364,65364,65458],45:[65379,65379,65379,65456],46:[65535,65535,65535,65454],91:[65511],92:[65512],93:[65383],96:[65456],97:[65457],98:[65458],99:[65459],100:[65460],101:[65461],102:[65462],103:[65463],104:[65464],105:[65465],106:[65450],107:[65451],109:[65453],110:[65454],111:[65455],112:[65470],113:[65471],114:[65472],115:[65473],116:[65474],117:[65475],118:[65476],119:[65477],120:[65478],121:[65479],122:[65480],123:[65481],144:[65407],145:[65300],225:[65027]},E={Again:[65382],AllCandidates:[65341],Alphanumeric:[65328],Alt:[65513,65513,65027],Attn:[64782],AltGraph:[65027],ArrowDown:[65364],ArrowLeft:[65361],ArrowRight:[65363],ArrowUp:[65362],Backspace:[65288],CapsLock:[65509],Cancel:[65385],Clear:[65291],Convert:[65313],Copy:[64789],Crsel:[64796],CrSel:[64796],CodeInput:[65335],Compose:[65312],Control:[65507,65507,65508],ContextMenu:[65383],Delete:[65535],Down:[65364],End:[65367],Enter:[65293],EraseEof:[64774],Escape:[65307],Execute:[65378],Exsel:[64797],ExSel:[64797],F1:[65470],F2:[65471],F3:[65472],F4:[65473],F5:[65474],F6:[65475],F7:[65476],F8:[65477],F9:[65478],F10:[65479],F11:[65480],F12:[65481],F13:[65482],F14:[65483],F15:[65484],F16:[65485],F17:[65486],F18:[65487],F19:[65488],F20:[65489],F21:[65490],F22:[65491],F23:[65492],F24:[65493],Find:[65384],GroupFirst:[65036],GroupLast:[65038],GroupNext:[65032],GroupPrevious:[65034],FullWidth:null,HalfWidth:null,HangulMode:[65329],Hankaku:[65321],HanjaMode:[65332],Help:[65386],Hiragana:[65317],HiraganaKatakana:[65319],Home:[65360],Hyper:[65517,65517,65518],Insert:[65379],JapaneseHiragana:[65317],JapaneseKatakana:[65318],JapaneseRomaji:[65316],JunjaMode:[65336],KanaMode:[65325],KanjiMode:[65313],Katakana:[65318],Left:[65361],Meta:[65511,65511,65512],ModeChange:[65406],NumLock:[65407],PageDown:[65366],PageUp:[65365],Pause:[65299],Play:[64790],PreviousCandidate:[65342],PrintScreen:[65377],Redo:[65382],Right:[65363],RomanCharacters:null,Scroll:[65300],Select:[65376],Separator:[65452],Shift:[65505,65505,65506],SingleCandidate:[65340],Super:[65515,65515,65516],Tab:[65289],UIKeyInputDownArrow:[65364],UIKeyInputEscape:[65307],UIKeyInputLeftArrow:[65361],UIKeyInputRightArrow:[65363],UIKeyInputUpArrow:[65362],Up:[65362],Undo:[65381],Win:[65511,65511,65512],Zenkaku:[65320],ZenkakuHankaku:[65322]},d={65027:!0,65505:!0,65506:!0,65507:!0,65508:!0,65509:!0,65511:!0,65512:!0,65513:!0,65514:!0,65515:!0,65516:!0};this.modifiers=new n.Keyboard.ModifierState,this.pressed={};var I={},L={},O={},A=null,x=null,s=function(F,N){return F?F[N]||F[0]:null},f=function(F){return F>=0&&F<=255||(F&4294901760)===16777216};function p(b,F,N){if(!b)return null;var B,U=b.indexOf("U+");if(U>=0){var z=b.substring(U+2);B=String.fromCharCode(parseInt(z,16))}else if(b.length===1&&F!==3)B=b;else return s(E[b],F);N===!0?B=B.toUpperCase():N===!1&&(B=B.toLowerCase());var K=B.charCodeAt(0);return w(K)}function T(b){return b<=31||b>=127&&b<=159}function w(b){return T(b)?65280|b:b>=0&&b<=255?b:b>=256&&b<=1114111?16777216|b:null}function P(b,F){return s(C[b],F)}var k=function(F,N){if(!N)return!1;var B=N.indexOf("U+");if(B===-1)return!0;var U=parseInt(N.substring(B+2),16);return F!==U||F>=65&&F<=90||F>=48&&F<=57};this.press=function(b){if(b!==null){if(!t.pressed[b]&&(t.pressed[b]=!0,t.onkeydown)){var F=t.onkeydown(b);return L[b]=F,window.clearTimeout(A),window.clearInterval(x),d[b]||(A=window.setTimeout(function(){x=window.setInterval(function(){t.onkeyup(b),t.onkeydown(b)},50)},500)),F}return L[b]||!1}},this.release=function(b){t.pressed[b]&&(delete t.pressed[b],delete I[b],window.clearTimeout(A),window.clearInterval(x),b!==null&&t.onkeyup&&t.onkeyup(b))},this.type=function(F){for(var N=0;N<F.length;N++){var B=F.codePointAt?F.codePointAt(N):F.charCodeAt(N),U=w(B);t.press(U),t.release(U)}},this.reset=function(){for(var b in t.pressed)t.release(parseInt(b));m=[]};var D=function(F,N,B){var U=B.modifiers[F],z=t.modifiers[F],K;if(N.indexOf(B.keysym)===-1){if(z&&U===!1)for(K=0;K<N.length;K++)t.release(N[K]);else if(!z&&U){for(K=0;K<N.length;K++)if(t.pressed[N[K]])return;var H=N[0];B.keysym&&(I[H]=!0),t.press(H)}}},r=function(F){D("alt",[65513,65514,65027],F),D("shift",[65505,65506],F),D("ctrl",[65507,65508],F),D("meta",[65511,65512],F),D("hyper",[65515,65516],F),t.modifiers=F.modifiers},i=function(){for(var F in t.pressed)if(!I[F])return!1;return!0};function h(){var b=M();if(!b)return!1;var F;do F=b,b=M();while(b!==null);return i()&&t.reset(),F.defaultPrevented}var S=function(F){!t.modifiers.ctrl||!t.modifiers.alt||F>=65&&F<=90||F>=97&&F<=122||(F<=255||(F&4278190080)===16777216)&&(t.release(65507),t.release(65508),t.release(65513),t.release(65514))},M=function(){var F=m[0];if(!F)return null;if(F instanceof g){var N=null,B=[];if(F.keysym===65511||F.keysym===65512){if(m.length===1)return null;if(m[1].keysym!==F.keysym){if(!m[1].modifiers.meta)return m.shift()}else if(m[1]instanceof g)return m.shift()}if(F.reliable?(N=F.keysym,B=m.splice(0,1)):m[1]instanceof v?(N=m[1].keysym,B=m.splice(0,2)):m[1]&&(N=F.keysym,B=m.splice(0,1)),B.length>0){if(r(F),N){S(N);var U=!t.press(N);O[F.keyCode]=N,F.keyupReliable||t.release(N);for(var z=0;z<B.length;z++)B[z].defaultPrevented=U}return F}}else if(F instanceof c&&!l.keyupUnreliable){var N=F.keysym;if(N)t.release(N),delete O[F.keyCode],F.defaultPrevented=!0;else return t.reset(),F;return r(F),m.shift()}else return m.shift();return null},_=function(F){return"location"in F?F.location:"keyLocation"in F?F.keyLocation:0},R=function(F){return F[o]?!1:(F[o]=!0,!0)};this.listenTo=function(F){F.addEventListener("keydown",function(U){if(t.onkeydown&&R(U)){var z=new g(U);z.keyCode!==229&&(m.push(z),h()&&U.preventDefault())}},!0),F.addEventListener("keypress",function(U){!t.onkeydown&&!t.onkeyup||R(U)&&(m.push(new v(U)),h()&&U.preventDefault())},!0),F.addEventListener("keyup",function(U){t.onkeyup&&R(U)&&(U.preventDefault(),m.push(new c(U)),h())},!0);var N=function(z){!t.onkeydown&&!t.onkeyup||R(z)&&z.data&&!z.isComposing&&(F.removeEventListener("compositionend",B,!1),t.type(z.data))},B=function(z){!t.onkeydown&&!t.onkeyup||R(z)&&z.data&&(F.removeEventListener("input",N,!1),t.type(z.data))};F.addEventListener("input",N,!1),F.addEventListener("compositionend",B,!1)},e&&t.listenTo(e)};n.Keyboard._nextID=0;n.Keyboard.ModifierState=function(){this.shift=!1,this.ctrl=!1,this.alt=!1,this.meta=!1,this.hyper=!1};n.Keyboard.ModifierState.fromKeyboardEvent=function(u){var e=new n.Keyboard.ModifierState;return e.shift=u.shiftKey,e.ctrl=u.ctrlKey,e.alt=u.altKey,e.meta=u.metaKey,u.getModifierState&&(e.hyper=u.getModifierState("OS")||u.getModifierState("Super")||u.getModifierState("Hyper")||u.getModifierState("Win")),e};var n=n||{};n.Layer=function(u,e){var t=this,a=64,o=document.createElement("canvas"),l=o.getContext("2d");l.save();var y=!0,g=!0,v=0,c={1:"destination-in",2:"destination-out",4:"source-in",6:"source-atop",8:"source-out",9:"destination-atop",10:"xor",11:"destination-over",12:"copy",14:"source-over",15:"lighter"},m=function(d,I){d=d||0,I=I||0;var L=Math.ceil(d/a)*a,O=Math.ceil(I/a)*a;if(o.width!==L||o.height!==O){var A=null;if(!y&&o.width!==0&&o.height!==0){A=document.createElement("canvas"),A.width=Math.min(t.width,d),A.height=Math.min(t.height,I);var x=A.getContext("2d");x.drawImage(o,0,0,A.width,A.height,0,0,A.width,A.height)}var s=l.globalCompositeOperation;o.width=L,o.height=O,A&&l.drawImage(A,0,0,A.width,A.height,0,0,A.width,A.height),l.globalCompositeOperation=s,v=0,l.save()}else t.reset();t.width=d,t.height=I};function C(E,d,I,L){var O=I+E,A=L+d,x;O>t.width?x=O:x=t.width;var s;A>t.height?s=A:s=t.height,t.resize(x,s)}this.autosize=!1,this.width=u,this.height=e,this.getCanvas=function(){return o},this.toCanvas=function(){var d=document.createElement("canvas");d.width=t.width,d.height=t.height;var I=d.getContext("2d");return I.drawImage(t.getCanvas(),0,0),d},this.resize=function(E,d){(E!==t.width||d!==t.height)&&m(E,d)},this.drawImage=function(E,d,I){t.autosize&&C(E,d,I.width,I.height),l.drawImage(I,E,d),y=!1},this.transfer=function(E,d,I,L,O,A,x,s){var f=E.getCanvas();if(!(d>=f.width||I>=f.height)&&(d+L>f.width&&(L=f.width-d),I+O>f.height&&(O=f.height-I),!(L===0||O===0))){t.autosize&&C(A,x,L,O);for(var p=E.getCanvas().getContext("2d").getImageData(d,I,L,O),T=l.getImageData(A,x,L,O),w=0;w<L*O*4;w+=4){var P=new n.Layer.Pixel(p.data[w],p.data[w+1],p.data[w+2],p.data[w+3]),k=new n.Layer.Pixel(T.data[w],T.data[w+1],T.data[w+2],T.data[w+3]);s(P,k),T.data[w]=k.red,T.data[w+1]=k.green,T.data[w+2]=k.blue,T.data[w+3]=k.alpha}l.putImageData(T,A,x),y=!1}},this.put=function(E,d,I,L,O,A,x){var s=E.getCanvas();if(!(d>=s.width||I>=s.height)&&(d+L>s.width&&(L=s.width-d),I+O>s.height&&(O=s.height-I),!(L===0||O===0))){t.autosize&&C(A,x,L,O);var f=E.getCanvas().getContext("2d").getImageData(d,I,L,O);l.putImageData(f,A,x),y=!1}},this.copy=function(E,d,I,L,O,A,x){var s=E.getCanvas();d>=s.width||I>=s.height||(d+L>s.width&&(L=s.width-d),I+O>s.height&&(O=s.height-I),!(L===0||O===0)&&(t.autosize&&C(A,x,L,O),l.drawImage(s,d,I,L,O,A,x,L,O),y=!1))},this.moveTo=function(E,d){g&&(l.beginPath(),g=!1),t.autosize&&C(E,d,0,0),l.moveTo(E,d)},this.lineTo=function(E,d){g&&(l.beginPath(),g=!1),t.autosize&&C(E,d,0,0),l.lineTo(E,d)},this.arc=function(E,d,I,L,O,A){g&&(l.beginPath(),g=!1),t.autosize&&C(E,d,0,0),l.arc(E,d,I,L,O,A)},this.curveTo=function(E,d,I,L,O,A){g&&(l.beginPath(),g=!1),t.autosize&&C(O,A,0,0),l.bezierCurveTo(E,d,I,L,O,A)},this.close=function(){l.closePath(),g=!0},this.rect=function(E,d,I,L){g&&(l.beginPath(),g=!1),t.autosize&&C(E,d,I,L),l.rect(E,d,I,L)},this.clip=function(){l.clip(),g=!0},this.strokeColor=function(E,d,I,L,O,A,x){l.lineCap=E,l.lineJoin=d,l.lineWidth=I,l.strokeStyle="rgba("+L+","+O+","+A+","+x/255+")",l.stroke(),y=!1,g=!0},this.fillColor=function(E,d,I,L){l.fillStyle="rgba("+E+","+d+","+I+","+L/255+")",l.fill(),y=!1,g=!0},this.strokeLayer=function(E,d,I,L){l.lineCap=E,l.lineJoin=d,l.lineWidth=I,l.strokeStyle=l.createPattern(L.getCanvas(),"repeat"),l.stroke(),y=!1,g=!0},this.fillLayer=function(E){l.fillStyle=l.createPattern(E.getCanvas(),"repeat"),l.fill(),y=!1,g=!0},this.push=function(){l.save(),v++},this.pop=function(){v>0&&(l.restore(),v--)},this.reset=function(){for(;v>0;)l.restore(),v--;l.restore(),l.save(),l.beginPath(),g=!1},this.setTransform=function(E,d,I,L,O,A){l.setTransform(E,d,I,L,O,A)},this.transform=function(E,d,I,L,O,A){l.transform(E,d,I,L,O,A)},this.setChannelMask=function(E){l.globalCompositeOperation=c[E]},this.setMiterLimit=function(E){l.miterLimit=E},m(u,e),o.style.zIndex=-1};n.Layer.ROUT=2;n.Layer.ATOP=6;n.Layer.XOR=10;n.Layer.ROVER=11;n.Layer.OVER=14;n.Layer.PLUS=15;n.Layer.RIN=1;n.Layer.IN=4;n.Layer.OUT=8;n.Layer.RATOP=9;n.Layer.SRC=12;n.Layer.Pixel=function(u,e,t,a){this.red=u,this.green=e,this.blue=t,this.alpha=a};var n=n||{};n.Mouse=function(e){n.Mouse.Event.Target.call(this);var t=this;this.touchMouseThreshold=3,this.scrollThreshold=53,this.PIXELS_PER_LINE=18,this.PIXELS_PER_PAGE=this.PIXELS_PER_LINE*16;var a=[n.Mouse.State.Buttons.LEFT,n.Mouse.State.Buttons.MIDDLE,n.Mouse.State.Buttons.RIGHT],o=0,l=0;e.addEventListener("contextmenu",function(c){n.Event.DOMEvent.cancelEvent(c)},!1),e.addEventListener("mousemove",function(c){if(o){n.Event.DOMEvent.cancelEvent(c),o--;return}t.move(n.Position.fromClientPosition(e,c.clientX,c.clientY),c)},!1),e.addEventListener("mousedown",function(c){if(o){n.Event.DOMEvent.cancelEvent(c);return}var m=a[c.button];m&&t.press(m,c)},!1),e.addEventListener("mouseup",function(c){if(o){n.Event.DOMEvent.cancelEvent(c);return}var m=a[c.button];m&&t.release(m,c)},!1),e.addEventListener("mouseout",function(c){c||(c=window.event);for(var m=c.relatedTarget||c.toElement;m;){if(m===e)return;m=m.parentNode}t.reset(c),t.out(c)},!1),e.addEventListener("selectstart",function(c){n.Event.DOMEvent.cancelEvent(c)},!1);function y(){o=t.touchMouseThreshold}e.addEventListener("touchmove",y,!1),e.addEventListener("touchstart",y,!1),e.addEventListener("touchend",y,!1);function g(c){var m=c.deltaY||-c.wheelDeltaY||-c.wheelDelta;if(m?c.deltaMode===1?m=c.deltaY*t.PIXELS_PER_LINE:c.deltaMode===2&&(m=c.deltaY*t.PIXELS_PER_PAGE):m=c.detail*t.PIXELS_PER_LINE,l+=m,l<=-t.scrollThreshold){do t.click(n.Mouse.State.Buttons.UP),l+=t.scrollThreshold;while(l<=-t.scrollThreshold);l=0}if(l>=t.scrollThreshold){do t.click(n.Mouse.State.Buttons.DOWN),l-=t.scrollThreshold;while(l>=t.scrollThreshold);l=0}n.Event.DOMEvent.cancelEvent(c)}e.addEventListener("DOMMouseScroll",g,!1),e.addEventListener("mousewheel",g,!1),e.addEventListener("wheel",g,!1);var v=(function(){var c=document.createElement("div");if(!("cursor"in c.style))return!1;try{c.style.cursor="url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAAl21bKAAAAA1BMVEX///+nxBvIAAAACklEQVQI12NgAAAAAgAB4iG8MwAAAABJRU5ErkJggg==) 0 0, auto"}catch{return!1}return/\burl\([^()]*\)\s+0\s+0\b/.test(c.style.cursor||"")})();this.setCursor=function(c,m,C){if(v){var E=c.toDataURL("image/png");return e.style.cursor="url("+E+") "+m+" "+C+", auto",!0}return!1}};n.Mouse.State=function(e){var t=function(o,l,y,g,v,c,m){return{x:o,y:l,left:y,middle:g,right:v,up:c,down:m}};arguments.length>1?e=t.apply(this,arguments):e=e||{},n.Position.call(this,e),this.left=e.left||!1,this.middle=e.middle||!1,this.right=e.right||!1,this.up=e.up||!1,this.down=e.down||!1};n.Mouse.State.Buttons={LEFT:"left",MIDDLE:"middle",RIGHT:"right",UP:"up",DOWN:"down"};n.Mouse.Event=function(e,t,a){n.Event.DOMEvent.call(this,e,a);var o="on"+this.type;this.state=t,this.invokeLegacyHandler=function(y){y[o]&&(this.preventDefault(),this.stopPropagation(),y[o](this.state))}};n.Mouse.Event.Target=function(){n.Event.Target.call(this),this.currentState=new n.Mouse.State,this.press=function(t,a){this.currentState[t]||(this.currentState[t]=!0,this.dispatch(new n.Mouse.Event("mousedown",this.currentState,a)))},this.release=function(t,a){this.currentState[t]&&(this.currentState[t]=!1,this.dispatch(new n.Mouse.Event("mouseup",this.currentState,a)))},this.click=function(t,a){this.press(t,a),this.release(t,a)},this.move=function(t,a){(this.currentState.x!==t.x||this.currentState.y!==t.y)&&(this.currentState.x=t.x,this.currentState.y=t.y,this.dispatch(new n.Mouse.Event("mousemove",this.currentState,a)))},this.out=function(t){this.dispatch(new n.Mouse.Event("mouseout",this.currentState,t))},this.reset=function(t){for(var a in n.Mouse.State.Buttons)this.release(n.Mouse.State.Buttons[a],t)}};n.Mouse.Touchpad=function(e){n.Mouse.Event.Target.call(this);var t=this;this.scrollThreshold=20*(window.devicePixelRatio||1),this.clickTimingThreshold=250,this.clickMoveThreshold=10*(window.devicePixelRatio||1),this.currentState=new n.Mouse.State;var a=0,o=0,l=0,y=0,g=0,v={1:"left",2:"right",3:"middle"},c=!1,m=null;e.addEventListener("touchend",function(C){if(C.preventDefault(),c&&C.touches.length===0){var E=new Date().getTime(),d=v[a];t.currentState[d]&&(t.release(d,C),m&&(window.clearTimeout(m),m=null)),E-y<=t.clickTimingThreshold&&g<t.clickMoveThreshold&&(t.press(d,C),m=window.setTimeout(function(){t.release(d,C),c=!1},t.clickTimingThreshold)),m||(c=!1)}},!1),e.addEventListener("touchstart",function(C){if(C.preventDefault(),a=Math.min(C.touches.length,3),m&&(window.clearTimeout(m),m=null),!c){c=!0;var E=C.touches[0];o=E.clientX,l=E.clientY,y=new Date().getTime(),g=0}},!1),e.addEventListener("touchmove",function(C){C.preventDefault();var E=C.touches[0],d=E.clientX-o,I=E.clientY-l;if(g+=Math.abs(d)+Math.abs(I),a===1){var L=g/(new Date().getTime()-y),O=1+L,A=new n.Position(t.currentState);A.x+=d*O,A.y+=I*O,A.x=Math.min(Math.max(0,A.x),e.offsetWidth-1),A.y=Math.min(Math.max(0,A.y),e.offsetHeight-1),t.move(A,C),o=E.clientX,l=E.clientY}else if(a===2&&Math.abs(I)>=t.scrollThreshold){var x;I>0?x="down":x="up",t.click(x,C),o=E.clientX,l=E.clientY}},!1)};n.Mouse.Touchscreen=function(e){n.Mouse.Event.Target.call(this);var t=this,a=!1,o=null,l=null,y=null,g=null;this.scrollThreshold=20*(window.devicePixelRatio||1),this.clickTimingThreshold=250,this.clickMoveThreshold=16*(window.devicePixelRatio||1),this.longPressThreshold=500;function v(C){var E=C.touches[0]||C.changedTouches[0],d=E.clientX-o,I=E.clientY-l;return Math.sqrt(d*d+I*I)>=t.clickMoveThreshold}function c(C){var E=C.touches[0];a=!0,o=E.clientX,l=E.clientY}function m(){window.clearTimeout(y),window.clearTimeout(g),a=!1}e.addEventListener("touchend",function(C){if(a){if(C.touches.length!==0||C.changedTouches.length!==1){m();return}if(window.clearTimeout(g),t.release(n.Mouse.State.Buttons.LEFT,C),!v(C)&&(C.preventDefault(),!t.currentState.left)){var E=C.changedTouches[0];t.move(n.Position.fromClientPosition(e,E.clientX,E.clientY)),t.press(n.Mouse.State.Buttons.LEFT,C),y=window.setTimeout(function(){t.release(n.Mouse.State.Buttons.LEFT,C),m()},t.clickTimingThreshold)}}},!1),e.addEventListener("touchstart",function(C){if(C.touches.length!==1){m();return}C.preventDefault(),c(C),window.clearTimeout(y),g=window.setTimeout(function(){var E=C.touches[0];t.move(n.Position.fromClientPosition(e,E.clientX,E.clientY)),t.click(n.Mouse.State.Buttons.RIGHT,C),m()},t.longPressThreshold)},!1),e.addEventListener("touchmove",function(C){if(a){if(v(C)&&window.clearTimeout(g),C.touches.length!==1){m();return}if(t.currentState.left){C.preventDefault();var E=C.touches[0];t.move(n.Position.fromClientPosition(e,E.clientX,E.clientY),C)}}},!1)};var n=n||{},n=n||{};n.Object=function(e,t){var a=this,o={},l=function(v){var c=o[v];if(!c)return null;var m=c.shift();return c.length===0&&delete o[v],m},y=function(v,c){var m=o[v];m||(m=[],o[v]=m),m.push(c)};this.index=t,this.onbody=function(v,c,m){var C=l(m);C&&C(v,c)},this.onundefine=null,this.requestInputStream=function(v,c){c&&y(v,c),e.requestObjectInputStream(a.index,v)},this.createOutputStream=function(v,c){return e.createObjectOutputStream(a.index,v,c)}};n.Object.ROOT_STREAM="/";n.Object.STREAM_INDEX_MIMETYPE="application/vnd.glyptodon.guacamole.stream-index+json";var n=n||{};n.OnScreenKeyboard=function(u){var e=this,t={},a={},o=[],l=function(s,f){s.classList?s.classList.add(f):s.className+=" "+f},y=function(s,f){s.classList?s.classList.remove(f):s.className=s.className.replace(/([^ ]+)[ ]*/g,function(T,w){return w===f?"":T})},g=0,v=function(s,f,p,T){this.width=f,this.height=p,this.scale=function(w){s.style.width=f*w+"px",s.style.height=p*w+"px",T&&(s.style.lineHeight=p*w+"px",s.style.fontSize=w+"px")}},c=function(s){for(var f=0;f<s.length;f++){var p=s[f];if(!(p in t))return!1}return!0},m=function(s){var f=e.keys[s];if(!f)return null;for(var p=f.length-1;p>=0;p--){var T=f[p];if(c(T.requires))return T}return null},C=function(s,f){if(!a[s]){l(f,"guac-keyboard-pressed");var p=m(s);if(p.modifier){var T="guac-keyboard-modifier-"+O(p.modifier),w=t[p.modifier];w===void 0?(l(d,T),t[p.modifier]=p.keysym,p.keysym&&e.onkeydown&&e.onkeydown(p.keysym)):(y(d,T),delete t[p.modifier],w&&e.onkeyup&&e.onkeyup(w))}else e.onkeydown&&e.onkeydown(p.keysym);a[s]=!0}},E=function(s,f){if(a[s]){y(f,"guac-keyboard-pressed");var p=m(s);!p.modifier&&e.onkeyup&&e.onkeyup(p.keysym),a[s]=!1}},d=document.createElement("div");d.className="guac-keyboard",d.onselectstart=d.onmousemove=d.onmouseup=d.onmousedown=function(s){return g&&g--,s.stopPropagation(),!1},this.touchMouseThreshold=3,this.onkeydown=null,this.onkeyup=null,this.layout=new n.OnScreenKeyboard.Layout(u),this.getElement=function(){return d},this.resize=function(x){for(var s=Math.floor(x*10/e.layout.width)/10,f=0;f<o.length;f++){var p=o[f];p.scale(s)}};var I=function(s,f){if(f instanceof Array){for(var p=[],T=0;T<f.length;T++)p.push(new n.OnScreenKeyboard.Key(f[T],s));return p}return typeof f=="number"?[new n.OnScreenKeyboard.Key({name:s,keysym:f})]:typeof f=="string"?[new n.OnScreenKeyboard.Key({name:s,title:f})]:[new n.OnScreenKeyboard.Key(f,s)]},L=function(s){var f={};for(var p in u.keys)f[p]=I(p,s[p]);return f};this.keys=L(u.keys);var O=function(s){var f=s.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[^A-Za-z0-9]+/g,"-").toLowerCase();return f},A=function x(s,f,p){var T,w=document.createElement("div");if(p&&l(w,"guac-keyboard-"+O(p)),f instanceof Array)for(l(w,"guac-keyboard-group"),T=0;T<f.length;T++)x(w,f[T]);else if(f instanceof Object){l(w,"guac-keyboard-group");var P=Object.keys(f).sort();for(T=0;T<P.length;T++){var p=P[T];x(w,f[p],p)}}else if(typeof f=="number")l(w,"guac-keyboard-gap"),o.push(new v(w,f,f));else if(typeof f=="string"){var k=f;k.length===1&&(k="0x"+k.charCodeAt(0).toString(16)),l(w,"guac-keyboard-key-container");var D=document.createElement("div");D.className="guac-keyboard-key guac-keyboard-key-"+O(k);var r=e.keys[f];if(r)for(T=0;T<r.length;T++){var i=r[T],h=document.createElement("div");h.className="guac-keyboard-cap",h.textContent=i.title;for(var S=0;S<i.requires.length;S++){var M=i.requires[S];l(h,"guac-keyboard-requires-"+O(M)),l(D,"guac-keyboard-uses-"+O(M))}D.appendChild(h)}w.appendChild(D),o.push(new v(w,e.layout.keyWidths[f]||1,1,!0));var _=function(B){B.preventDefault(),g=e.touchMouseThreshold,C(f,D)},R=function(B){B.preventDefault(),g=e.touchMouseThreshold,E(f,D)},b=function(B){B.preventDefault(),g===0&&C(f,D)},F=function(B){B.preventDefault(),g===0&&E(f,D)};D.addEventListener("touchstart",_,!0),D.addEventListener("touchend",R,!0),D.addEventListener("mousedown",b,!0),D.addEventListener("mouseup",F,!0),D.addEventListener("mouseout",F,!0)}s.appendChild(w)};A(d,u.layout)};n.OnScreenKeyboard.Layout=function(u){this.language=u.language,this.type=u.type,this.keys=u.keys,this.layout=u.layout,this.width=u.width,this.keyWidths=u.keyWidths||{}};n.OnScreenKeyboard.Key=function(u,e){this.name=e||u.name,this.title=u.title||this.name,this.keysym=u.keysym||(function(a){if(!a||a.length!==1)return null;var o=a.charCodeAt(0);return o>=0&&o<=255?o:o>=256&&o<=1114111?16777216|o:null})(this.title),this.modifier=u.modifier,this.requires=u.requires||[]};var n=n||{};n.OutputStream=function(u,e){var t=this;this.index=e,this.onack=null,this.sendBlob=function(a){u.sendBlob(t.index,a)},this.sendEnd=function(){u.endStream(t.index)}};var n=n||{};n.Parser=function(){var u=this,e="",t=[],a=-1,o=0;this.receive=function(l){for(o>4096&&a>=o&&(e=e.substring(o),a-=o,o=0),e+=l;a<e.length;){if(a>=o){var y=e.substring(o,a),g=e.substring(a,a+1);if(t.push(y),g==";"){var v=t.shift();u.oninstruction!=null&&u.oninstruction(v,t),t.length=0}else if(g!=",")throw new Error("Illegal terminator.");o=a+1}var c=e.indexOf(".",o);if(c!=-1){var m=parseInt(e.substring(a+1,c));if(isNaN(m))throw new Error("Non-numeric character in element length.");o=c+1,a=o+m}else{o=e.length;break}}},this.oninstruction=null};var n=n||{};n.Position=function(e){e=e||{},this.x=e.x||0,this.y=e.y||0,this.fromClientPosition=function(a,o,l){this.x=o-a.offsetLeft,this.y=l-a.offsetTop;for(var y=a.offsetParent;y&&y!==document.body;)this.x-=y.offsetLeft-y.scrollLeft,this.y-=y.offsetTop-y.scrollTop,y=y.offsetParent;if(y){var g=document.body.scrollLeft||document.documentElement.scrollLeft,v=document.body.scrollTop||document.documentElement.scrollTop;this.x-=y.offsetLeft-g,this.y-=y.offsetTop-v}}};n.Position.fromClientPosition=function(e,t,a){var o=new n.Position;return o.fromClientPosition(e,t,a),o};var n=n||{};n.RawAudioFormat=function(e){this.bytesPerSample=e.bytesPerSample,this.channels=e.channels,this.rate=e.rate};n.RawAudioFormat.parse=function(e){var t,a=null,o=1;if(e.substring(0,9)==="audio/L8;")e=e.substring(9),t=1;else if(e.substring(0,10)==="audio/L16;")e=e.substring(10),t=2;else return null;for(var l=e.split(","),y=0;y<l.length;y++){var g=l[y],v=g.indexOf("=");if(v===-1)return null;var c=g.substring(0,v),m=g.substring(v+1);switch(c){case"channels":o=parseInt(m);break;case"rate":a=parseInt(m);break;default:return null}}return a===null?null:new n.RawAudioFormat({bytesPerSample:t,channels:o,rate:a})};var n=n||{};n.SessionRecording=function(e){var t=this,a,o=null,l=262144,y=16384,g=5e3,v=[],c=0,m=new n.SessionRecording._PlaybackTunnel,C=new n.Client(m),E=-1,d=null,I=null,L=null,O=0,A=0,x=!1,s=null,f=function(R,b,F){if(!(x&&R===a)){var N=new n.Parser;N.oninstruction=b;var B=0,U=new FileReader,z=function(){if(!(x&&R===a)){if(U.readyState===2)try{N.receive(U.result)}catch(W){t.onerror&&t.onerror(W.message);return}if(B>=R.size)F&&F();else{var H=R.slice(B,B+l);B+=H.size,U.readAsText(H)}}};U.onload=z,z()}},p=function(R){for(var b=R.length,F=b+3;b>=10;)F++,b=Math.floor(b/10);return F};C.connect(),C.getDisplay().showCursor(!1);var T=function(R,b){A+=p(R);for(var F=0;F<b.length;F++)A+=p(b[F]);if(R==="sync"){var N=parseInt(b[0]),B=new n.SessionRecording._Frame(N,O,A);v.push(B),O=A,(v.length===1||A-v[c].start>=y&&N-v[c].timestamp>=g)&&(B.keyframe=!0,c=v.length-1),t.onprogress&&t.onprogress(t.getDuration(),A)}},w=function(){t.onload&&t.onload()};if(e instanceof Blob)f(a,T,w);else{o=e,a=new Blob;var P=!1,k="";o.oninstruction=function(R,b){k+=R.length+"."+R,b.forEach(function(N){k+=","+N.length+"."+N}),k+=";",k.length>=l&&(a=new Blob([a,k]),k=""),T(R,b)},o.onerror=function(R){P=!0,t.onerror&&t.onerror(R.message)},o.onstatechange=function(R){R===n.Tunnel.State.CLOSED&&(k.length&&(a=new Blob([a,k]),k=""),P||w())}}var D=function(R){return v.length===0?0:R-v[0].timestamp},r=function _(R,b,F){if(R===b)return R;var N=Math.floor((R+b)/2),B=D(v[N].timestamp);return F<B&&N>R?_(R,N-1,F):F>B&&N<b?_(N+1,b,F):N},i=function(R,b){var F=v[R];f(a.slice(F.start,F.end),function(B,U){m.receiveInstruction(B,U)},function(){F.keyframe&&!F.clientState&&C.exportState(function(U){F.clientState=new Blob([JSON.stringify(U)])}),E=R,b&&b()})},h=function(R,b,F){S();for(var N=L={aborted:!1},B=R,U=function H(){t.onseek&&E>B&&t.onseek(D(v[E].timestamp),E-B,R-B),!N.aborted&&(E<R?i(E+1,H):b())},z=function(){var W=F?Math.max(F-new Date().getTime(),0):0;W?window.setTimeout(U,W):U()};B>=0;B--){var K=v[B];if(B===E)break;if(K.clientState){K.clientState.text().then(function(W){C.importState(JSON.parse(W)),E=B,z()});return}}z()},S=function(){L&&(L.aborted=!0,L=null)},M=function _(){if(E+1<v.length){var R=v[E+1],b=R.timestamp-d+I;h(E+1,function(){_()},b)}else t.pause()};this.onload=null,this.onerror=null,this.onabort=null,this.onprogress=null,this.onplay=null,this.onpause=null,this.onseek=null,this.connect=function(R){o&&o.connect(R)},this.disconnect=function(){o&&o.disconnect()},this.abort=function(){x||(x=!0,t.onabort&&t.onabort(),o&&o.disconnect())},this.getDisplay=function(){return C.getDisplay()},this.isPlaying=function(){return!!d},this.getPosition=function(){return E===-1?0:D(v[E].timestamp)},this.getDuration=function(){return v.length===0?0:D(v[v.length-1].timestamp)},this.play=function(){if(!t.isPlaying()&&E+1<v.length){t.onplay&&t.onplay();var R=v[E+1];d=R.timestamp,I=new Date().getTime(),M()}},this.seek=function(R,b){if(v.length!==0){t.cancel();var F=t.isPlaying();t.pause(),s=function(){s=null,F&&(t.play(),F=null),b&&b()},h(r(0,v.length-1,R),s)}},this.cancel=function(){s&&(S(),s())},this.pause=function(){S(),t.isPlaying()&&(t.onpause&&t.onpause(),d=null,I=null)}};n.SessionRecording._Frame=function(e,t,a){this.keyframe=!1,this.timestamp=e,this.start=t,this.end=a,this.clientState=null};n.SessionRecording._PlaybackTunnel=function(){var e=this;this.connect=function(a){},this.sendMessage=function(a){},this.disconnect=function(){},this.receiveInstruction=function(a,o){e.oninstruction&&e.oninstruction(a,o)}};var n=n||{};n.Status=function(u,e){var t=this;this.code=u,this.message=e,this.isError=function(){return t.code<0||t.code>255}};n.Status.Code={SUCCESS:0,UNSUPPORTED:256,SERVER_ERROR:512,SERVER_BUSY:513,UPSTREAM_TIMEOUT:514,UPSTREAM_ERROR:515,RESOURCE_NOT_FOUND:516,RESOURCE_CONFLICT:517,RESOURCE_CLOSED:518,UPSTREAM_NOT_FOUND:519,UPSTREAM_UNAVAILABLE:520,SESSION_CONFLICT:521,SESSION_TIMEOUT:522,SESSION_CLOSED:523,CLIENT_BAD_REQUEST:768,CLIENT_UNAUTHORIZED:769,CLIENT_FORBIDDEN:771,CLIENT_TIMEOUT:776,CLIENT_OVERRUN:781,CLIENT_BAD_TYPE:783,CLIENT_TOO_MANY:797};n.Status.Code.fromHTTPCode=function(e){switch(e){case 400:return n.Status.Code.CLIENT_BAD_REQUEST;case 403:return n.Status.Code.CLIENT_FORBIDDEN;case 404:return n.Status.Code.RESOURCE_NOT_FOUND;case 429:return n.Status.Code.CLIENT_TOO_MANY;case 503:return n.Status.Code.SERVER_BUSY}return n.Status.Code.SERVER_ERROR};n.Status.Code.fromWebSocketCode=function(e){switch(e){case 1e3:return n.Status.Code.SUCCESS;case 1006:case 1015:return n.Status.Code.UPSTREAM_NOT_FOUND;case 1001:case 1012:case 1013:case 1014:return n.Status.Code.UPSTREAM_UNAVAILABLE}return n.Status.Code.SERVER_ERROR};var n=n||{};n.StringReader=function(u){var e=this,t=new n.UTF8Parser,a=new n.ArrayBufferReader(u);a.ondata=function(o){var l=t.decode(o);e.ontext&&e.ontext(l)},a.onend=function(){e.onend&&e.onend()},this.ontext=null,this.onend=null};var n=n||{};n.StringWriter=function(u){var e=this,t=new n.ArrayBufferWriter(u),a=new Uint8Array(8192),o=0;t.onack=function(v){e.onack&&e.onack(v)};function l(v){if(o+v>=a.length){var c=new Uint8Array((o+v)*2);c.set(a),a=c}o+=v}function y(v){var c,m;if(v<=127)c=0,m=1;else if(v<=2047)c=192,m=2;else if(v<=65535)c=224,m=3;else if(v<=2097151)c=240,m=4;else{y(65533);return}l(m);for(var C=o-1,E=1;E<m;E++)a[C--]=128|v&63,v>>=6;a[C]=c|v}function g(v){for(var c=0;c<v.length;c++){var m=v.charCodeAt(c);y(m)}if(o>0){var C=a.subarray(0,o);return o=0,C}}this.sendText=function(v){v.length&&t.sendData(g(v))},this.sendEnd=function(){t.sendEnd()},this.onack=null};var n=n||{};n.Touch=function(e){n.Event.Target.call(this);var t=this,a=Math.floor(16*window.devicePixelRatio);this.touches={},this.activeTouches=0,e.addEventListener("touchstart",function(l){for(var y=0;y<l.changedTouches.length;y++){var g=l.changedTouches[y],v=g.identifier;if(!t.touches[v]){var c=t.touches[v]=new n.Touch.State({id:v,radiusX:g.radiusX||a,radiusY:g.radiusY||a,angle:g.angle||0,force:g.force||1});t.activeTouches++,c.fromClientPosition(e,g.clientX,g.clientY),t.dispatch(new n.Touch.Event("touchmove",l,c))}}},!1),e.addEventListener("touchmove",function(l){for(var y=0;y<l.changedTouches.length;y++){var g=l.changedTouches[y],v=g.identifier,c=t.touches[v];c&&(g.force&&(c.force=g.force),c.angle=g.angle||0,c.radiusX=g.radiusX||a,c.radiusY=g.radiusY||a,c.fromClientPosition(e,g.clientX,g.clientY),t.dispatch(new n.Touch.Event("touchmove",l,c)))}},!1),e.addEventListener("touchend",function(l){for(var y=0;y<l.changedTouches.length;y++){var g=l.changedTouches[y],v=g.identifier,c=t.touches[v];c&&(delete t.touches[v],t.activeTouches--,c.force=0,c.fromClientPosition(e,g.clientX,g.clientY),t.dispatch(new n.Touch.Event("touchend",l,c)))}},!1)};n.Touch.State=function(e){e=e||{},n.Position.call(this,e),this.id=e.id||0,this.radiusX=e.radiusX||0,this.radiusY=e.radiusY||0,this.angle=e.angle||0,this.force=e.force||1};n.Touch.Event=function(e,t,a){n.Event.DOMEvent.call(this,e,[t]),this.state=a};var n=n||{};n.Tunnel=function(){this.connect=function(u){},this.disconnect=function(){},this.sendMessage=function(u){},this.setState=function(u){u!==this.state&&(this.state=u,this.onstatechange&&this.onstatechange(u))},this.setUUID=function(e){this.uuid=e,this.onuuid&&this.onuuid(e)},this.isConnected=function(){return this.state===n.Tunnel.State.OPEN||this.state===n.Tunnel.State.UNSTABLE},this.state=n.Tunnel.State.CLOSED,this.receiveTimeout=15e3,this.unstableThreshold=1500,this.uuid=null,this.onuuid=null,this.onerror=null,this.onstatechange=null,this.oninstruction=null};n.Tunnel.INTERNAL_DATA_OPCODE="";n.Tunnel.State={CONNECTING:0,OPEN:1,CLOSED:2,UNSTABLE:3};n.HTTPTunnel=function(u,e,t){var a=this,o=u+"?connect",l=u+"?read:",y=u+"?write:",g=1,v=0,c=g,m=!1,C="",E=!!e,d=null,I=null,L=null,O=500,A=t||{},x="Guacamole-Tunnel-Token",s=null;function f(i,h){for(var S in h)i.setRequestHeader(S,h[S])}var p=function(){window.clearTimeout(d),window.clearTimeout(I),a.state===n.Tunnel.State.UNSTABLE&&a.setState(n.Tunnel.State.OPEN),d=window.setTimeout(function(){T(new n.Status(n.Status.Code.UPSTREAM_TIMEOUT,"Server timeout."))},a.receiveTimeout),I=window.setTimeout(function(){a.setState(n.Tunnel.State.UNSTABLE)},a.unstableThreshold)};function T(i){window.clearTimeout(d),window.clearTimeout(I),window.clearInterval(L),a.state!==n.Tunnel.State.CLOSED&&(i.code!==n.Status.Code.SUCCESS&&a.onerror&&(a.state===n.Tunnel.State.CONNECTING||i.code!==n.Status.Code.RESOURCE_NOT_FOUND)&&a.onerror(i),m=!1,a.setState(n.Tunnel.State.CLOSED))}this.sendMessage=function(){if(!a.isConnected()||arguments.length===0)return;function i(M){var _=new String(M);return _.length+"."+_}for(var h=i(arguments[0]),S=1;S<arguments.length;S++)h+=","+i(arguments[S]);h+=";",C+=h,m||w()};function w(){if(a.isConnected())if(C.length>0){m=!0;var i=new XMLHttpRequest;i.open("POST",y+a.uuid),i.withCredentials=E,f(i,A),i.setRequestHeader("Content-type","application/octet-stream"),i.setRequestHeader(x,s),i.onreadystatechange=function(){i.readyState===4&&(p(),i.status!==200?P(i):w())},i.send(C),C=""}else m=!1}function P(i){var h=parseInt(i.getResponseHeader("Guacamole-Status-Code"));if(h){var S=i.getResponseHeader("Guacamole-Error-Message");T(new n.Status(h,S))}else i.status?T(new n.Status(n.Status.Code.fromHTTPCode(i.status),i.statusText)):T(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND))}function k(i){var h=null,S=null,M=0,_=-1,R=0,b=new Array;function F(){if(!a.isConnected()){h!==null&&clearInterval(h);return}if(!(i.readyState<2)){var N;try{N=i.status}catch{N=200}if(!S&&N===200&&(S=r()),i.readyState===3||i.readyState===4){if(p(),c===g&&(i.readyState===3&&!h?h=setInterval(F,30):i.readyState===4&&h&&clearInterval(h)),i.status===0){a.disconnect();return}else if(i.status!==200){P(i);return}var B;try{B=i.responseText}catch{return}for(;_<B.length;){if(_>=R){var U=B.substring(R,_),z=B.substring(_,_+1);if(b.push(U),z===";"){var K=b.shift();a.oninstruction&&a.oninstruction(K,b),b.length=0}R=_+1}var H=B.indexOf(".",R);if(H!==-1){var W=parseInt(B.substring(_+1,H));if(W===0){h&&clearInterval(h),i.onreadystatechange=null,i.abort(),S&&k(S);break}R=H+1,_=R+W}else{R=B.length;break}}}}}c===g?i.onreadystatechange=function(){i.readyState===3&&(M++,M>=2&&(c=v,i.onreadystatechange=F)),F()}:i.onreadystatechange=F,F()}var D=0;function r(){var i=new XMLHttpRequest;return i.open("GET",l+a.uuid+":"+D++),i.setRequestHeader(x,s),i.withCredentials=E,f(i,A),i.send(null),i}this.connect=function(i){p(),a.setState(n.Tunnel.State.CONNECTING);var h=new XMLHttpRequest;h.onreadystatechange=function(){if(h.readyState===4){if(h.status!==200){P(h);return}if(p(),a.setUUID(h.responseText),s=h.getResponseHeader(x),!s){T(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND));return}a.setState(n.Tunnel.State.OPEN),L=setInterval(function(){a.sendMessage("nop")},O),k(r())}},h.open("POST",o,!0),h.withCredentials=E,f(h,A),h.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8"),h.send(i)},this.disconnect=function(){T(new n.Status(n.Status.Code.SUCCESS,"Manually closed."))}};n.HTTPTunnel.prototype=new n.Tunnel;n.WebSocketTunnel=function(u){var e=this,t=null,a=null,o=null,l=null,y={"http:":"ws:","https:":"wss:"},g=500,v=0;if(u.substring(0,3)!=="ws:"&&u.substring(0,4)!=="wss:"){var c=y[window.location.protocol];if(u.substring(0,1)==="/")u=c+"//"+window.location.host+u;else{var m=window.location.pathname.lastIndexOf("/"),C=window.location.pathname.substring(0,m+1);u=c+"//"+window.location.host+C+u}}var E=function(){var O=new Date().getTime();e.sendMessage(n.Tunnel.INTERNAL_DATA_OPCODE,"ping",O),v=O},d=function(){window.clearTimeout(a),window.clearTimeout(o),window.clearTimeout(l),e.state===n.Tunnel.State.UNSTABLE&&e.setState(n.Tunnel.State.OPEN),a=window.setTimeout(function(){I(new n.Status(n.Status.Code.UPSTREAM_TIMEOUT,"Server timeout."))},e.receiveTimeout),o=window.setTimeout(function(){e.setState(n.Tunnel.State.UNSTABLE)},e.unstableThreshold);var O=new Date().getTime(),A=Math.max(v+g-O,0);A>0?l=window.setTimeout(E,A):E()};function I(L){window.clearTimeout(a),window.clearTimeout(o),window.clearTimeout(l),e.state!==n.Tunnel.State.CLOSED&&(L.code!==n.Status.Code.SUCCESS&&e.onerror&&e.onerror(L),e.setState(n.Tunnel.State.CLOSED),t.close())}this.sendMessage=function(L){if(!e.isConnected()||arguments.length===0)return;function O(s){var f=new String(s);return f.length+"."+f}for(var A=O(arguments[0]),x=1;x<arguments.length;x++)A+=","+O(arguments[x]);A+=";",t.send(A)},this.connect=function(L){d(),e.setState(n.Tunnel.State.CONNECTING),t=new WebSocket(u+"?"+L,"guacamole"),t.onopen=function(O){d()},t.onclose=function(O){O.reason?I(new n.Status(parseInt(O.reason),O.reason)):O.code?I(new n.Status(n.Status.Code.fromWebSocketCode(O.code))):I(new n.Status(n.Status.Code.UPSTREAM_NOT_FOUND))},t.onmessage=function(O){d();var A=O.data,x=0,s,f=[];do{var p=A.indexOf(".",x);if(p!==-1){var T=parseInt(A.substring(s+1,p));x=p+1,s=x+T}else I(new n.Status(n.Status.Code.SERVER_ERROR,"Incomplete instruction."));var w=A.substring(x,s),P=A.substring(s,s+1);if(f.push(w),P===";"){var k=f.shift();e.uuid===null&&(k===n.Tunnel.INTERNAL_DATA_OPCODE&&f.length===1&&e.setUUID(f[0]),e.setState(n.Tunnel.State.OPEN)),k!==n.Tunnel.INTERNAL_DATA_OPCODE&&e.oninstruction&&e.oninstruction(k,f),f.length=0}x=s+1}while(x<A.length)}},this.disconnect=function(){I(new n.Status(n.Status.Code.SUCCESS,"Manually closed."))}};n.WebSocketTunnel.prototype=new n.Tunnel;n.ChainedTunnel=function(u){for(var e=this,t,a=[],o=null,l=0;l<arguments.length;l++)a.push(arguments[l]);function y(g){e.disconnect=g.disconnect,e.sendMessage=g.sendMessage;var v=function(C){if(C&&C.code===n.Status.Code.UPSTREAM_TIMEOUT)return a=[],null;var E=a.shift();return E&&(g.onerror=null,g.oninstruction=null,g.onstatechange=null,y(E)),E};function c(){g.onstatechange=e.onstatechange,g.oninstruction=e.oninstruction,g.onerror=e.onerror,g.uuid&&e.setUUID(g.uuid),g.onuuid=function(C){e.setUUID(C)},o=g}g.onstatechange=function(m){switch(m){case n.Tunnel.State.OPEN:c(),e.onstatechange&&e.onstatechange(m);break;case n.Tunnel.State.CLOSED:!v()&&e.onstatechange&&e.onstatechange(m);break}},g.oninstruction=function(m,C){c(),e.oninstruction&&e.oninstruction(m,C)},g.onerror=function(m){!v(m)&&e.onerror&&e.onerror(m)},g.connect(t)}this.connect=function(g){t=g;var v=o||a.shift();v?y(v):e.onerror&&e.onerror(n.Status.Code.SERVER_ERROR,"No tunnels to try.")}};n.ChainedTunnel.prototype=new n.Tunnel;n.StaticHTTPTunnel=function(e,t,a){var o=this,l=null,y=a||{};this.size=null,this.sendMessage=function(v){},this.connect=function(v){o.disconnect(),o.setState(n.Tunnel.State.CONNECTING);var c=new n.Parser,m=new n.UTF8Parser;c.oninstruction=function(E,d){o.oninstruction&&o.oninstruction(E,d)},l=new AbortController,fetch(e,{headers:y,credentials:t?"include":"same-origin",signal:l.signal}).then(function(E){if(!E.ok){o.onerror&&o.onerror(new n.Status(n.Status.Code.fromHTTPCode(E.status),E.statusText)),o.disconnect();return}o.size=E.headers.get("Content-Length"),o.setState(n.Tunnel.State.OPEN);var d=E.body.getReader(),I=function L(O){if(O.done){o.disconnect();return}c.receive(m.decode(O.value)),d.read().then(L)};d.read().then(I)})},this.disconnect=function(){l&&(l.abort(),l=null),o.setState(n.Tunnel.State.CLOSED)}};n.StaticHTTPTunnel.prototype=new n.Tunnel;var n=n||{};n.UTF8Parser=function(){var e=0,t=0;this.decode=function(o){for(var l="",y=new Uint8Array(o),g=0;g<y.length;g++){var v=y[g];e===0?(v|127)===127?l+=String.fromCharCode(v):(v|31)===223?(t=v&31,e=1):(v|15)===239?(t=v&15,e=2):(v|7)===247?(t=v&7,e=3):l+="�":(v|63)===191?(t=t<<6|v&63,e--,e===0&&(l+=String.fromCharCode(t))):(e=0,l+="�")}return l}};var n=n||{};n.API_VERSION="1.5.0";var n=n||{};n.VideoPlayer=function(){this.sync=function(){}};n.VideoPlayer.isSupportedType=function(e){return!1};n.VideoPlayer.getSupportedTypes=function(){return[]};n.VideoPlayer.getInstance=function(e,t,a){return null};const G=n;class j extends G.Tunnel{socket=null;cancelPointerMoves;sendPointer;oninstructionbatch;onauthentication;constructor(e,t,a=()=>!1,o){super();let l=null,y=null,g="0";const v=()=>{y!==null&&cancelAnimationFrame(y),y=null,l=null};this.cancelPointerMoves=v;const c=d=>{this.socket?.readyState!==1||this.state!==G.Tunnel.State.OPEN||this.socket.send(JSON.stringify({type:"instruction",opcode:d[0],args:d.slice(1)}))};this.sendPointer=(d,I,L)=>{v(),g=String(L),c(["mouse",String(d),String(I),g])};const m=()=>{const d=l;v(),d&&c(d)},C=()=>{const d=l;y=null,l=null,d&&(c(d),y=requestAnimationFrame(C))},E=d=>{this.state!==d&&(this.state=d,this.onstatechange?.(d))};this.connect=()=>{E(G.Tunnel.State.CONNECTING);let d=0;const I=new URLSearchParams({host:e.host,protocol:"rdp",port:String(e.port)}),L=this.socket=V(`/api/computer/ws?${I}`);L.onopen=()=>{L.send(JSON.stringify({type:"start",username:e.username,password:e.password,domain:e.domain,ignoreCert:e.ignoreCert,width:e.width,height:e.height,verifyLogin:!0})),e.password=""},L.onmessage=O=>{try{const A=JSON.parse(O.data);if(A.type==="authentication"){if(!["pending","authenticated","unavailable"].includes(A.state))throw new Error("Invalid authentication state");this.onauthentication?.(A.state);return}if(A.type!=="instructions"||A.seq!==d+1||!Array.isArray(A.instructions))throw new Error("Invalid RDP record");d=A.seq;for(const f of A.instructions)if(!Array.isArray(f)||!f.length||f.some(p=>typeof p!="string"))throw new Error("Invalid RDP instruction");const x=()=>{for(const f of A.instructions){const[p,...T]=f;if(p==="ready")this.uuid=T[0],this.onuuid?.(T[0]),E(G.Tunnel.State.OPEN),this.sendMessage("nop");else{const w=p==="mouse"&&a();p==="mouse"&&o?.record("rdp-server-mouse",{x:Number(T[0]),y:Number(T[1]),ignored:w}),w||this.oninstruction?.(p,T)}}},s=A.instructions.filter(f=>f[0]==="sync").length;this.oninstructionbatch&&s>1?this.oninstructionbatch(x,s):x(),L.readyState===1&&L.send(JSON.stringify({type:"ack",seq:A.seq}))}catch{t("COMPUTER_INVALID_MESSAGE"),this.disconnect()}},L.onerror=()=>{},L.onclose=O=>{v(),e.password="",t(O.reason||"COMPUTER_DISCONNECTED"),E(G.Tunnel.State.CLOSED)}},this.disconnect=()=>{v(),e.password="";const d=this.socket;this.socket=null,d&&(d.onclose=null,d.onerror=null,d.onmessage=null,d.onopen=null,d.close()),E(G.Tunnel.State.CLOSED)},this.sendMessage=(...d)=>{if(this.socket?.readyState!==1||this.state!==G.Tunnel.State.OPEN)return;const I=d.map(String);I[0]==="mouse"&&I.length===4&&I[3]===g?y===null?(c(I),y=requestAnimationFrame(C)):l=I:(m(),I[0]==="mouse"&&(g=I[3]),c(I))}}}function Z(u){const e=u.flush;let t=0,a=[],o=0,l=!1;return u.flush=(y,g,v)=>{if(!t){e.call(u,y,g,v);return}if(t--,a.push(y),o+=v||0,t&&a.length<64)return;const c=a,m=o;a=[],o=0,e.call(u,()=>{l||c.forEach(C=>C())},g,m)},{run(y,g){t=g;try{y()}finally{t=0,a=[],o=0}},cancel(){l=!0,t=0,a=[],u.flush=e}}}class le extends EventTarget{constructor(e,t,a,o){super(),this.target=e,this.trace=o,this.requestedSize=`${t.width}x${t.height}`,o?.record("rdp-start",{width:t.width,height:t.height});const l=this.tunnel=new j(t,a,()=>this.localPointer&&!this.readonlyMode,o);l.onauthentication=d=>{this.authenticationPending=d==="pending",this.notifyConnected()},this.client=new G.Client(l),this.display=this.client.getDisplay();const y=this.display.getCursorLayer().getElement();y.style.transition="none",y.style.pointerEvents="none";const g=Z(this.display);this.cancelDisplayBatch=()=>g.cancel(),l.oninstructionbatch=(d,I)=>g.run(d,I),this.container=document.createElement("div"),this.container.className="flex h-full w-full overflow-auto outline-none",this.container.tabIndex=0,this.container.appendChild(this.display.getElement()),e.appendChild(this.container);const v=this.keyboardInput=document.createElement("textarea");v.tabIndex=-1,v.setAttribute("aria-label","Remote desktop keyboard"),v.autocapitalize="off",v.autocomplete="off",v.spellcheck=!1,Object.assign(v.style,{position:"absolute",left:"0",top:"0",width:"1px",height:"1px",fontSize:"16px",opacity:"0",pointerEvents:"none"}),this.container.append(v),v.addEventListener("input",d=>{d.isComposing||(v.value="")},{signal:this.listeners.signal}),v.addEventListener("compositionend",()=>{v.value=""},{signal:this.listeners.signal}),this.keyboard=new G.Keyboard(this.container),this.keyboard.onkeydown=d=>(this.readonlyMode||this.client.sendKeyEvent(1,d),!1),this.keyboard.type=d=>{if(!(this.readonlyMode||this.disposed||!this.connected))for(const I of q(d))this.keyboard.press(I),this.keyboard.release(I)},this.keyboard.onkeyup=d=>{this.readonlyMode||this.client.sendKeyEvent(0,d)};const c=this.display.getElement();c.className="m-auto shrink-0";const m=d=>{this.touchpadPointer||this.readonlyMode||(this.touchpadPointer=!1,this.localPointer=!0,this.client.sendMouseState(d.state,!0))},C=this.mouse=new G.Mouse(c);C.onEach(["mousedown","mousemove","mouseup"],d=>{const I=d.state;o?.record("rdp-native-mouse",{x:I.x,y:I.y,ignored:this.touchpadPointer}),!this.touchpadPointer&&(m(d),this.readonlyMode||this.display.showCursor(!this.nativeCursor))}),C.on("mouseout",()=>{this.touchpadPointer||(this.localPointer=!1,this.display.showCursor(!1))});const E=d=>{o?.record("rdp-pointer-event",{type:d.type,pointerType:d.pointerType,x:d.clientX,y:d.clientY}),d.pointerType==="mouse"&&(this.touchpadPointer=!1)};this.container.addEventListener("pointermove",E,{capture:!0,signal:this.listeners.signal}),this.container.addEventListener("pointerdown",E,{capture:!0,signal:this.listeners.signal}),this.display.oncursor=(d,I,L)=>{o?.record("rdp-cursor-shape",{width:d.width,height:d.height,hotspot:[I,L],actual:[this.display.cursorX,this.display.cursorY]}),this.nativeCursor=C.setCursor(d,I,L),this.localPointer&&!this.readonlyMode&&this.display.showCursor(this.touchpadPointer||!this.nativeCursor)},new G.Mouse.Touchscreen(c).onEach(["mousedown","mousemove","mouseup"],d=>{m(d),this.readonlyMode||this.display.showCursor(!0)}),this.container.addEventListener("pointerdown",d=>{this.phoneKeyboardActive?d.preventDefault():this.keyboardInput.focus({preventScroll:!0})},{signal:this.listeners.signal}),this.container.addEventListener("blur",()=>this.keyboard.reset(),{capture:!0,signal:this.listeners.signal}),window.addEventListener("blur",()=>{this.keyboard.reset(),C.reset()},{signal:this.listeners.signal}),this.observer=new ResizeObserver(()=>{this.scale(),this.scheduleResize()}),this.observer.observe(e),this.display.onresize=()=>{this.scale(),this.notifyConnected()},this.client.onstatechange=d=>{this.disposed||(d===G.Client.State.CONNECTED&&(this.connected=!0,this.notifyConnected(),this.scheduleResize()),d===G.Client.State.DISCONNECTED&&a("COMPUTER_DISCONNECTED"))},this.client.onclipboard=(d,I)=>{const L=++this.clipboardGeneration;if(!/^text\/plain(?:;|$)/i.test(I)){d.sendAck("Only plain text clipboard is supported",256);return}const O=new G.ArrayBufferReader(d),A=new TextDecoder("utf-8",{fatal:!0});let x="",s=!1,f=0;const p=()=>{s||(s=!0,x="",d.sendAck("Invalid or oversized text clipboard",768),this.dispatchEvent(new Event("clipboarderror")))};O.ondata=T=>{if(!(s||this.disposed||L!==this.clipboardGeneration)){f+=T.byteLength;try{if(f>Y*4){p();return}x+=A.decode(T,{stream:!0}),x.length>Y&&p()}catch{p()}}},O.onend=()=>{if(!(s||this.disposed||L!==this.clipboardGeneration)){try{x+=A.decode()}catch{p();return}if(x.length>Y){p();return}this.dispatchEvent(new CustomEvent("clipboard",{detail:{text:x}}))}}},this.client.onname=d=>this.dispatchEvent(new CustomEvent("desktopname",{detail:{name:d}})),this.client.onerror=d=>{const I=/certificate/i.test(d.message||"")?"COMPUTER_RDP_CERTIFICATE":[769,771].includes(d.code)?"COMPUTER_AUTH_FAILED":d.code===514?"COMPUTER_CONNECT_TIMEOUT":"COMPUTER_RDP_FAILED";a(I)},this.client.connect()}target;trace;client;tunnel;keyboard;mouse;keyboardInput;display;container;observer;listeners=new AbortController;readonlyMode=!1;fit=!0;zoom=1;resizePaused=!1;disposed=!1;connected=!1;authenticationPending=!1;connectionNotified=!1;phoneKeyboardActive=!1;viewportScale=1;keyboardScale=null;resizeTimer;requestedSize;clipboardGeneration=0;localPointer=!1;nativeCursor=!1;touchpadPointer=!1;cancelDisplayBatch;notifyConnected(){!this.connected||!this.display.getWidth()||!this.display.getHeight()||this.authenticationPending||this.connectionNotified||this.disposed||(this.connectionNotified=!0,this.dispatchEvent(new Event("connect")),this.scheduleResize())}scale(){const e=this.display.getWidth(),t=this.display.getHeight();!this.target.clientWidth||!this.target.clientHeight||(this.viewportScale=this.fit&&e&&t?Math.min(this.target.clientWidth/e,this.keyboardScale??this.target.clientHeight/t):1,this.display.scale(this.viewportScale*this.zoom),this.trace?.record("rdp-scale",{desktop:[e,t],viewport:[this.target.clientWidth,this.target.clientHeight],scale:this.viewportScale,zoom:this.zoom}))}scheduleResize(){clearTimeout(this.resizeTimer),!(!this.connected||!this.connectionNotified||this.disposed||!this.fit||this.resizePaused)&&(this.resizeTimer=setTimeout(()=>{const e=this.target.clientWidth,t=this.target.clientHeight;if(!e||!t||!this.connectionNotified||this.disposed||!this.fit||this.resizePaused)return;const{width:a,height:o}=J(e,t),l=`${a}x${o}`;l!==this.requestedSize&&(this.requestedSize=l,this.client.sendSize(a,o))},150))}set scaleViewport(e){this.fit=e,this.scale(),this.scheduleResize()}set viewportZoom(e){this.zoom=e,this.scale()}get viewportZoom(){return this.zoom}get viewportScroller(){return this.container}set pauseResize(e){this.resizePaused=e,this.scheduleResize()}set keyboardActive(e){e!==this.phoneKeyboardActive&&(this.keyboardScale=e?this.viewportScale:null,this.phoneKeyboardActive=e,this.keyboard.reset(),this.scale())}get pointerTarget(){return{position:()=>({x:this.display.cursorX,y:this.display.cursorY}),observeCursor:()=>{const e=this.display.getCursorLayer().getElement();return{transform:e.style.transform,connected:e.isConnected,scale:this.viewportScale*this.zoom,hotspot:[this.display.cursorHotspotX,this.display.cursorHotspotY]}},size:()=>({width:this.display.getWidth(),height:this.display.getHeight()}),surface:()=>this.display.getElement(),send:(e,t,a)=>{this.readonlyMode||this.disposed||!this.connected||(this.localPointer=!0,this.touchpadPointer=!0,this.display.moveCursor(e,t),this.display.showCursor(!0),this.tunnel.sendPointer(e,t,a))}}}set viewOnly(e){this.tunnel.cancelPointerMoves(),this.keyboard.reset(),this.mouse.reset(),this.readonlyMode=e,this.localPointer=!1,e&&this.display.showCursor(!1)}focus(e={preventScroll:!0}){!this.phoneKeyboardActive&&!this.readonlyMode&&!this.disposed&&this.keyboardInput.focus(e)}sendKey(e,t,a=!0){!this.readonlyMode&&!this.disposed&&this.client.sendKeyEvent(a?1:0,e)}clipboardPasteFrom(e){if(this.readonlyMode||this.disposed)return;if(e.length>Y)throw new RangeError("Clipboard is too large");const t=new G.ArrayBufferWriter(this.client.createClipboardStream("text/plain"));t.onack=a=>{a.isError()&&!this.disposed&&this.dispatchEvent(new Event("clipboarderror"))},t.sendData(new TextEncoder().encode(e)),t.sendEnd()}disconnect(){this.disposed||(this.disposed=!0,this.tunnel.cancelPointerMoves(),this.keyboard.reset(),this.mouse.reset(),this.listeners.abort(),this.observer.disconnect(),this.cancelDisplayBatch(),this.display.cancel?.(),clearTimeout(this.resizeTimer),this.trace?.record("rdp-disconnect"),this.trace?.flush("rdp-disconnect"),this.client.disconnect(),this.container.remove())}}export{le as RdpSession};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ah as T,aB as k,g as M}from"./app-CKAFlgMD.js";import{b as o,r as O}from"./dnd-BCFAPC0L.js";const N=[["circle",{cx:"18",cy:"18",r:"3",key:"1xkwt0"}],["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M13 6h3a2 2 0 0 1 2 2v7",key:"1yeb86"}],["path",{d:"M11 18H8a2 2 0 0 1-2-2V9",key:"19pyzm"}]],Y=T("git-compare",N),I=450,L=10,b=88,h=36,E=10,w=14;function g(c){if(typeof document>"u")return 0;const r=Number.parseFloat(getComputedStyle(document.documentElement).getPropertyValue(c)||"0");return Number.isFinite(r)?r:0}function X(c,r){if(typeof window>"u")return{left:0,top:0};const a=window.visualViewport,u=a?.offsetLeft??0,s=a?.offsetTop??0,p=a?.width??window.innerWidth,m=a?.height??window.innerHeight,i=g("--safe-top-inset"),y=g("--safe-bottom-inset"),_=u+E,l=u+p-b-E,d=s+i+E,P=s+m-y-h-E,x=Math.max(_,Math.min(c-b/2,Math.max(_,l))),n=r-h-w,f=r+w,e=n>=d?n:f,t=Math.max(d,Math.min(e,Math.max(d,P)));return{left:Math.round(x),top:Math.round(t)}}async function C(c){if(!c)return;if(typeof navigator<"u"&&navigator.clipboard?.writeText)try{await navigator.clipboard.writeText(c);return}catch{}if(typeof document>"u")return;const r=document.createElement("textarea");r.value=c,r.setAttribute("readonly",""),r.style.position="fixed",r.style.left="-9999px",r.style.top="0",document.body.appendChild(r),r.select();try{document.execCommand("copy")}finally{document.body.removeChild(r)}}function F(c,r=!1){const a=o.useRef(null),u=o.useRef(null),s=o.useRef(!1),p=o.useRef(!1),m=o.useRef(!1),[i,y]=o.useState(null);o.useEffect(()=>{if(!i)return;const n=f=>{const e=f.target;e instanceof HTMLElement&&e.closest('[data-reference-copy-popover="true"]')||(y(null),s.current=!1,p.current=!1)};return document.addEventListener("pointerdown",n,{capture:!0}),()=>document.removeEventListener("pointerdown",n,!0)},[i]);const _=o.useCallback(()=>{a.current!=null&&(window.clearTimeout(a.current),a.current=null)},[]),l=o.useCallback(()=>{_(),u.current=null,s.current=!1},[_]),d=o.useCallback((n,f)=>({onPointerDown:e=>{e.pointerType==="mouse"&&e.button!==0||(l(),u.current={pointerId:e.pointerId,pointerType:e.pointerType,startX:e.clientX,startY:e.clientY,text:n,key:f},a.current=window.setTimeout(()=>{const t=u.current;if(t){if(s.current=!0,p.current=!0,m.current=!1,t.pointerType==="mouse"){C(t.text).then(()=>c?.(t.key)),a.current=null;return}y({text:t.text,key:t.key,...X(t.startX,t.startY)}),a.current=null}},I))},onPointerMove:e=>{const t=u.current;if(!t||t.pointerId!==e.pointerId||s.current)return;const R=e.clientX-t.startX,v=e.clientY-t.startY;Math.hypot(R,v)>L&&l()},onPointerUp:e=>{const t=u.current;if(!t||t.pointerId!==e.pointerId){l();return}s.current&&(e.preventDefault(),e.stopPropagation(),p.current=!0),l()},onPointerCancel:l,onPointerLeave:e=>{u.current?.pointerId===e.pointerId&&!s.current&&l()},onClickCapture:e=>{p.current&&(p.current=!1,e.preventDefault(),e.stopPropagation())},onContextMenu:e=>{!s.current&&!p.current||(e.preventDefault(),e.stopPropagation())}}),[c,l]),P=o.useCallback(n=>{if(n.preventDefault(),n.stopPropagation(),!i||m.current)return;m.current=!0;const f=i;y(null),s.current=!1,p.current=!1,C(f.text).then(()=>c?.(f.key))},[c,i]),x=i&&typeof document<"u"?O.createPortal(o.createElement("button",{type:"button","data-reference-copy-popover":"true","data-sidebar-composer-popover":r?k()?.element.id:void 0,className:`fixed ${r?"z-popover":"z-modal-backdrop"} inline-flex h-9 w-[88px] select-none items-center justify-center gap-1.5 rounded-full border border-white/15 bg-[rgb(28_28_30_/_0.92)] px-3 text-[13px] font-semibold text-white shadow-[0_10px_28px_rgb(0_0_0_/_0.32),0_2px_8px_rgb(0_0_0_/_0.18)] backdrop-blur-xl transition-transform duration-100 ease-out active:scale-[0.96]`,style:{left:i.left,top:i.top,WebkitBackdropFilter:"blur(18px)"},onPointerDown:n=>{n.stopPropagation()},onPointerUp:P,onTouchStart:n=>{n.stopPropagation()},onTouchEnd:P,onClick:P},o.createElement(M,{size:14,strokeWidth:2.4}),o.createElement("span",null,"Copy")),document.body):null;return o.useMemo(()=>Object.assign(d,{popoverNode:x}),[d,x])}export{Y as G,F as u};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as r,a as e,s as a,S as i}from"./chunk-IMKFNOWR-CdPjlb9f.js";import{d as s}from"./mermaid.core-D0bcNdw3.js";import"./chunk-XXDRQBXY-CtGPyXWh.js";import"./chunk-POPQ4Y6H-BOu_1Brt.js";import"./chunk-F27PBJKO-yxCv2Uqk.js";import"./purify.es-4eNOHKSq.js";import"./app-CKAFlgMD.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";var g={parser:a,get db(){return new i(2)},renderer:e,styles:r,init:s(t=>{t.state||(t.state={}),t.state.arrowMarkerAbsolute=t.arrowMarkerAbsolute},"init")};export{g as diagram};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{c as r,s as e}from"./flowDiagram-HODETNUW-Bbw8GPCZ.js";import{d as o}from"./mermaid.core-D0bcNdw3.js";import"./chunk-5VM5RSS4-CsWZd30k.js";import"./chunk-XXDRQBXY-CtGPyXWh.js";import"./chunk-POPQ4Y6H-BOu_1Brt.js";import"./chunk-F27PBJKO-yxCv2Uqk.js";import"./purify.es-4eNOHKSq.js";import"./channel-gcmN0N0m.js";import"./app-CKAFlgMD.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";var a=o(t=>`${e(t)}
|
|
2
|
-
.swimlane.cluster rect {
|
|
3
|
-
stroke: ${t.clusterBorder} !important;
|
|
4
|
-
}
|
|
5
|
-
[data-look="neo"].cluster rect {
|
|
6
|
-
filter: none;
|
|
7
|
-
}
|
|
8
|
-
`,"getStyles"),m=a,v=r({defaultLayout:"swimlane",styles:m});export{v as diagram};
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{ah as c}from"./app-CKAFlgMD.js";const e=[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]],h=c("circle-check",e);const a=[["path",{d:"M15 6a9 9 0 0 0-9 9V3",key:"1cii5b"}],["circle",{cx:"18",cy:"6",r:"3",key:"1h7g24"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}]],y=c("git-branch",a);const t=[["path",{d:"M9 17H7A5 5 0 0 1 7 7h2",key:"8i5ue5"}],["path",{d:"M15 7h2a5 5 0 1 1 0 10h-2",key:"1b9ql8"}],["line",{x1:"8",x2:"16",y1:"12",y2:"12",key:"1jonct"}]],k=c("link-2",t);const i=[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"m21 3-7 7",key:"1l2asr"}],["path",{d:"m3 21 7-7",key:"tjx5ai"}],["path",{d:"M9 21H3v-6",key:"wtvkvv"}]],r=c("maximize-2",i);const o=[["path",{d:"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3",key:"wmoenq"}],["path",{d:"M12 9v4",key:"juzpu7"}],["path",{d:"M12 17h.01",key:"p32p05"}]],d=c("triangle-alert",o);export{h as C,y as G,k as L,r as M,d as T};
|
|
Binary file
|
|
Binary file
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import{_ as b}from"./app-CKAFlgMD.js";import"./react-XDCjal2T.js";import"./dnd-BCFAPC0L.js";import"./terminal-Dea8wJF3.js";const v="termdock-video-compression-v2",L="termdock-media-plugins",m="assets";function P(){return new Promise((e,o)=>{const r=indexedDB.open(L,1);let t=!1;r.onupgradeneeded=()=>r.result.createObjectStore(m),r.onerror=()=>{t=!0,o(r.error??new Error("Plugin storage unavailable"))},r.onblocked=()=>{t=!0,o(new Error("Plugin storage unavailable"))},r.onsuccess=()=>{if(t){r.result.close();return}t=!0,e(r.result)}})}async function w(e,o){const r=await P();try{return await new Promise((t,s)=>{const a=r.transaction(m,e),c=o(a.objectStore(m));a.oncomplete=()=>t(c.result),a.onabort=a.onerror=()=>s(a.error??new Error("Plugin storage failed"))})}finally{r.close()}}async function A(e,o){try{const r=await caches.open(v),t=await r.match(e);if(t?.ok){const s=await t.blob();if(s.size===o)return s;await r.delete(e)}}catch{}try{const r=await w("readonly",t=>t.get(e));if(r instanceof Blob&&r.size===o)return r}catch{}return null}async function k(e,o){try{const r=await caches.open(v);await r.put(e,new Response(o,{headers:{"Content-Type":"application/wasm"}}));const t=await r.match(e);if(t?.ok&&(await t.blob()).size===o.size)return!0}catch{}try{await w("readwrite",t=>t.put(o,e));const r=await w("readonly",t=>t.get(e));return r instanceof Blob&&r.size===o.size}catch{return!1}}const _="/assets/video-compression/v2",y=32232419;let d=null,u={phase:"checking-cache"};const g=new Set;function p(e){e.phase===u.phase&&e.progress===u.progress&&e.source===u.source&&e.saved===u.saved||(u=e,g.forEach(o=>o(e)))}function B(e){return typeof Worker>"u"||typeof WebAssembly>"u"?Promise.reject(new Error("This browser cannot run local video compression.")):(d||(p({phase:"checking-cache"}),d=R().then(async({blob:o,source:r,saved:t})=>{p({phase:"initializing",source:r,saved:t});const{FFmpeg:s}=await b(async()=>{const{FFmpeg:i}=await import("./index-CUxsIblL.js");return{FFmpeg:i}},[]),a=new s,c=URL.createObjectURL(o);try{return await a.load({coreURL:`${_}/ffmpeg-core.js`,wasmURL:c}),p({phase:"ready",source:r,saved:t}),a}catch(i){throw a.terminate(),i}finally{URL.revokeObjectURL(c)}}).catch(o=>{throw d=null,o})),e?(g.add(e),e(u),d.finally(()=>{g.delete(e)})):d)}async function R(){const e=`${_}/ffmpeg-core.wasm`,o=await A(e,y);if(o)return{blob:o,source:"local",saved:!0};p({phase:"loading",progress:0,source:"fetch"});const r=await fetch(e,{cache:"force-cache"});if(!r.ok||!r.body)throw new Error(`Unable to download local video compression (${r.status}).`);const t=Number(r.headers.get("Content-Length")),s=r.body.getReader();let a=0;const c=[];for(;;){const{done:h,value:n}=await s.read();if(h)break;a+=n.byteLength,c.push(E(n)),Number.isFinite(t)&&t>0&&p({phase:"loading",progress:Math.min(99,Math.round(a/t*100)),source:"fetch"})}const i=new Blob(c,{type:"application/wasm"});if(c.length=0,i.size!==y)throw new Error("本地转码器下载不完整,请重试。");p({phase:"saving",progress:100,source:"fetch"});const f=await k(e,i);return{blob:i,source:"fetch",saved:f}}async function z(e,o){const[{fetchFile:r},t]=await Promise.all([b(()=>import("./index-607UPNXL.js"),[]),B()]),s=`input-${crypto.randomUUID()}${U(e)}`,a=`compressed-${crypto.randomUUID()}.mp4`;let c=0;const i=[],f=({message:n})=>{i.push(n.slice(0,500)),i.length>10&&i.shift()},h=({progress:n})=>{const l=Math.max(c,Math.min(95,Math.round(5+n*90)));c=l,o.onProgress?.(l)};t.on("progress",h),t.on("log",f);try{o.onProgress?.(1),await t.writeFile(s,await r(e));const n=await t.exec(["-i",s,"-map","0:v:0","-map","0:a?","-vf",`scale=w='min(${o.maxHeight},iw)':h='min(${o.maxHeight},ih)':force_original_aspect_ratio=decrease:force_divisible_by=2`,"-c:v","libx264","-preset","veryfast","-pix_fmt","yuv420p","-b:v",String(o.videoBitrate),"-maxrate",String(o.videoBitrate),"-bufsize",String(o.videoBitrate*2),"-c:a","aac","-b:a","128k","-movflags","+faststart",a]);if(n!==0)throw new Error(`视频转码失败(退出码 ${n})。`);const l=await t.readFile(a);if(!(l instanceof Uint8Array)||l.byteLength===0)throw new Error("转码器未生成有效的视频文件。");return o.onProgress?.(100),new File([E(l)],C(e.name),{type:"video/mp4"})}catch(n){const l=n instanceof Error?n.message:String(n);throw new Error([l,i.join(`
|
|
2
|
-
`)].filter(Boolean).join(`
|
|
3
|
-
`).slice(0,3e3))}finally{t.off("progress",h),t.off("log",f),await Promise.allSettled([t.deleteFile(s),t.deleteFile(a)])}}function E(e){return e.buffer instanceof ArrayBuffer?e:new Uint8Array(e)}function U(e){return/\.[A-Za-z0-9]{1,10}$/.exec(e.name)?.[0]??(e.type==="video/quicktime"?".mov":".mp4")}function C(e){return`${e.replace(/\.[^.]+$/,"")||"video"}-compressed.mp4`}export{z as compressVideoLocally,B as prepareLocalVideoCompression};
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
File without changes
|
|
File without changes
|
|
File without changes
|