@camera.ui/server 0.0.69 → 0.0.71-dev.0
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/CLAUDE.md +91 -0
- package/README.md +0 -24
- package/cupdate.config.txt +0 -1
- package/dist/interface/assets/404-CIsBB4A0.js +1 -0
- package/dist/interface/assets/About-CkxZb9D-.js +1 -0
- package/dist/interface/assets/Adminpanel-BrZ55JBx.js +1 -0
- package/dist/interface/assets/Automation-BKhuIS2v.js +2 -0
- package/dist/interface/assets/Automation-Csu8t0D7.css +1 -0
- package/dist/interface/assets/Automations-CzdnqGGU.js +1 -0
- package/dist/interface/assets/Camera-BhCDJE7I.css +1 -0
- package/dist/interface/assets/Camera-CU3aKdBR.js +2 -0
- package/dist/interface/assets/CameraConsole-D7KxwRxQ.js +7 -0
- package/dist/interface/assets/Cameras-807mspcl.css +1 -0
- package/dist/interface/assets/Cameras-DJcAfGpU.js +656 -0
- package/dist/interface/assets/Camview-ArBQ3nES.js +1 -0
- package/dist/interface/assets/Camview-Dd7DwMHG.css +1 -0
- package/dist/interface/assets/Config-D2ftkjl2.js +2 -0
- package/dist/interface/assets/Config-JgftUZFe.css +1 -0
- package/dist/interface/assets/ConfigActionCameraControl-94iyzBzJ.js +1 -0
- package/dist/interface/assets/ConfigActionDelay-DKhE0Xr8.js +1 -0
- package/dist/interface/assets/ConfigActionHttp-BbfN1UGF.js +1 -0
- package/dist/interface/assets/ConfigActionImageInput-P39gRfld.js +1 -0
- package/dist/interface/assets/ConfigActionNotification-CuDDnksK.js +1 -0
- package/dist/interface/assets/ConfigActionOutput-BIHvC1Z5.js +1 -0
- package/dist/interface/assets/ConfigActionPlugin-CDA53LwA.js +1 -0
- package/dist/interface/assets/ConfigActionSensor-BBkfWT_r.js +1 -0
- package/dist/interface/assets/ConfigActionSnapshot-C5enxVcl.js +1 -0
- package/dist/interface/assets/ConfigActionVariable-CVaOMoOi.js +1 -0
- package/dist/interface/assets/ConfigConditionIfElse-DiIOUqA5.js +1 -0
- package/dist/interface/assets/ConfigConditionSensorState-DBktbA8F.js +1 -0
- package/dist/interface/assets/ConfigConditionSwitch-DWqcQ3Ip.js +1 -0
- package/dist/interface/assets/ConfigConditionTime-BEaHclqa.js +1 -0
- package/dist/interface/assets/ConfigTriggerDetection-CRnZR91p.js +1 -0
- package/dist/interface/assets/ConfigTriggerGeofence-DODdJBZW.js +1 -0
- package/dist/interface/assets/ConfigTriggerManual-V8-5hrdl.js +1 -0
- package/dist/interface/assets/ConfigTriggerSchedule-CqID85d1.js +1 -0
- package/dist/interface/assets/ConfigTriggerSensor-DR6ifBrK.js +1 -0
- package/dist/interface/assets/ConfigTriggerSystem-K1ohOW18.js +1 -0
- package/dist/interface/assets/ConfigTriggerWebhook-Cmwu5IU4.js +1 -0
- package/dist/interface/assets/Console-IC7AOnvc.js +6 -0
- package/dist/interface/assets/CuiActionButton-Ba5wT-4n.js +1 -0
- package/dist/interface/assets/CuiAvatar-BtMXnhxd.css +1 -0
- package/dist/interface/assets/CuiAvatar-Bu4NixiB.js +1 -0
- package/dist/interface/assets/CuiBBoxPlayground-Cmbd4_qG.js +1 -0
- package/dist/interface/assets/CuiBBoxPlayground-EFkdOBvq.css +1 -0
- package/dist/interface/assets/CuiBottomSheet-BN5exkJm.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-CHspaYgP.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-DxQ6D_RM.css +1 -0
- package/dist/interface/assets/CuiCameraCard-C7eDwhgw.js +1 -0
- package/dist/interface/assets/CuiCameraCard-dNsAwlKS.css +1 -0
- package/dist/interface/assets/CuiCameraPipCard-C8Pg7xT9.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-D3o29_wc.css +1 -0
- package/dist/interface/assets/CuiCameraRecordings-CQHbo-_J.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-DM_o0Lya.css +1 -0
- package/dist/interface/assets/CuiCameraShares-DNuCgk4b.js +1 -0
- package/dist/interface/assets/CuiCameraSnapshot-BpUMwSoR.js +1 -0
- package/dist/interface/assets/CuiCameraTable-DQffvTtY.js +2 -0
- package/dist/interface/assets/CuiFloatingButton-RaxwbGht.js +1 -0
- package/dist/interface/assets/CuiImage-60jwFIqc.js +1 -0
- package/dist/interface/assets/CuiImage-Bxf7z2N4.css +1 -0
- package/dist/interface/assets/CuiMarkdownContent-M5v8bBmS.js +1 -0
- package/dist/interface/assets/CuiMenu-B4CHT2F_.js +1 -0
- package/dist/interface/assets/CuiMenu-BWUfWLQP.css +1 -0
- package/dist/interface/assets/CuiPluginCard-5ItfIe1Z.js +2 -0
- package/dist/interface/assets/CuiPluginCard-CTTsEM9M.css +1 -0
- package/dist/interface/assets/CuiPluginOAuthButton-BJRU2JBX.js +2 -0
- package/dist/interface/assets/CuiQRCode-CNeepRQw.js +1 -0
- package/dist/interface/assets/CuiQRCode-DfUba6JB.css +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-CKHFeJlJ.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-CZIZiEuT.css +1 -0
- package/dist/interface/assets/CuiSchema--yMBD996.css +1 -0
- package/dist/interface/assets/CuiSchema-CTRLO0uq.js +1 -0
- package/dist/interface/assets/CuiTopNavbarItem-CgaR_X1z.js +1 -0
- package/dist/interface/assets/CuiTopNavbarItem-w54CrODK.css +1 -0
- package/dist/interface/assets/CuiTopbarSlot-BDZoZ_yn.js +1 -0
- package/dist/interface/assets/Faces-JoBk1Mcv.js +1 -0
- package/dist/interface/assets/FirstSteps-CSMvd_p0.js +1 -0
- package/dist/interface/assets/Instances-DwNihvsL.js +1 -0
- package/dist/interface/assets/Menu-CUnOgtD5.js +1 -0
- package/dist/interface/assets/OAuthDeviceFlow-aUHpE7wP.js +1 -0
- package/dist/interface/assets/Plugin-DoxdkvWR.css +1 -0
- package/dist/interface/assets/Plugin-LjpUwn17.js +1 -0
- package/dist/interface/assets/PluginConsole-CvDWPKOs.js +7 -0
- package/dist/interface/assets/PluginSchema-DL7Bfd_U.js +1 -0
- package/dist/interface/assets/Plugins-B207FOsG.js +2 -0
- package/dist/interface/assets/Plugins-BPt1RSKT.css +1 -0
- package/dist/interface/assets/Recordings-Bt_GlPOK.css +1 -0
- package/dist/interface/assets/Recordings-adHTSogQ.js +1 -0
- package/dist/interface/assets/Settings-bwLTNAxX.css +1 -0
- package/dist/interface/assets/Settings-iBjUbXTH.js +1 -0
- package/dist/interface/assets/SettingsAccount-Ce0UnkLb.js +1 -0
- package/dist/interface/assets/SettingsAccount-DXKQY4Iz.css +1 -0
- package/dist/interface/assets/SettingsAccount-f2wkt4kx.js +1 -0
- package/dist/interface/assets/SettingsAppearance-2TfnSgkI.js +1 -0
- package/dist/interface/assets/SettingsAppearance-Dca237An.js +1 -0
- package/dist/interface/assets/SettingsBackup-Bh5x-GU_.js +1 -0
- package/dist/interface/assets/SettingsNotifications-BVmhorXq.js +2 -0
- package/dist/interface/assets/SettingsRecordings-dPUm5hma.js +1 -0
- package/dist/interface/assets/SettingsRemote-BcVzn2m3.js +1 -0
- package/dist/interface/assets/SettingsRemote-CjVK9pGg.css +1 -0
- package/dist/interface/assets/SettingsSystem-Dz76BUJ-.js +2 -0
- package/dist/interface/assets/SettingsUsers-Dzj--Rmf.js +1 -0
- package/dist/interface/assets/Terminal-BAMMh8Px.js +4 -0
- package/dist/interface/assets/Terminal-CrOfQJ-O.css +1 -0
- package/dist/interface/assets/VariableInput-D_-qKfZK.js +1 -0
- package/dist/interface/assets/VariableSuggestions-Br4yDsLZ.js +1 -0
- package/dist/interface/assets/VersionsHandler-CfNT3Yke.js +7 -0
- package/dist/interface/assets/Workers-D3jFWBjm.js +1 -0
- package/dist/interface/assets/_plugin-vue_export-helper-BDNMzG2s.js +1 -0
- package/dist/interface/assets/ace-BRyQJK-L.js +1 -0
- package/dist/interface/assets/ace.config-fXRdG20S.js +1 -0
- package/dist/interface/assets/alert-outline-D3FCIX7_.js +1 -0
- package/dist/interface/assets/api-BaywoTCE.js +2 -0
- package/dist/interface/assets/api-Cna9Poda.css +2 -0
- package/dist/interface/assets/api-DvuXV3Xb.js +1 -0
- package/dist/interface/assets/auth-Cu-pUvKk.js +1 -0
- package/dist/interface/assets/automation-CbEPnAW4.js +1 -0
- package/dist/interface/assets/automations-Bj3wF0wR.js +1 -0
- package/dist/interface/assets/automations-C6ssihoC.js +1 -0
- package/dist/interface/assets/back-filled-CvLD0CND.js +1 -0
- package/dist/interface/assets/backup-DK5aZBLo.js +1 -0
- package/dist/interface/assets/bell-outline-JZZKpcfS.js +1 -0
- package/dist/interface/assets/camera-preview-C7GT5VHo.png +0 -0
- package/dist/interface/assets/cameras-DQ28quQb.js +1 -0
- package/dist/interface/assets/cameras.schema-CDeB5JeE.js +1 -0
- package/dist/interface/assets/cctv-SQFfbBnL.js +1 -0
- package/dist/interface/assets/check-BQQidcYi.js +1 -0
- package/dist/interface/assets/chevron-down-Dd1qHXVA.js +1 -0
- package/dist/interface/assets/chevron-right-DOmJR2OL.js +1 -0
- package/dist/interface/assets/circular-connection-nKCVm4QI.js +1 -0
- package/dist/interface/assets/close-Dhjo4o57.js +1 -0
- package/dist/interface/assets/close-WdhW_91X.js +1 -0
- package/dist/interface/assets/close-circle-i5PrRG0X.js +1 -0
- package/dist/interface/assets/close-rounded-6nzLVPw0.js +1 -0
- package/dist/interface/assets/cloud-check-DeN6leiB.js +1 -0
- package/dist/interface/assets/cloud-outline-BHjUiP9q.js +1 -0
- package/dist/interface/assets/cloud-outline-BQddJElX.js +1 -0
- package/dist/interface/assets/cloudHandoff-DxhttWWd.js +1 -0
- package/dist/interface/assets/cog-Batjj1se.js +1 -0
- package/dist/interface/assets/copy-16-filled-DuAEBVEX.js +1 -0
- package/dist/interface/assets/copy-BeuZDsJN.js +1 -0
- package/dist/interface/assets/delete-DvMWXBFV.js +1 -0
- package/dist/interface/assets/dist-CcCNy5h7.js +1 -0
- package/dist/interface/assets/download-Cna5QEEj.js +1 -0
- package/dist/interface/assets/esm-B4Pd2w1t.js +1 -0
- package/dist/interface/assets/esm-B4l8-ACY.js +1 -0
- package/dist/interface/assets/esm-BE98HKPg.js +1 -0
- package/dist/interface/assets/esm-BNSLSv2m.js +1 -0
- package/dist/interface/assets/esm-BnT9fzsT.js +1 -0
- package/dist/interface/assets/esm-C-uLCRX1.js +1 -0
- package/dist/interface/assets/esm-C6JCcz6o.js +1 -0
- package/dist/interface/assets/esm-D5_rxfjE.js +1 -0
- package/dist/interface/assets/esm-D6ymjVa1.js +1 -0
- package/dist/interface/assets/esm-D8teZoG1.js +1 -0
- package/dist/interface/assets/esm-DnSGrmvg.js +1 -0
- package/dist/interface/assets/esm-DqkQVzkL.js +1 -0
- package/dist/interface/assets/esm-tnu6qUMk.js +1 -0
- package/dist/interface/assets/eventIcons-2hVCNchU.css +1 -0
- package/dist/interface/assets/eventIcons-DVykqtE5.js +1 -0
- package/dist/interface/assets/face-recognition-5Yp1IcUb.js +1 -0
- package/dist/interface/assets/github-37yEERpu.js +1 -0
- package/dist/interface/assets/grid-fill-BGU3gqir.js +1 -0
- package/dist/interface/assets/hasPermission-DIF0bX8u.js +1 -0
- package/dist/interface/assets/home-sSF_NnOu.js +1 -0
- package/dist/interface/assets/information-outline-fu18_QSH.js +1 -0
- package/dist/interface/assets/instances-DGPhZWRw.js +1 -0
- package/dist/interface/assets/lightbulb-outline-DWc53kV7.js +1 -0
- package/dist/interface/assets/locale-Bm1nXzqV.js +1 -0
- package/dist/interface/assets/main-BqVSZVz1.css +1 -0
- package/dist/interface/assets/main-D1gFWXGG.js +3 -0
- package/dist/interface/assets/microphone-ChDR4mkG.js +1 -0
- package/dist/interface/assets/native-Cq3ra8E-.js +1 -0
- package/dist/interface/assets/native-DfLBhmBo.js +1 -0
- package/dist/interface/assets/nodeDefinitions-BLSMZueH.js +1 -0
- package/dist/interface/assets/notifications-DNRzOl89.js +1 -0
- package/dist/interface/assets/play-solid-B_749j1A.js +1 -0
- package/dist/interface/assets/plugin-C1NakF2p.js +1 -0
- package/dist/interface/assets/plugins-DzRwEcA4.js +1 -0
- package/dist/interface/assets/plus-B5eEboLZ.js +1 -0
- package/dist/interface/assets/plus-Dis0MPt8.js +1 -0
- package/dist/interface/assets/power-CxGfHa98.js +1 -0
- package/dist/interface/assets/ring-resize-fOkdAS5R.js +1 -0
- package/dist/interface/assets/rolldown-runtime-CMxvf4Kt.js +1 -0
- package/dist/interface/assets/round-alt-arrow-left-bold-ekP_ATNV.js +1 -0
- package/dist/interface/assets/round-restart-alt-BWTTuG_j.js +1 -0
- package/dist/interface/assets/round-restart-alt-CJgRaJjF.css +1 -0
- package/dist/interface/assets/router-CuAn6JZ_.css +1 -0
- package/dist/interface/assets/router-DGyFln7e.js +2 -0
- package/dist/interface/assets/routerState-DMVeYr60.js +1 -0
- package/dist/interface/assets/search-YdrT6au7.js +1 -0
- package/dist/interface/assets/server-BWxbeZzY.js +1 -0
- package/dist/interface/assets/settings-D2-mWioF.js +1 -0
- package/dist/interface/assets/shares-BLuBJftj.js +1 -0
- package/dist/interface/assets/shield-check-DFR-xg-g.js +1 -0
- package/dist/interface/assets/terminal-BYi6cqd4.js +1 -0
- package/dist/interface/assets/theme-D08Upl8q.js +1 -0
- package/dist/interface/assets/trash-2-Du7oioNA.js +1 -0
- package/dist/interface/assets/trash-can-YTXLzAmt.js +1 -0
- package/dist/interface/assets/trash-fill-ZI3YYgNp.js +1 -0
- package/dist/interface/assets/types-B_isDU64.js +1 -0
- package/dist/interface/assets/types-BxFyoO54.js +1 -0
- package/dist/interface/assets/types-kxdn9XBW.js +1 -0
- package/dist/interface/assets/ui-aYGNqaHi.js +1 -0
- package/dist/interface/assets/upload-Chr4Uunq.js +1 -0
- package/dist/interface/assets/useBiometricCredentials-B-zA6b-X.js +1 -0
- package/dist/interface/assets/useCameraOptions-0w0LNh72.js +1 -0
- package/dist/interface/assets/useCuiCameraDrawer-Dn97MLFe.js +1 -0
- package/dist/interface/assets/useCuiDialog-BbkaNkQN.js +2 -0
- package/dist/interface/assets/useElectron-mh8HQUAI.js +1 -0
- package/dist/interface/assets/useFileDownload-g3sM8lp6.js +1 -0
- package/dist/interface/assets/useLogsSocket-CZld674d.js +4 -0
- package/dist/interface/assets/useLogsSocket-pqdh7jNG.css +1 -0
- package/dist/interface/assets/useSharedComposables-riqEUgwX.js +1 -0
- package/dist/interface/assets/useStreamStatus-2lguNuWT.js +1 -0
- package/dist/interface/assets/users.schema-CUZOYClB.js +1 -0
- package/dist/interface/assets/vendor-DmhYd_sB.js +22 -0
- package/dist/interface/assets/vendor-ace-B9YSA4ub.js +1085 -0
- package/dist/interface/assets/vendor-cameraui-DggYb17u.js +1976 -0
- package/dist/interface/assets/vendor-capacitor-IA6kwsx8.js +2 -0
- package/dist/interface/assets/vendor-chart-Dnlz1Jgy.js +3 -0
- package/dist/interface/assets/vendor-core-B6F-imJj.js +1 -0
- package/dist/interface/assets/vendor-dnd-Dp0ottZI.js +2 -0
- package/dist/interface/assets/vendor-draggabilly-C2ae3o70.js +1 -0
- package/dist/interface/assets/vendor-gridstack-Dxjc1EeA.js +3 -0
- package/dist/interface/assets/vendor-gridstack-Rg2RhwAc.css +1 -0
- package/dist/interface/assets/vendor-leaflet-B5L2Aw8Y.js +1 -0
- package/dist/interface/assets/vendor-leaflet-vh-t_kPv.css +1 -0
- package/dist/interface/assets/vendor-markdown-D3nVi7gw.js +15 -0
- package/dist/interface/assets/vendor-markdown-DtOhvyRx.css +1 -0
- package/dist/interface/assets/vendor-primevue--pcuf6kA.js +4289 -0
- package/dist/interface/assets/vendor-vueflow-CBuKPASC.js +26 -0
- package/dist/interface/assets/vendor-xterm-BrP-ENHg.css +1 -0
- package/dist/interface/assets/vendor-xterm-D8Z_h2U0.js +145 -0
- package/dist/interface/assets/vendor-zod-CmGeQCqy.js +127 -0
- package/dist/interface/assets/view-grid-96p9T-KQ.js +1 -0
- package/dist/interface/assets/view-grid-SdzaC3O_.css +1 -0
- package/dist/interface/assets/web-3Sh2qjiP.js +1 -0
- package/dist/interface/assets/web-B0BK4Q2M.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-DzG2kK8Q.js +1 -0
- package/dist/interface/assets/web-COttRPza.js +1 -0
- package/dist/interface/assets/web-Ck1J3gUt.js +1 -0
- package/dist/interface/assets/web-DPxPmEOR.js +1 -0
- package/dist/interface/assets/web-DRprnZwc.js +1 -0
- package/dist/interface/assets/web-DusfFKJE.js +1 -0
- package/dist/interface/assets/web-U3ajDFzM.js +1 -0
- package/dist/interface/assets/web-jcLz0P7f.js +1 -0
- package/dist/interface/assets/web-tQAiC0W2.js +1 -0
- package/dist/interface/assets/web-x9pvmNMf.js +1 -0
- package/dist/interface/assets/workbox-window.prod.es5-DkzC-kEO.js +1 -0
- package/dist/interface/assets/worker-base-ybazWkNy.js +1337 -0
- package/dist/interface/assets/worker-yaml-crtWQpDN.js +5824 -0
- package/dist/interface/assets/zoom-in-zoFmMkYM.js +1 -0
- package/dist/interface/index.html +96 -45
- package/dist/interface/manifest.webmanifest +1 -1
- package/dist/interface/og-share.png +0 -0
- package/dist/interface/sw.js +1 -1
- package/dist/interface/workbox-5f44db27.js +1 -0
- package/dist/server/package.json +73 -79
- package/dist/server/requirements.txt +9 -14
- package/dist/server/src/_camera_ui_tools/camera_ui_common/__init__.py +19 -11
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/__init__.py +23 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/object_path.py +35 -22
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/promise.py +41 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/reactive.py +17 -14
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/signal_handler.py +12 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/subscribed.py +15 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/task.py +9 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/thread.py +10 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/utils.py +21 -13
- package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/__init__.py +8 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/logger.py +237 -99
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/__init__.py +77 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/channel.py +321 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/chunking.py +290 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +1694 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/codec.py +73 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/decorators.py +307 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/errors.py +76 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/executor.py +29 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/handler.py +523 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/service.py +524 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/svcm.py +15 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +427 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/utils.py +332 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +515 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +173 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +256 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +135 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +432 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/enums.py +111 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/events.py +146 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +21 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/streaming.py +188 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/__init__.py +92 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +46 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_enums.py +9 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_wire.py +15 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/event_emitter.py +102 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/manager_rpc.py +27 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +89 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_triggers.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/shared_utils.py +73 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/streaming_internal.py +16 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +348 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/observable/__init__.py +557 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +104 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/api.py +137 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +164 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +242 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +427 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +142 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/oauth.py +150 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +203 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/audio.py +241 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +551 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/battery.py +167 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/classifier.py +196 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/clip.py +67 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/contact.py +88 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +60 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/doorbell.py +122 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +184 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/garage.py +174 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/humidity.py +79 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/leak.py +88 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/license_plate.py +186 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/light.py +157 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/lock.py +149 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/motion.py +203 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +210 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/occupancy.py +88 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/ptz.py +256 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/security_system.py +157 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/siren.py +150 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/smoke.py +88 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/spec.py +56 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/switch.py +107 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/temperature.py +80 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/storage/__init__.py +695 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/types.py +54 -0
- package/dist/server/src/api/controllers/api.controller.d.ts +2 -2
- package/dist/server/src/api/controllers/api.controller.js +3 -3
- package/dist/server/src/api/controllers/api.controller.js.map +1 -1
- package/dist/server/src/api/controllers/auth.controller.d.ts +20 -5
- package/dist/server/src/api/controllers/auth.controller.js +418 -134
- package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
- package/dist/server/src/api/controllers/automations.controller.d.ts +17 -0
- package/dist/server/src/api/controllers/automations.controller.js +146 -0
- package/dist/server/src/api/controllers/automations.controller.js.map +1 -0
- package/dist/server/src/api/controllers/backup.controller.js +0 -1
- package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
- package/dist/server/src/api/controllers/cameras.controller.d.ts +14 -5
- package/dist/server/src/api/controllers/cameras.controller.js +490 -69
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/config.controller.d.ts +2 -2
- package/dist/server/src/api/controllers/config.controller.js +2 -2
- package/dist/server/src/api/controllers/config.controller.js.map +1 -1
- package/dist/server/src/api/controllers/download.controller.d.ts +7 -0
- package/dist/server/src/api/controllers/download.controller.js +12 -0
- package/dist/server/src/api/controllers/download.controller.js.map +1 -0
- package/dist/server/src/api/controllers/files.controller.js.map +1 -1
- package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
- package/dist/server/src/api/controllers/frameWorkers.controller.js +1 -1
- package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
- package/dist/server/src/api/controllers/instances.controller.d.ts +15 -0
- package/dist/server/src/api/controllers/instances.controller.js +100 -0
- package/dist/server/src/api/controllers/instances.controller.js.map +1 -0
- package/dist/server/src/api/controllers/notifications.controller.d.ts +15 -0
- package/dist/server/src/api/controllers/notifications.controller.js +121 -0
- package/dist/server/src/api/controllers/notifications.controller.js.map +1 -0
- package/dist/server/src/api/controllers/oauthCallback.controller.d.ts +15 -0
- package/dist/server/src/api/controllers/oauthCallback.controller.js +53 -0
- package/dist/server/src/api/controllers/oauthCallback.controller.js.map +1 -0
- package/dist/server/src/api/controllers/plugins.controller.d.ts +5 -9
- package/dist/server/src/api/controllers/plugins.controller.js +129 -246
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/remote.controller.d.ts +27 -0
- package/dist/server/src/api/controllers/remote.controller.js +247 -0
- package/dist/server/src/api/controllers/remote.controller.js.map +1 -0
- package/dist/server/src/api/controllers/server.controller.d.ts +24 -0
- package/dist/server/src/api/controllers/server.controller.js +236 -0
- package/dist/server/src/api/controllers/server.controller.js.map +1 -0
- package/dist/server/src/api/controllers/shares.controller.d.ts +12 -0
- package/dist/server/src/api/controllers/shares.controller.js +121 -0
- package/dist/server/src/api/controllers/shares.controller.js.map +1 -0
- package/dist/server/src/api/controllers/tunnel.controller.d.ts +9 -0
- package/dist/server/src/api/controllers/tunnel.controller.js +39 -0
- package/dist/server/src/api/controllers/tunnel.controller.js.map +1 -0
- package/dist/server/src/api/controllers/users.controller.d.ts +2 -2
- package/dist/server/src/api/controllers/users.controller.js +11 -2
- package/dist/server/src/api/controllers/users.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +14 -0
- package/dist/server/src/api/controllers/workers.controller.js +69 -0
- package/dist/server/src/api/controllers/workers.controller.js.map +1 -0
- package/dist/server/src/api/database/checks.js +2 -2
- package/dist/server/src/api/database/checks.js.map +1 -1
- package/dist/server/src/api/database/constants.d.ts +10 -1
- package/dist/server/src/api/database/constants.js +10 -1
- package/dist/server/src/api/database/constants.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +24 -12
- package/dist/server/src/api/database/index.js +182 -126
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migration.d.ts +4 -13
- package/dist/server/src/api/database/migration.js +20 -80
- package/dist/server/src/api/database/migration.js.map +1 -1
- package/dist/server/src/api/database/migrations/index.d.ts +2 -0
- package/dist/server/src/api/database/migrations/index.js +24 -0
- package/dist/server/src/api/database/migrations/index.js.map +1 -0
- package/dist/server/src/api/database/migrations/types.d.ts +13 -0
- package/dist/server/src/api/database/migrations/types.js.map +1 -0
- package/dist/server/src/api/database/selfcheck.js +3 -0
- package/dist/server/src/api/database/selfcheck.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +173 -28
- package/dist/server/src/api/index.d.ts +8 -2
- package/dist/server/src/api/index.js +122 -43
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +4 -4
- package/dist/server/src/api/middlewares/authPermission.middleware.js +8 -8
- package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
- package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +5 -2
- package/dist/server/src/api/middlewares/authValidation.middleware.js +75 -114
- package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
- package/dist/server/src/api/middlewares/pagination.middleware.d.ts +1 -1
- package/dist/server/src/api/middlewares/pagination.middleware.js +2 -2
- package/dist/server/src/api/middlewares/pagination.middleware.js.map +1 -1
- package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +2 -2
- package/dist/server/src/api/middlewares/socketAuth.middleware.js +5 -4
- package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +1 -1
- package/dist/server/src/api/plugins/header.plugin.js +1 -1
- package/dist/server/src/api/plugins/header.plugin.js.map +1 -1
- package/dist/server/src/api/plugins/logger.plugin.js +13 -10
- package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
- package/dist/server/src/api/plugins/proxy.plugin.js +76 -105
- package/dist/server/src/api/plugins/proxy.plugin.js.map +1 -1
- package/dist/server/src/api/plugins/system.plugin.js.map +1 -1
- package/dist/server/src/api/plugins/useragent.plugin.d.ts +2 -2
- package/dist/server/src/api/plugins/useragent.plugin.js +2 -2
- package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -1
- package/dist/server/src/api/routes/api.routes.js +18 -2
- package/dist/server/src/api/routes/api.routes.js.map +1 -1
- package/dist/server/src/api/routes/auth.routes.js +131 -9
- package/dist/server/src/api/routes/auth.routes.js.map +1 -1
- package/dist/server/src/api/routes/automations.routes.d.ts +2 -0
- package/dist/server/src/api/routes/automations.routes.js +128 -0
- package/dist/server/src/api/routes/automations.routes.js.map +1 -0
- package/dist/server/src/api/routes/backup.routes.js +6 -0
- package/dist/server/src/api/routes/backup.routes.js.map +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +346 -33
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/config.routes.js +26 -4
- package/dist/server/src/api/routes/config.routes.js.map +1 -1
- package/dist/server/src/api/routes/download.routes.d.ts +2 -0
- package/dist/server/src/api/routes/download.routes.js +16 -0
- package/dist/server/src/api/routes/download.routes.js.map +1 -0
- package/dist/server/src/api/routes/files.routes.js +7 -1
- package/dist/server/src/api/routes/files.routes.js.map +1 -1
- package/dist/server/src/api/routes/frameWorkers.routes.js +26 -4
- package/dist/server/src/api/routes/frameWorkers.routes.js.map +1 -1
- package/dist/server/src/api/routes/index.d.ts +1 -0
- package/dist/server/src/api/routes/index.js +23 -3
- package/dist/server/src/api/routes/index.js.map +1 -1
- package/dist/server/src/api/routes/instances.routes.d.ts +2 -0
- package/dist/server/src/api/routes/instances.routes.js +105 -0
- package/dist/server/src/api/routes/instances.routes.js.map +1 -0
- package/dist/server/src/api/routes/notifications.routes.d.ts +2 -0
- package/dist/server/src/api/routes/notifications.routes.js +102 -0
- package/dist/server/src/api/routes/notifications.routes.js.map +1 -0
- package/dist/server/src/api/routes/oauthCallback.routes.d.ts +2 -0
- package/dist/server/src/api/routes/oauthCallback.routes.js +17 -0
- package/dist/server/src/api/routes/oauthCallback.routes.js.map +1 -0
- package/dist/server/src/api/routes/plugins.routes.js +259 -95
- package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
- package/dist/server/src/api/routes/remote.routes.d.ts +2 -0
- package/dist/server/src/api/routes/remote.routes.js +164 -0
- package/dist/server/src/api/routes/remote.routes.js.map +1 -0
- package/dist/server/src/api/routes/server.routes.d.ts +2 -0
- package/dist/server/src/api/routes/server.routes.js +130 -0
- package/dist/server/src/api/routes/server.routes.js.map +1 -0
- package/dist/server/src/api/routes/shares.routes.d.ts +2 -0
- package/dist/server/src/api/routes/shares.routes.js +71 -0
- package/dist/server/src/api/routes/shares.routes.js.map +1 -0
- package/dist/server/src/api/routes/tunnel.routes.d.ts +2 -0
- package/dist/server/src/api/routes/tunnel.routes.js +14 -0
- package/dist/server/src/api/routes/tunnel.routes.js.map +1 -0
- package/dist/server/src/api/routes/users.routes.js +92 -12
- package/dist/server/src/api/routes/users.routes.js.map +1 -1
- package/dist/server/src/api/routes/workers.routes.d.ts +2 -0
- package/dist/server/src/api/routes/workers.routes.js +71 -0
- package/dist/server/src/api/routes/workers.routes.js.map +1 -0
- package/dist/server/src/api/schemas/auth.schema.d.ts +35 -0
- package/dist/server/src/api/schemas/auth.schema.js +37 -0
- package/dist/server/src/api/schemas/auth.schema.js.map +1 -0
- package/dist/server/src/api/schemas/automations.schema.d.ts +151 -0
- package/dist/server/src/api/schemas/automations.schema.js +84 -0
- package/dist/server/src/api/schemas/automations.schema.js.map +1 -0
- package/dist/server/src/api/schemas/backup.schema.d.ts +15 -190
- package/dist/server/src/api/schemas/backup.schema.js +5 -23
- package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +1062 -1647
- package/dist/server/src/api/schemas/cameras.schema.js +218 -49
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/common.schema.d.ts +7 -0
- package/dist/server/src/api/schemas/common.schema.js +7 -0
- package/dist/server/src/api/schemas/common.schema.js.map +1 -0
- package/dist/server/src/api/schemas/config.schema.d.ts +41 -79
- package/dist/server/src/api/schemas/config.schema.js +19 -1
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/api/schemas/download.schema.d.ts +5 -0
- package/dist/server/src/api/schemas/download.schema.js +5 -0
- package/dist/server/src/api/schemas/download.schema.js.map +1 -0
- package/dist/server/src/api/schemas/files.schema.d.ts +5 -0
- package/dist/server/src/api/schemas/files.schema.js +5 -0
- package/dist/server/src/api/schemas/files.schema.js.map +1 -0
- package/dist/server/src/api/schemas/frameWorkers.schema.d.ts +5 -0
- package/dist/server/src/api/schemas/frameWorkers.schema.js +5 -0
- package/dist/server/src/api/schemas/frameWorkers.schema.js.map +1 -0
- package/dist/server/src/api/schemas/go2rtc.schema.d.ts +90 -640
- package/dist/server/src/api/schemas/go2rtc.schema.js +1 -16
- package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -1
- package/dist/server/src/api/schemas/instances.schema.d.ts +23 -0
- package/dist/server/src/api/schemas/instances.schema.js +24 -0
- package/dist/server/src/api/schemas/instances.schema.js.map +1 -0
- package/dist/server/src/api/schemas/notifications.schema.d.ts +26 -0
- package/dist/server/src/api/schemas/notifications.schema.js +25 -0
- package/dist/server/src/api/schemas/notifications.schema.js.map +1 -0
- package/dist/server/src/api/schemas/oauthCallback.schema.d.ts +11 -0
- package/dist/server/src/api/schemas/oauthCallback.schema.js +10 -0
- package/dist/server/src/api/schemas/oauthCallback.schema.js.map +1 -0
- package/dist/server/src/api/schemas/plugins.schema.d.ts +62 -59
- package/dist/server/src/api/schemas/plugins.schema.js +54 -81
- package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
- package/dist/server/src/api/schemas/remote.schema.d.ts +44 -0
- package/dist/server/src/api/schemas/remote.schema.js +80 -0
- package/dist/server/src/api/schemas/remote.schema.js.map +1 -0
- package/dist/server/src/api/schemas/server.schema.d.ts +9 -0
- package/dist/server/src/api/schemas/server.schema.js +12 -0
- package/dist/server/src/api/schemas/server.schema.js.map +1 -0
- package/dist/server/src/api/schemas/shares.schema.d.ts +21 -0
- package/dist/server/src/api/schemas/shares.schema.js +22 -0
- package/dist/server/src/api/schemas/shares.schema.js.map +1 -0
- package/dist/server/src/api/schemas/storage.schema.d.ts +5 -15
- package/dist/server/src/api/schemas/users.schema.d.ts +294 -786
- package/dist/server/src/api/schemas/users.schema.js +76 -39
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/schemas/workers.schema.d.ts +14 -0
- package/dist/server/src/api/schemas/workers.schema.js +12 -0
- package/dist/server/src/api/schemas/workers.schema.js.map +1 -0
- package/dist/server/src/api/services/auth.service.d.ts +27 -17
- package/dist/server/src/api/services/auth.service.js +106 -134
- package/dist/server/src/api/services/auth.service.js.map +1 -1
- package/dist/server/src/api/services/automations.service.d.ts +24 -0
- package/dist/server/src/api/services/automations.service.js +157 -0
- package/dist/server/src/api/services/automations.service.js.map +1 -0
- package/dist/server/src/api/services/backup.service.js +0 -5
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +28 -15
- package/dist/server/src/api/services/cameras.service.js +532 -305
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/downloads.service.d.ts +9 -0
- package/dist/server/src/api/services/downloads.service.js +20 -0
- package/dist/server/src/api/services/downloads.service.js.map +1 -0
- package/dist/server/src/api/services/instances.service.d.ts +52 -0
- package/dist/server/src/api/services/instances.service.js +344 -0
- package/dist/server/src/api/services/instances.service.js.map +1 -0
- package/dist/server/src/api/services/notifications.service.d.ts +21 -0
- package/dist/server/src/api/services/notifications.service.js +48 -0
- package/dist/server/src/api/services/notifications.service.js.map +1 -0
- package/dist/server/src/api/services/plugins.service.js +31 -35
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/remote.service.d.ts +35 -0
- package/dist/server/src/api/services/remote.service.js +207 -0
- package/dist/server/src/api/services/remote.service.js.map +1 -0
- package/dist/server/src/api/services/server.service.d.ts +15 -0
- package/dist/server/src/api/services/server.service.js +75 -0
- package/dist/server/src/api/services/server.service.js.map +1 -0
- package/dist/server/src/api/services/shares.service.d.ts +46 -0
- package/dist/server/src/api/services/shares.service.js +233 -0
- package/dist/server/src/api/services/shares.service.js.map +1 -0
- package/dist/server/src/api/services/twoFactor.service.d.ts +22 -0
- package/dist/server/src/api/services/twoFactor.service.js +81 -0
- package/dist/server/src/api/services/twoFactor.service.js.map +1 -0
- package/dist/server/src/api/services/users.service.d.ts +9 -5
- package/dist/server/src/api/services/users.service.js +157 -121
- package/dist/server/src/api/services/users.service.js.map +1 -1
- package/dist/server/src/api/services/workers.service.d.ts +5 -0
- package/dist/server/src/api/services/workers.service.js +19 -0
- package/dist/server/src/api/services/workers.service.js.map +1 -0
- package/dist/server/src/api/types/index.d.ts +350 -133
- package/dist/server/src/api/types/index.js +5 -4
- package/dist/server/src/api/types/index.js.map +1 -1
- package/dist/server/src/api/utils/cert.js +1 -1
- package/dist/server/src/api/utils/cert.js.map +1 -1
- package/dist/server/src/api/utils/encryption.d.ts +5 -0
- package/dist/server/src/api/utils/encryption.js +25 -0
- package/dist/server/src/api/utils/encryption.js.map +1 -0
- package/dist/server/src/api/utils/plugin.d.ts +4 -0
- package/dist/server/src/api/utils/plugin.js +8 -0
- package/dist/server/src/api/utils/plugin.js.map +1 -0
- package/dist/server/src/api/utils/regex.d.ts +3 -0
- package/dist/server/src/api/utils/regex.js +4 -0
- package/dist/server/src/api/utils/regex.js.map +1 -0
- package/dist/server/src/api/utils/upload.d.ts +3 -0
- package/dist/server/src/api/utils/upload.js +23 -0
- package/dist/server/src/api/utils/upload.js.map +1 -0
- package/dist/server/src/api/websocket/index.js +18 -16
- package/dist/server/src/api/websocket/index.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/cameras.d.ts +21 -0
- package/dist/server/src/api/websocket/nsp/cameras.js +152 -0
- package/dist/server/src/api/websocket/nsp/cameras.js.map +1 -0
- package/dist/server/src/api/websocket/nsp/logs.d.ts +1 -1
- package/dist/server/src/api/websocket/nsp/logs.js +65 -52
- package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/main.d.ts +4 -1
- package/dist/server/src/api/websocket/nsp/main.js +29 -1
- package/dist/server/src/api/websocket/nsp/main.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/metrics.js +4 -4
- package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/notifications.d.ts +3 -3
- package/dist/server/src/api/websocket/nsp/notifications.js +10 -11
- package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/server.d.ts +4 -4
- package/dist/server/src/api/websocket/nsp/server.js +48 -27
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/status.d.ts +3 -3
- package/dist/server/src/api/websocket/nsp/status.js +3 -3
- package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/workers.d.ts +17 -0
- package/dist/server/src/api/websocket/nsp/workers.js +46 -0
- package/dist/server/src/api/websocket/nsp/workers.js.map +1 -0
- package/dist/server/src/api/websocket/types.d.ts +2 -1
- package/dist/server/src/api.d.ts +11 -16
- package/dist/server/src/api.js +62 -48
- package/dist/server/src/api.js.map +1 -1
- package/dist/server/src/automations/actions/cameraControl.d.ts +2 -0
- package/dist/server/src/automations/actions/cameraControl.js +35 -0
- package/dist/server/src/automations/actions/cameraControl.js.map +1 -0
- package/dist/server/src/automations/actions/delay.d.ts +2 -0
- package/dist/server/src/automations/actions/delay.js +8 -0
- package/dist/server/src/automations/actions/delay.js.map +1 -0
- package/dist/server/src/automations/actions/http.d.ts +2 -0
- package/dist/server/src/automations/actions/http.js +44 -0
- package/dist/server/src/automations/actions/http.js.map +1 -0
- package/dist/server/src/automations/actions/index.d.ts +4 -0
- package/dist/server/src/automations/actions/index.js +20 -0
- package/dist/server/src/automations/actions/index.js.map +1 -0
- package/dist/server/src/automations/actions/notification.d.ts +2 -0
- package/dist/server/src/automations/actions/notification.js +76 -0
- package/dist/server/src/automations/actions/notification.js.map +1 -0
- package/dist/server/src/automations/actions/plugin.d.ts +3 -0
- package/dist/server/src/automations/actions/plugin.js +73 -0
- package/dist/server/src/automations/actions/plugin.js.map +1 -0
- package/dist/server/src/automations/actions/sensor.d.ts +2 -0
- package/dist/server/src/automations/actions/sensor.js +17 -0
- package/dist/server/src/automations/actions/sensor.js.map +1 -0
- package/dist/server/src/automations/actions/snapshot.d.ts +2 -0
- package/dist/server/src/automations/actions/snapshot.js +20 -0
- package/dist/server/src/automations/actions/snapshot.js.map +1 -0
- package/dist/server/src/automations/actions/types.d.ts +14 -0
- package/dist/server/src/automations/actions/types.js.map +1 -0
- package/dist/server/src/automations/actions/variable.d.ts +2 -0
- package/dist/server/src/automations/actions/variable.js +17 -0
- package/dist/server/src/automations/actions/variable.js.map +1 -0
- package/dist/server/src/automations/conditions/ifelse.d.ts +3 -0
- package/dist/server/src/automations/conditions/ifelse.js +39 -0
- package/dist/server/src/automations/conditions/ifelse.js.map +1 -0
- package/dist/server/src/automations/conditions/index.d.ts +4 -0
- package/dist/server/src/automations/conditions/index.js +20 -0
- package/dist/server/src/automations/conditions/index.js.map +1 -0
- package/dist/server/src/automations/conditions/sensorState.d.ts +3 -0
- package/dist/server/src/automations/conditions/sensorState.js +21 -0
- package/dist/server/src/automations/conditions/sensorState.js.map +1 -0
- package/dist/server/src/automations/conditions/switch.d.ts +3 -0
- package/dist/server/src/automations/conditions/switch.js +9 -0
- package/dist/server/src/automations/conditions/switch.js.map +1 -0
- package/dist/server/src/automations/conditions/time.d.ts +3 -0
- package/dist/server/src/automations/conditions/time.js +24 -0
- package/dist/server/src/automations/conditions/time.js.map +1 -0
- package/dist/server/src/automations/conditions/types.d.ts +7 -0
- package/dist/server/src/automations/conditions/types.js.map +1 -0
- package/dist/server/src/automations/context.d.ts +48 -0
- package/dist/server/src/automations/context.js +146 -0
- package/dist/server/src/automations/context.js.map +1 -0
- package/dist/server/src/automations/engine.d.ts +35 -0
- package/dist/server/src/automations/engine.js +321 -0
- package/dist/server/src/automations/engine.js.map +1 -0
- package/dist/server/src/automations/haversine.d.ts +1 -0
- package/dist/server/src/automations/haversine.js +9 -0
- package/dist/server/src/automations/haversine.js.map +1 -0
- package/dist/server/src/automations/parseValue.d.ts +1 -0
- package/dist/server/src/automations/parseValue.js +11 -0
- package/dist/server/src/automations/parseValue.js.map +1 -0
- package/dist/server/src/automations/pluginMethodRegistry.d.ts +37 -0
- package/dist/server/src/automations/pluginMethodRegistry.js +162 -0
- package/dist/server/src/automations/pluginMethodRegistry.js.map +1 -0
- package/dist/server/src/automations/runner.d.ts +23 -0
- package/dist/server/src/automations/runner.js +166 -0
- package/dist/server/src/automations/runner.js.map +1 -0
- package/dist/server/src/automations/triggers/detection.d.ts +3 -0
- package/dist/server/src/automations/triggers/detection.js +102 -0
- package/dist/server/src/automations/triggers/detection.js.map +1 -0
- package/dist/server/src/automations/triggers/geofence.d.ts +13 -0
- package/dist/server/src/automations/triggers/geofence.js +8 -0
- package/dist/server/src/automations/triggers/geofence.js.map +1 -0
- package/dist/server/src/automations/triggers/index.d.ts +9 -0
- package/dist/server/src/automations/triggers/index.js +7 -0
- package/dist/server/src/automations/triggers/index.js.map +1 -0
- package/dist/server/src/automations/triggers/schedule.d.ts +3 -0
- package/dist/server/src/automations/triggers/schedule.js +54 -0
- package/dist/server/src/automations/triggers/schedule.js.map +1 -0
- package/dist/server/src/automations/triggers/sensor.d.ts +3 -0
- package/dist/server/src/automations/triggers/sensor.js +44 -0
- package/dist/server/src/automations/triggers/sensor.js.map +1 -0
- package/dist/server/src/automations/triggers/system.d.ts +3 -0
- package/dist/server/src/automations/triggers/system.js +31 -0
- package/dist/server/src/automations/triggers/system.js.map +1 -0
- package/dist/server/src/automations/triggers/types.d.ts +12 -0
- package/dist/server/src/automations/triggers/types.js.map +1 -0
- package/dist/server/src/automations/triggers/webhook.d.ts +7 -0
- package/dist/server/src/automations/triggers/webhook.js +8 -0
- package/dist/server/src/automations/triggers/webhook.js.map +1 -0
- package/dist/server/src/automations/utilities/imageInput.d.ts +2 -0
- package/dist/server/src/automations/utilities/imageInput.js +139 -0
- package/dist/server/src/automations/utilities/imageInput.js.map +1 -0
- package/dist/server/src/automations/utilities/index.d.ts +2 -0
- package/dist/server/src/automations/utilities/index.js +7 -0
- package/dist/server/src/automations/utilities/index.js.map +1 -0
- package/dist/server/src/automations/utilities/output.d.ts +2 -0
- package/dist/server/src/automations/utilities/output.js +10 -0
- package/dist/server/src/automations/utilities/output.js.map +1 -0
- package/dist/server/src/camera/controller.d.ts +56 -45
- package/dist/server/src/camera/controller.js +468 -326
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/audio-source.d.ts +34 -0
- package/dist/server/src/camera/decoder/audio-source.js +170 -0
- package/dist/server/src/camera/decoder/audio-source.js.map +1 -0
- package/dist/server/src/camera/decoder/cascade-manager.d.ts +22 -0
- package/dist/server/src/camera/decoder/cascade-manager.js +82 -0
- package/dist/server/src/camera/decoder/cascade-manager.js.map +1 -0
- package/dist/server/src/camera/decoder/child.d.ts +28 -0
- package/dist/server/src/camera/decoder/child.js +187 -0
- package/dist/server/src/camera/decoder/child.js.map +1 -0
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +142 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js +1844 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -0
- package/dist/server/src/camera/decoder/detection-pipeline.d.ts +41 -0
- package/dist/server/src/camera/decoder/detection-pipeline.js +216 -0
- package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -0
- package/dist/server/src/camera/decoder/dwell-manager.d.ts +23 -0
- package/dist/server/src/camera/decoder/dwell-manager.js +82 -0
- package/dist/server/src/camera/decoder/dwell-manager.js.map +1 -0
- package/dist/server/src/camera/decoder/event-manager.d.ts +97 -0
- package/dist/server/src/camera/decoder/event-manager.js +674 -0
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -0
- package/dist/server/src/camera/decoder/frame-scaler.d.ts +53 -0
- package/dist/server/src/camera/decoder/frame-scaler.js +136 -0
- package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -0
- package/dist/server/src/camera/decoder/frame-source.d.ts +54 -0
- package/dist/server/src/camera/decoder/frame-source.js +341 -0
- package/dist/server/src/camera/decoder/frame-source.js.map +1 -0
- package/dist/server/src/camera/decoder/ptz-autotracker.d.ts +57 -0
- package/dist/server/src/camera/decoder/ptz-autotracker.js +369 -0
- package/dist/server/src/camera/decoder/ptz-autotracker.js.map +1 -0
- package/dist/server/src/camera/decoder/types.d.ts +7 -0
- package/dist/server/src/camera/decoder/types.js +6 -0
- package/dist/server/src/camera/decoder/types.js.map +1 -0
- package/dist/server/src/camera/decoder/worker.d.ts +48 -0
- package/dist/server/src/camera/decoder/worker.js +465 -0
- package/dist/server/src/camera/decoder/worker.js.map +1 -0
- package/dist/server/src/camera/index.d.ts +43 -59
- package/dist/server/src/camera/index.js +72 -438
- package/dist/server/src/camera/index.js.map +1 -1
- package/dist/server/src/camera/sensors/controller.d.ts +96 -0
- package/dist/server/src/camera/sensors/controller.js +517 -0
- package/dist/server/src/camera/sensors/controller.js.map +1 -0
- package/dist/server/src/camera/sensors/sensor.d.ts +34 -0
- package/dist/server/src/camera/sensors/sensor.js +176 -0
- package/dist/server/src/camera/sensors/sensor.js.map +1 -0
- package/dist/server/src/camera/sensors/types.d.ts +27 -0
- package/dist/server/src/camera/sensors/types.js +225 -0
- package/dist/server/src/camera/sensors/types.js.map +1 -0
- package/dist/server/src/camera/streaming/fmp4-session.d.ts +10 -12
- package/dist/server/src/camera/streaming/fmp4-session.js +162 -268
- package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
- package/dist/server/src/camera/streaming/rtp-session.d.ts +19 -0
- package/dist/server/src/camera/streaming/rtp-session.js +363 -0
- package/dist/server/src/camera/streaming/rtp-session.js.map +1 -0
- package/dist/server/src/camera/utils/filter.d.ts +6 -0
- package/dist/server/src/camera/utils/filter.js +83 -0
- package/dist/server/src/camera/utils/filter.js.map +1 -0
- package/dist/server/src/camera/utils.d.ts +2 -7
- package/dist/server/src/camera/utils.js +53 -194
- package/dist/server/src/camera/utils.js.map +1 -1
- package/dist/server/src/go2rtc/api/index.d.ts +16 -0
- package/dist/server/src/go2rtc/api/index.js +33 -0
- package/dist/server/src/go2rtc/api/index.js.map +1 -0
- package/dist/server/src/go2rtc/api/instance.d.ts +7 -0
- package/dist/server/src/go2rtc/api/instance.js +49 -0
- package/dist/server/src/go2rtc/api/instance.js.map +1 -0
- package/dist/server/src/go2rtc/api/manager.d.ts +11 -0
- package/dist/server/src/go2rtc/api/manager.js +38 -0
- package/dist/server/src/go2rtc/api/manager.js.map +1 -0
- package/dist/server/src/go2rtc/api/routes/application.d.ts +9 -0
- package/dist/server/src/go2rtc/api/routes/application.js +40 -0
- package/dist/server/src/go2rtc/api/routes/application.js.map +1 -0
- package/dist/server/src/go2rtc/api/routes/config.d.ts +8 -0
- package/dist/server/src/go2rtc/api/routes/config.js +42 -0
- package/dist/server/src/go2rtc/api/routes/config.js.map +1 -0
- package/dist/server/src/go2rtc/api/routes/discover.d.ts +30 -0
- package/dist/server/src/go2rtc/api/routes/discover.js +158 -0
- package/dist/server/src/go2rtc/api/routes/discover.js.map +1 -0
- package/dist/server/src/go2rtc/api/routes/snapshot.d.ts +8 -0
- package/dist/server/src/go2rtc/api/routes/snapshot.js +34 -0
- package/dist/server/src/go2rtc/api/routes/snapshot.js.map +1 -0
- package/dist/server/src/go2rtc/api/routes/streams.d.ts +18 -0
- package/dist/server/src/go2rtc/api/routes/streams.js +161 -0
- package/dist/server/src/go2rtc/api/routes/streams.js.map +1 -0
- package/dist/server/src/go2rtc/index.d.ts +7 -2
- package/dist/server/src/go2rtc/index.js +52 -30
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/go2rtc/types.d.ts +167 -1
- package/dist/server/src/go2rtc/types.js +3 -0
- package/dist/server/src/go2rtc/types.js.map +1 -1
- package/dist/server/src/internal-bus.d.ts +41 -0
- package/dist/server/src/internal-bus.js +19 -0
- package/dist/server/src/internal-bus.js.map +1 -0
- package/dist/server/src/main.d.ts +8 -2
- package/dist/server/src/main.js +110 -21
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/coreManager.d.ts +12 -9
- package/dist/server/src/manager/coreManager.js +45 -48
- package/dist/server/src/manager/coreManager.js.map +1 -1
- package/dist/server/src/manager/deviceManager.d.ts +10 -8
- package/dist/server/src/manager/deviceManager.js +31 -96
- package/dist/server/src/manager/deviceManager.js.map +1 -1
- package/dist/server/src/manager/discoveryManager.d.ts +73 -0
- package/dist/server/src/manager/discoveryManager.js +800 -0
- package/dist/server/src/manager/discoveryManager.js.map +1 -0
- package/dist/server/src/manager/downloadManager.d.ts +27 -0
- package/dist/server/src/manager/downloadManager.js +353 -0
- package/dist/server/src/manager/downloadManager.js.map +1 -0
- package/dist/server/src/manager/notificationManager.d.ts +37 -0
- package/dist/server/src/manager/notificationManager.js +334 -0
- package/dist/server/src/manager/notificationManager.js.map +1 -0
- package/dist/server/src/manager/terminalManager.d.ts +27 -0
- package/dist/server/src/manager/terminalManager.js +239 -0
- package/dist/server/src/manager/terminalManager.js.map +1 -0
- package/dist/server/src/manager/types.d.ts +39 -14
- package/dist/server/src/manager/types.js +12 -1
- package/dist/server/src/manager/types.js.map +1 -1
- package/dist/server/src/plugins/index.d.ts +9 -6
- package/dist/server/src/plugins/index.js +69 -52
- package/dist/server/src/plugins/index.js.map +1 -1
- package/dist/server/src/plugins/plugin.d.ts +16 -16
- package/dist/server/src/plugins/plugin.js +42 -36
- package/dist/server/src/plugins/plugin.js.map +1 -1
- package/dist/server/src/plugins/runtime/base.d.ts +5 -14
- package/dist/server/src/plugins/runtime/base.js +39 -111
- package/dist/server/src/plugins/runtime/base.js.map +1 -1
- package/dist/server/src/plugins/runtime/go/index.d.ts +7 -0
- package/dist/server/src/plugins/runtime/go/index.js +110 -0
- package/dist/server/src/plugins/runtime/go/index.js.map +1 -0
- package/dist/server/src/plugins/runtime/index.js +5 -1
- package/dist/server/src/plugins/runtime/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/child.d.ts +7 -6
- package/dist/server/src/plugins/runtime/node/child.js +70 -38
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/index.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/index.js +31 -5
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +9 -6
- package/dist/server/src/plugins/runtime/node/pluginApi.js +10 -4
- package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.d.ts +27 -15
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +312 -173
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.d.ts +7 -10
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +28 -43
- package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.d.ts +7 -11
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +40 -57
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/downloadManager.d.ts +9 -0
- package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js +22 -0
- package/dist/server/src/plugins/runtime/node/proxy/downloadManager.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/proxy/notificationManager.d.ts +7 -0
- package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js +20 -0
- package/dist/server/src/plugins/runtime/node/proxy/notificationManager.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/proxy/sensor.d.ts +45 -0
- package/dist/server/src/plugins/runtime/node/proxy/sensor.js +149 -0
- package/dist/server/src/plugins/runtime/node/proxy/sensor.js.map +1 -0
- package/dist/server/src/plugins/runtime/node/storage.d.ts +6 -11
- package/dist/server/src/plugins/runtime/node/storage.js +69 -46
- package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storageController.d.ts +10 -7
- package/dist/server/src/plugins/runtime/node/storageController.js +57 -17
- package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/camera/utils.py +105 -0
- package/dist/server/src/plugins/runtime/python/child.py +108 -68
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/namespaces.py +155 -60
- package/dist/server/src/plugins/runtime/python/plugin_api.py +72 -6
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +592 -1522
- package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +75 -76
- package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +81 -93
- package/dist/server/src/plugins/runtime/python/proxy/download_manager.py +33 -0
- package/dist/server/src/plugins/runtime/python/proxy/notification_manager.py +31 -0
- package/dist/server/src/plugins/runtime/python/proxy/sensor.py +169 -0
- package/dist/server/src/plugins/runtime/python/rpc/typings.py +56 -0
- package/dist/server/src/plugins/runtime/python/schema.py +54 -19
- package/dist/server/src/plugins/runtime/python/storage.py +84 -66
- package/dist/server/src/plugins/runtime/python/storage_controller.py +132 -38
- package/dist/server/src/plugins/runtime/python/typings.py +78 -152
- package/dist/server/src/plugins/schema.d.ts +27 -26
- package/dist/server/src/plugins/schema.js +183 -103
- package/dist/server/src/plugins/schema.js.map +1 -1
- package/dist/server/src/plugins/types.d.ts +2 -14
- package/dist/server/src/plugins/types.js +0 -1
- package/dist/server/src/plugins/types.js.map +1 -1
- package/dist/server/src/plugins/worker.d.ts +7 -7
- package/dist/server/src/plugins/worker.js +37 -26
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/remote/api/credentialStore.d.ts +18 -0
- package/dist/server/src/remote/api/credentialStore.js +101 -0
- package/dist/server/src/remote/api/credentialStore.js.map +1 -0
- package/dist/server/src/remote/api/index.d.ts +9 -0
- package/dist/server/src/remote/api/index.js +16 -0
- package/dist/server/src/remote/api/index.js.map +1 -0
- package/dist/server/src/remote/api/instance.d.ts +9 -0
- package/dist/server/src/remote/api/instance.js +44 -0
- package/dist/server/src/remote/api/instance.js.map +1 -0
- package/dist/server/src/remote/api/routes/oauth.d.ts +23 -0
- package/dist/server/src/remote/api/routes/oauth.js +79 -0
- package/dist/server/src/remote/api/routes/oauth.js.map +1 -0
- package/dist/server/src/remote/api/routes/server.d.ts +20 -0
- package/dist/server/src/remote/api/routes/server.js +58 -0
- package/dist/server/src/remote/api/routes/server.js.map +1 -0
- package/dist/server/src/remote/index.d.ts +25 -0
- package/dist/server/src/remote/index.js +70 -0
- package/dist/server/src/remote/index.js.map +1 -0
- package/dist/server/src/remote/push.d.ts +15 -0
- package/dist/server/src/remote/push.js +85 -0
- package/dist/server/src/remote/push.js.map +1 -0
- package/dist/server/src/remote/services/cloudflare-managed.d.ts +42 -0
- package/dist/server/src/remote/services/cloudflare-managed.js +284 -0
- package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -0
- package/dist/server/src/remote/services/cloudflare.d.ts +38 -0
- package/dist/server/src/remote/services/cloudflare.js +232 -0
- package/dist/server/src/remote/services/cloudflare.js.map +1 -0
- package/dist/server/src/remote/services/customDomain.d.ts +9 -0
- package/dist/server/src/remote/services/customDomain.js +40 -0
- package/dist/server/src/remote/services/customDomain.js.map +1 -0
- package/dist/server/src/remote/services/index.d.ts +43 -0
- package/dist/server/src/remote/services/index.js +285 -0
- package/dist/server/src/remote/services/index.js.map +1 -0
- package/dist/server/src/remote/services/upnp.js +2 -0
- package/dist/server/src/remote/services/upnp.js.map +1 -0
- package/dist/server/src/remote/tunnel/client.d.ts +38 -0
- package/dist/server/src/remote/tunnel/client.js +241 -0
- package/dist/server/src/remote/tunnel/client.js.map +1 -0
- package/dist/server/src/remote/tunnel/index.d.ts +15 -0
- package/dist/server/src/remote/tunnel/index.js +68 -0
- package/dist/server/src/remote/tunnel/index.js.map +1 -0
- package/dist/server/src/remote/types.d.ts +31 -0
- package/dist/server/src/remote/types.js +2 -0
- package/dist/server/src/remote/types.js.map +1 -0
- package/dist/server/src/rpc/index.d.ts +24 -25
- package/dist/server/src/rpc/index.js +93 -77
- package/dist/server/src/rpc/index.js.map +1 -1
- package/dist/server/src/rpc/interfaces/config.d.ts +74 -0
- package/dist/server/src/rpc/interfaces/config.js +2 -0
- package/dist/server/src/rpc/interfaces/config.js.map +1 -0
- package/dist/server/src/rpc/interfaces/core.d.ts +25 -0
- package/dist/server/src/rpc/interfaces/core.js +2 -0
- package/dist/server/src/rpc/interfaces/core.js.map +1 -0
- package/dist/server/src/rpc/interfaces/detection.d.ts +70 -0
- package/dist/server/src/rpc/interfaces/detection.js +2 -0
- package/dist/server/src/rpc/interfaces/detection.js.map +1 -0
- package/dist/server/src/rpc/interfaces/device.d.ts +62 -0
- package/dist/server/src/rpc/interfaces/device.js +2 -0
- package/dist/server/src/rpc/interfaces/device.js.map +1 -0
- package/dist/server/src/rpc/interfaces/discovery.d.ts +46 -0
- package/dist/server/src/rpc/interfaces/discovery.js +2 -0
- package/dist/server/src/rpc/interfaces/discovery.js.map +1 -0
- package/dist/server/src/rpc/interfaces/download.d.ts +22 -0
- package/dist/server/src/rpc/interfaces/download.js +2 -0
- package/dist/server/src/rpc/interfaces/download.js.map +1 -0
- package/dist/server/src/rpc/interfaces/frameworker.d.ts +12 -0
- package/dist/server/src/rpc/interfaces/frameworker.js +2 -0
- package/dist/server/src/rpc/interfaces/frameworker.js.map +1 -0
- package/dist/server/src/rpc/interfaces/notification.d.ts +6 -0
- package/dist/server/src/rpc/interfaces/notification.js +2 -0
- package/dist/server/src/rpc/interfaces/notification.js.map +1 -0
- package/dist/server/src/rpc/interfaces/sensor.d.ts +75 -0
- package/dist/server/src/rpc/interfaces/sensor.js +2 -0
- package/dist/server/src/rpc/interfaces/sensor.js.map +1 -0
- package/dist/server/src/rpc/interfaces/terminal.d.ts +34 -0
- package/dist/server/src/rpc/interfaces/terminal.js +2 -0
- package/dist/server/src/rpc/interfaces/terminal.js.map +1 -0
- package/dist/server/src/rpc/namespaces.d.ts +50 -2
- package/dist/server/src/rpc/namespaces.js +70 -4
- package/dist/server/src/rpc/namespaces.js.map +1 -1
- package/dist/server/src/rpc/server.d.ts +22 -3
- package/dist/server/src/rpc/server.js +110 -37
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/rpc/utils.d.ts +2 -1
- package/dist/server/src/rpc/utils.js +8 -0
- package/dist/server/src/rpc/utils.js.map +1 -1
- package/dist/server/src/services/config/constants.d.ts +7 -1
- package/dist/server/src/services/config/constants.js +17 -2
- package/dist/server/src/services/config/constants.js.map +1 -1
- package/dist/server/src/services/config/defaults.js +3 -3
- package/dist/server/src/services/config/defaults.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +6 -43
- package/dist/server/src/services/config/index.js +56 -108
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +14 -2
- package/dist/server/src/services/config/types.js.map +1 -1
- package/dist/server/src/services/logger/index.d.ts +13 -11
- package/dist/server/src/services/logger/index.js +47 -50
- package/dist/server/src/services/logger/index.js.map +1 -1
- package/dist/server/src/services/logger/logManager.d.ts +35 -0
- package/dist/server/src/services/logger/logManager.js +196 -0
- package/dist/server/src/services/logger/logManager.js.map +1 -0
- package/dist/server/src/services/logger/transports/fileTransport.d.ts +34 -0
- package/dist/server/src/services/logger/transports/fileTransport.js +152 -0
- package/dist/server/src/services/logger/transports/fileTransport.js.map +1 -0
- package/dist/server/src/services/logger/transports/index.d.ts +1 -0
- package/dist/server/src/services/logger/transports/index.js +2 -0
- package/dist/server/src/services/logger/transports/index.js.map +1 -0
- package/dist/server/src/types.d.ts +3 -0
- package/dist/server/src/utils/camera.d.ts +4 -0
- package/dist/server/src/utils/camera.js +79 -0
- package/dist/server/src/utils/camera.js.map +1 -0
- package/dist/server/src/utils/env.js +8 -0
- package/dist/server/src/utils/env.js.map +1 -0
- package/dist/server/src/utils/ipc.d.ts +1 -1
- package/dist/server/src/utils/ipc.js +2 -2
- package/dist/server/src/utils/ipc.js.map +1 -1
- package/dist/server/src/utils/path.js +3 -3
- package/dist/server/src/utils/path.js.map +1 -1
- package/dist/server/src/utils/pythonInstaller.d.ts +2 -1
- package/dist/server/src/utils/pythonInstaller.js +6 -6
- package/dist/server/src/utils/pythonInstaller.js.map +1 -1
- package/dist/server/src/workers/agent.d.ts +27 -0
- package/dist/server/src/workers/agent.js +161 -0
- package/dist/server/src/workers/agent.js.map +1 -0
- package/dist/server/src/workers/capabilities/frame-decoding.d.ts +24 -0
- package/dist/server/src/workers/capabilities/frame-decoding.js +180 -0
- package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -0
- package/dist/server/src/workers/capabilities/handler.d.ts +8 -0
- package/dist/server/src/workers/capabilities/handler.js +2 -0
- package/dist/server/src/workers/capabilities/handler.js.map +1 -0
- package/dist/server/src/workers/manager.d.ts +31 -0
- package/dist/server/src/workers/manager.js +260 -0
- package/dist/server/src/workers/manager.js.map +1 -0
- package/dist/server/src/workers/types.d.ts +59 -0
- package/dist/server/src/workers/types.js +5 -0
- package/dist/server/src/workers/types.js.map +1 -0
- package/package.json +73 -79
- package/dist/interface/assets/@xterm.DYP7pi_n.0.0.69.css +0 -32
- package/dist/interface/assets/Adminpanel.BKek2EMH.0.0.69.css +0 -1
- package/dist/interface/assets/Cameras.BDWZJqPN.0.0.69.css +0 -1
- package/dist/interface/assets/Camview.Cvhuou6V.0.0.69.css +0 -1
- package/dist/interface/assets/CuiConsole.DCYyxdVg.0.0.69.css +0 -1
- package/dist/interface/assets/CuiPluginCard.yF8V0SZY.0.0.69.css +0 -1
- package/dist/interface/assets/CuiTimeline.BkIwlYtw.0.0.69.css +0 -1
- package/dist/interface/assets/Plugin.DJElsAn5.0.0.69.css +0 -1
- package/dist/interface/assets/Plugins.BwPlcRrV.0.0.69.css +0 -1
- package/dist/interface/assets/Settings.CkgfRkQr.0.0.69.css +0 -1
- package/dist/interface/assets/SettingsAccount.CDZT7gN-.0.0.69.css +0 -1
- package/dist/interface/assets/highlight.Ch2EwETz.0.0.69.css +0 -1
- package/dist/interface/assets/main.BmO7mnW4.0.0.69.css +0 -1
- package/dist/interface/assets/worker-base.jEXLGV2h.0.0.69.js +0 -1332
- package/dist/interface/assets/worker-yaml.B3uUYINB.0.0.69.js +0 -5819
- package/dist/interface/js/@babel.l0sNRNKZ.0.0.69.js +0 -1
- package/dist/interface/js/@intlify.6ljJeWIl.0.0.69.js +0 -15
- package/dist/interface/js/@kurkle.D8fDXNIl.0.0.69.js +0 -6
- package/dist/interface/js/@primeuix.bRNqZjQz.0.0.69.js +0 -5889
- package/dist/interface/js/@primevue.C5r50LKM.0.0.69.js +0 -57
- package/dist/interface/js/@react-dnd.CcwRs9xb.0.0.69.js +0 -1
- package/dist/interface/js/@socket.io.Dkula2eQ.0.0.69.js +0 -1
- package/dist/interface/js/@tanstack.ESyaYTt8.0.0.69.js +0 -1
- package/dist/interface/js/@vee-validate.CeUgfPaH.0.0.69.js +0 -5
- package/dist/interface/js/@vue.BsSvBeCe.0.0.69.js +0 -17
- package/dist/interface/js/@vueuse.NhwSnX_y.0.0.69.js +0 -1
- package/dist/interface/js/@xterm.DHnCBlz-.0.0.69.js +0 -66
- package/dist/interface/js/Adminpanel.CR_zSM68.0.0.69.js +0 -1
- package/dist/interface/js/Camera.Cc2GMAQz.0.0.69.js +0 -1
- package/dist/interface/js/Cameras.AVNvfmPx.0.0.69.js +0 -482
- package/dist/interface/js/Cammesh.6TFnt2Jx.0.0.69.js +0 -1
- package/dist/interface/js/Camview.CTs17jUK.0.0.69.js +0 -1
- package/dist/interface/js/Config.BcnTMnwK.0.0.69.js +0 -2
- package/dist/interface/js/Console.C2u30_a4.0.0.69.js +0 -4
- package/dist/interface/js/CuiConsole.C_vx3eur.0.0.69.js +0 -1
- package/dist/interface/js/CuiPluginCard.DXCSR91d.0.0.69.js +0 -4
- package/dist/interface/js/CuiTimeline.D24_kazZ.0.0.69.js +0 -1
- package/dist/interface/js/FirstSteps.DmFQyph_.0.0.69.js +0 -1
- package/dist/interface/js/Plugin.DnLoseHB.0.0.69.js +0 -1
- package/dist/interface/js/Plugins.D6nWkZe3.0.0.69.js +0 -1
- package/dist/interface/js/Recordings.BGcye9TW.0.0.69.js +0 -1
- package/dist/interface/js/Settings.CLR_jqKd.0.0.69.js +0 -1
- package/dist/interface/js/SettingsAccount.D9QAC8hM.0.0.69.js +0 -1
- package/dist/interface/js/SettingsAppearance.Dg_3Nbvy.0.0.69.js +0 -1
- package/dist/interface/js/SettingsAppearance.vue_vue_type_script_setup_true_lang.DZQvbT2Y.0.0.69.js +0 -1
- package/dist/interface/js/SettingsBackup.C35jy9a9.0.0.69.js +0 -1
- package/dist/interface/js/SettingsRecordings.C5na6ke4.0.0.69.js +0 -1
- package/dist/interface/js/SettingsRemote.BrU66scR.0.0.69.js +0 -1
- package/dist/interface/js/SettingsSystem.DmU4H9b1.0.0.69.js +0 -1
- package/dist/interface/js/SettingsUsers.DQN0jbzy.0.0.69.js +0 -1
- package/dist/interface/js/VersionsHandler.vue_vue_type_script_setup_true_lang.Cyp9Qkwy.0.0.69.js +0 -4
- package/dist/interface/js/ace-builds.D-7Qis2t.0.0.69.js +0 -1091
- package/dist/interface/js/ace.config.ButjQxKc.0.0.69.js +0 -1
- package/dist/interface/js/axios.lj9VQs0f.0.0.69.js +0 -6
- package/dist/interface/js/backup.ZVXbFg1K.0.0.69.js +0 -1
- package/dist/interface/js/birpc.l0sNRNKZ.0.0.69.js +0 -1
- package/dist/interface/js/chart.js.Dz1J8kd4.0.0.69.js +0 -13
- package/dist/interface/js/close-circle.DJNW4HfJ.0.0.69.js +0 -1
- package/dist/interface/js/compare-versions.DqEOhma6.0.0.69.js +0 -1
- package/dist/interface/js/dijkstrajs.C00ieaqj.0.0.69.js +0 -1
- package/dist/interface/js/dnd-core.D_qG7vz7.0.0.69.js +0 -1
- package/dist/interface/js/draggabilly.BoYjrLDK.0.0.69.js +0 -6
- package/dist/interface/js/engine.io-client.B5m3FsEv.0.0.69.js +0 -1
- package/dist/interface/js/engine.io-parser.BiEtp6m2.0.0.69.js +0 -1
- package/dist/interface/js/entities.C20TfXL6.0.0.69.js +0 -1
- package/dist/interface/js/ev-emitter.X5f1qa-c.0.0.69.js +0 -1
- package/dist/interface/js/fast-deep-equal.IL3J8jAG.0.0.69.js +0 -1
- package/dist/interface/js/get-size.D1dS-IaP.0.0.69.js +0 -5
- package/dist/interface/js/highlight.js.BSQb76p3.0.0.69.js +0 -3
- package/dist/interface/js/hookable.l0sNRNKZ.0.0.69.js +0 -1
- package/dist/interface/js/linkify-it.DggZxsPz.0.0.69.js +0 -1
- package/dist/interface/js/main.BNZUJnjG.0.0.69.js +0 -31
- package/dist/interface/js/markdown-it.MLL3O76W.0.0.69.js +0 -15
- package/dist/interface/js/mdurl.k9Sl0PQj.0.0.69.js +0 -2
- package/dist/interface/js/nprogress.BYU1Y2h8.0.0.69.js +0 -2
- package/dist/interface/js/perfect-debounce.l0sNRNKZ.0.0.69.js +0 -1
- package/dist/interface/js/pinia.xXUM0Drf.0.0.69.js +0 -5
- package/dist/interface/js/primelocale.Bga3dOQu.0.0.69.js +0 -1
- package/dist/interface/js/primevue.CYqFPO0y.0.0.69.js +0 -142
- package/dist/interface/js/punycode.js.Dj65hjkv.0.0.69.js +0 -1
- package/dist/interface/js/qrcode.D3FbUuTi.0.0.69.js +0 -8
- package/dist/interface/js/react-dnd-html5-backend.1HQjlkwI.0.0.69.js +0 -2
- package/dist/interface/js/react-dnd-touch-backend.ChJx6T3S.0.0.69.js +0 -1
- package/dist/interface/js/redux.BFxtlG_c.0.0.69.js +0 -1
- package/dist/interface/js/refresh-rounded.DLelUEXh.0.0.69.js +0 -1
- package/dist/interface/js/rxjs.AXKlNjX-.0.0.69.js +0 -3
- package/dist/interface/js/socket.io-client.NZWSNJlD.0.0.69.js +0 -1
- package/dist/interface/js/socket.io-parser.3CqTF9_v.0.0.69.js +0 -1
- package/dist/interface/js/system.AeO3hneo.0.0.69.js +0 -1
- package/dist/interface/js/trash-fill.CxzXm2nA.0.0.69.js +0 -1
- package/dist/interface/js/tslib.9k7AwCpt.0.0.69.js +0 -1
- package/dist/interface/js/uc.micro.kMc2yuuw.0.0.69.js +0 -1
- package/dist/interface/js/unidragger.UylmBmyV.0.0.69.js +0 -5
- package/dist/interface/js/uuid.C6aID195.0.0.69.js +0 -1
- package/dist/interface/js/vee-validate.CXzK59HL.0.0.69.js +0 -5
- package/dist/interface/js/vue-chartjs.Dr8dSHCc.0.0.69.js +0 -1
- package/dist/interface/js/vue-i18n.BsJO9RBQ.0.0.69.js +0 -5
- package/dist/interface/js/vue-inline-svg.1baioXR8.0.0.69.js +0 -1
- package/dist/interface/js/vue-router.Cnp23wAe.0.0.69.js +0 -5
- package/dist/interface/js/vue-zoomable.DMxVl9qH.0.0.69.js +0 -1
- package/dist/interface/js/vue.l0sNRNKZ.0.0.69.js +0 -1
- package/dist/interface/js/vue3-dnd.Cre7FigV.0.0.69.js +0 -1
- package/dist/interface/js/zod.2bfLsWMZ.0.0.69.js +0 -1
- package/dist/interface/js/zoom-out.BEqLMm84.0.0.69.js +0 -1
- package/dist/interface/registerSW.js +0 -1
- package/dist/interface/workbox-5ffe50d4.js +0 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_common/camera_utils/utils.py +0 -52
- package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/test.py +0 -116
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/__init__.py +0 -350
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/__init__.py +0 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/base.py +0 -237
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/client.py +0 -256
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/connection.py +0 -784
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/errors.py +0 -745
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/messaging.py +0 -57
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc.py +0 -227
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc_generator.py +0 -584
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/constants.py +0 -96
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/typings.py +0 -218
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/__init__.py +0 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/connection_state.py +0 -86
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/logger.py +0 -30
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/metrics.py +0 -152
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/packer.py +0 -20
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/routing.py +0 -75
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/rpc.py +0 -177
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/subscriptions.py +0 -24
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/tasks.py +0 -39
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/uid.py +0 -37
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/validate.py +0 -119
- package/dist/server/src/_camera_ui_tools/camera_ui_types/__init__.py +0 -1369
- package/dist/server/src/_camera_ui_tools/camera_ui_types/hybrid_observer.py +0 -338
- package/dist/server/src/_camera_ui_tools/camera_ui_types/test.py +0 -196
- package/dist/server/src/api/controllers/system.controller.d.ts +0 -24
- package/dist/server/src/api/controllers/system.controller.js +0 -235
- package/dist/server/src/api/controllers/system.controller.js.map +0 -1
- package/dist/server/src/api/go2rtc/api/application.d.ts +0 -9
- package/dist/server/src/api/go2rtc/api/application.js +0 -39
- package/dist/server/src/api/go2rtc/api/application.js.map +0 -1
- package/dist/server/src/api/go2rtc/api/config.d.ts +0 -8
- package/dist/server/src/api/go2rtc/api/config.js +0 -44
- package/dist/server/src/api/go2rtc/api/config.js.map +0 -1
- package/dist/server/src/api/go2rtc/api/discover.d.ts +0 -30
- package/dist/server/src/api/go2rtc/api/discover.js +0 -162
- package/dist/server/src/api/go2rtc/api/discover.js.map +0 -1
- package/dist/server/src/api/go2rtc/api/index.d.ts +0 -1
- package/dist/server/src/api/go2rtc/api/index.js +0 -42
- package/dist/server/src/api/go2rtc/api/index.js.map +0 -1
- package/dist/server/src/api/go2rtc/api/snapshot.d.ts +0 -8
- package/dist/server/src/api/go2rtc/api/snapshot.js +0 -34
- package/dist/server/src/api/go2rtc/api/snapshot.js.map +0 -1
- package/dist/server/src/api/go2rtc/api/streams.d.ts +0 -20
- package/dist/server/src/api/go2rtc/api/streams.js +0 -190
- package/dist/server/src/api/go2rtc/api/streams.js.map +0 -1
- package/dist/server/src/api/go2rtc/index.d.ts +0 -16
- package/dist/server/src/api/go2rtc/index.js +0 -33
- package/dist/server/src/api/go2rtc/index.js.map +0 -1
- package/dist/server/src/api/go2rtc/queue.d.ts +0 -10
- package/dist/server/src/api/go2rtc/queue.js +0 -38
- package/dist/server/src/api/go2rtc/queue.js.map +0 -1
- package/dist/server/src/api/go2rtc/types.d.ts +0 -151
- package/dist/server/src/api/go2rtc/types.js.map +0 -1
- package/dist/server/src/api/routes/system.routes.d.ts +0 -2
- package/dist/server/src/api/routes/system.routes.js +0 -86
- package/dist/server/src/api/routes/system.routes.js.map +0 -1
- package/dist/server/src/api/schemas/system.schema.d.ts +0 -185
- package/dist/server/src/api/schemas/system.schema.js +0 -40
- package/dist/server/src/api/schemas/system.schema.js.map +0 -1
- package/dist/server/src/api/services/system.service.d.ts +0 -13
- package/dist/server/src/api/services/system.service.js +0 -63
- package/dist/server/src/api/services/system.service.js.map +0 -1
- package/dist/server/src/camera/classes.d.ts +0 -2
- package/dist/server/src/camera/classes.js +0 -24
- package/dist/server/src/camera/classes.js.map +0 -1
- package/dist/server/src/camera/device.d.ts +0 -34
- package/dist/server/src/camera/device.js +0 -327
- package/dist/server/src/camera/device.js.map +0 -1
- package/dist/server/src/camera/frameWorker.d.ts +0 -46
- package/dist/server/src/camera/frameWorker.js +0 -347
- package/dist/server/src/camera/frameWorker.js.map +0 -1
- package/dist/server/src/camera/interfaces.d.ts +0 -17
- package/dist/server/src/camera/interfaces.js +0 -99
- package/dist/server/src/camera/interfaces.js.map +0 -1
- package/dist/server/src/camera/iou.d.ts +0 -2
- package/dist/server/src/camera/iou.js +0 -122
- package/dist/server/src/camera/iou.js.map +0 -1
- package/dist/server/src/camera/polygon.d.ts +0 -4
- package/dist/server/src/camera/polygon.js +0 -192
- package/dist/server/src/camera/polygon.js.map +0 -1
- package/dist/server/src/camera/python/__init__.py +0 -0
- package/dist/server/src/camera/python/classes.py +0 -41
- package/dist/server/src/camera/python/interfaces.py +0 -131
- package/dist/server/src/camera/python/iou.py +0 -158
- package/dist/server/src/camera/python/polygon.py +0 -230
- package/dist/server/src/camera/python/typings.py +0 -50
- package/dist/server/src/camera/python/video_frame.py +0 -143
- package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -26
- package/dist/server/src/camera/streaming/peer-connection.js +0 -213
- package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
- package/dist/server/src/camera/streaming/rtsp-session.d.ts +0 -19
- package/dist/server/src/camera/streaming/rtsp-session.js +0 -196
- package/dist/server/src/camera/streaming/rtsp-session.js.map +0 -1
- package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -44
- package/dist/server/src/camera/streaming/webrtc-connection.js +0 -177
- package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
- package/dist/server/src/camera/streaming/werift-session.d.ts +0 -19
- package/dist/server/src/camera/streaming/werift-session.js +0 -246
- package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
- package/dist/server/src/camera/types.d.ts +0 -17
- package/dist/server/src/camera/types.js.map +0 -1
- package/dist/server/src/camera/videoFrame.d.ts +0 -18
- package/dist/server/src/camera/videoFrame.js +0 -88
- package/dist/server/src/camera/videoFrame.js.map +0 -1
- package/dist/server/src/cloud/index.d.ts +0 -12
- package/dist/server/src/cloud/index.js +0 -49
- package/dist/server/src/cloud/index.js.map +0 -1
- package/dist/server/src/cloud/remote/cloudflare.d.ts +0 -7
- package/dist/server/src/cloud/remote/cloudflare.js +0 -12
- package/dist/server/src/cloud/remote/cloudflare.js.map +0 -1
- package/dist/server/src/cloud/remote/upnp.d.ts +0 -7
- package/dist/server/src/cloud/remote/upnp.js +0 -12
- package/dist/server/src/cloud/remote/upnp.js.map +0 -1
- package/dist/server/src/cloud/remote/utils.d.ts +0 -3
- package/dist/server/src/cloud/remote/utils.js +0 -21
- package/dist/server/src/cloud/remote/utils.js.map +0 -1
- package/dist/server/src/cloud/types.d.ts +0 -15
- package/dist/server/src/cloud/types.js +0 -11
- package/dist/server/src/cloud/types.js.map +0 -1
- package/dist/server/src/decoder/child.js +0 -748
- package/dist/server/src/decoder/child.js.map +0 -1
- package/dist/server/src/decoder/imageUtils.d.ts +0 -21
- package/dist/server/src/decoder/imageUtils.js +0 -204
- package/dist/server/src/decoder/imageUtils.js.map +0 -1
- package/dist/server/src/decoder/manager.d.ts +0 -19
- package/dist/server/src/decoder/manager.js +0 -208
- package/dist/server/src/decoder/manager.js.map +0 -1
- package/dist/server/src/decoder/python/__init__.py +0 -0
- package/dist/server/src/decoder/python/child.py +0 -902
- package/dist/server/src/decoder/python/image_utils.py +0 -196
- package/dist/server/src/decoder/python/pool.py +0 -45
- package/dist/server/src/decoder/python/typings.py +0 -57
- package/dist/server/src/decoder/python/utils.py +0 -70
- package/dist/server/src/decoder/types.d.ts +0 -23
- package/dist/server/src/decoder/types.js.map +0 -1
- package/dist/server/src/decoder/utils.d.ts +0 -13
- package/dist/server/src/decoder/utils.js +0 -45
- package/dist/server/src/decoder/utils.js.map +0 -1
- package/dist/server/src/decoder/wasm/build/decoder.d.ts +0 -43
- package/dist/server/src/decoder/wasm/build/decoder.js +0 -108
- package/dist/server/src/decoder/wasm/build/decoder.wasm +0 -0
- package/dist/server/src/decoder/worker.js +0 -79
- package/dist/server/src/decoder/worker.js.map +0 -1
- package/dist/server/src/plugins/runtime/node/plugin.d.ts +0 -24
- package/dist/server/src/plugins/runtime/node/plugin.js +0 -128
- package/dist/server/src/plugins/runtime/node/plugin.js.map +0 -1
- package/dist/server/src/plugins/runtime/python/plugin.py +0 -155
- package/dist/server/src/rpc/types.d.ts +0 -112
- package/dist/server/src/rpc/types.js.map +0 -1
- /package/dist/interface/assets/{SettingsBackup.CX0rT0QJ.0.0.69.css → SettingsBackup-CX0rT0QJ.css} +0 -0
- /package/dist/interface/assets/{logo-512.DLKVOU2S.0.0.69.png → error-256-DLKVOU2S.png} +0 -0
- /package/dist/interface/assets/{logo-256.BCQk9H1-.0.0.69.png → logo-256-BCQk9H1-.png} +0 -0
- /package/dist/interface/assets/{logo.DmEiRk0z.0.0.69.png → logo-DmEiRk0z.png} +0 -0
- /package/dist/interface/assets/{mode-yaml.CIYL8U3d.0.0.69.js → mode-yaml-CIYL8U3d.js} +0 -0
- /package/dist/server/src/api/{go2rtc → database/migrations}/types.js +0 -0
- /package/dist/server/src/{camera → automations/actions}/types.js +0 -0
- /package/dist/server/src/{decoder → automations/conditions}/types.js +0 -0
- /package/dist/server/src/{rpc → automations/triggers}/types.js +0 -0
- /package/dist/server/src/{decoder/child.d.ts → remote/services/upnp.d.ts} +0 -0
- /package/dist/server/src/{decoder/worker.d.ts → utils/env.d.ts} +0 -0
|
@@ -1,1091 +0,0 @@
|
|
|
1
|
-
import{g as Le}from"./@xterm.DHnCBlz-.0.0.69.js";function xe(le,de){for(var R=0;R<de.length;R++){const k=de[R];if(typeof k!="string"&&!Array.isArray(k)){for(const z in k)if(z!=="default"&&!(z in le)){const E=Object.getOwnPropertyDescriptor(k,z);E&&Object.defineProperty(le,z,E.get?E:{enumerable:!0,get:()=>k[z]})}}}return Object.freeze(Object.defineProperty(le,Symbol.toStringTag,{value:"Module"}))}var ve={exports:{}},$e;function Te(){return $e||($e=1,function(le,de){(function(){var R="ace",k=function(){return this}();!k&&typeof window<"u"&&(k=window);var z=function(i,o,r){if(typeof i!="string"){z.original?z.original.apply(this,arguments):(console.error("dropping module because define wasn't a string."),console.trace());return}arguments.length==2&&(r=o),z.modules[i]||(z.payloads[i]=r,z.modules[i]=null)};z.modules={},z.payloads={};var E=function(i,o,r){if(typeof o=="string"){var t=l(i,o);if(t!=null)return r&&r(),t}else if(Object.prototype.toString.call(o)==="[object Array]"){for(var e=[],n=0,s=o.length;n<s;++n){var h=l(i,o[n]);if(h==null&&L.original)return;e.push(h)}return r&&r.apply(null,e)||!0}},L=function(i,o){var r=E("",i,o);return r==null&&L.original?L.original.apply(this,arguments):r},A=function(i,o){if(o.indexOf("!")!==-1){var r=o.split("!");return A(i,r[0])+"!"+A(i,r[1])}if(o.charAt(0)=="."){var t=i.split("/").slice(0,-1).join("/");for(o=t+"/"+o;o.indexOf(".")!==-1&&e!=o;){var e=o;o=o.replace(/\/\.\//,"/").replace(/[^\/]+\/\.\.\//,"")}}return o},l=function(i,o){o=A(i,o);var r=z.modules[o];if(!r){if(r=z.payloads[o],typeof r=="function"){var t={},e={id:o,uri:"",exports:t,packaged:!0},n=function(h,f){return E(o,h,f)},s=r(n,t,e);t=s||e.exports,z.modules[o]=t,delete z.payloads[o]}r=z.modules[o]=t||r}return r};function u(i){var o=k;k[i]||(k[i]={}),o=k[i],(!o.define||!o.define.packaged)&&(z.original=o.define,o.define=z,o.define.packaged=!0),(!o.require||!o.require.packaged)&&(L.original=o.require,o.require=L,o.require.packaged=!0)}u(R)})(),ace.define("ace/lib/es6-shim",["require","exports","module"],function(R,k,z){function E(L,A,l){Object.defineProperty(L,A,{value:l,enumerable:!1,writable:!0,configurable:!0})}String.prototype.startsWith||E(String.prototype,"startsWith",function(L,A){return A=A||0,this.lastIndexOf(L,A)===A}),String.prototype.endsWith||E(String.prototype,"endsWith",function(L,A){var l=this;(A===void 0||A>l.length)&&(A=l.length),A-=L.length;var u=l.indexOf(L,A);return u!==-1&&u===A}),String.prototype.repeat||E(String.prototype,"repeat",function(L){for(var A="",l=this;L>0;)L&1&&(A+=l),(L>>=1)&&(l+=l);return A}),String.prototype.includes||E(String.prototype,"includes",function(L,A){return this.indexOf(L,A)!=-1}),Object.assign||(Object.assign=function(L){if(L==null)throw new TypeError("Cannot convert undefined or null to object");for(var A=Object(L),l=1;l<arguments.length;l++){var u=arguments[l];u!=null&&Object.keys(u).forEach(function(i){A[i]=u[i]})}return A}),Object.values||(Object.values=function(L){return Object.keys(L).map(function(A){return L[A]})}),Array.prototype.find||E(Array.prototype,"find",function(L){for(var A=this.length,l=arguments[1],u=0;u<A;u++){var i=this[u];if(L.call(l,i,u,this))return i}}),Array.prototype.findIndex||E(Array.prototype,"findIndex",function(L){for(var A=this.length,l=arguments[1],u=0;u<A;u++){var i=this[u];if(L.call(l,i,u,this))return u}}),Array.prototype.includes||E(Array.prototype,"includes",function(L,A){return this.indexOf(L,A)!=-1}),Array.prototype.fill||E(Array.prototype,"fill",function(L){for(var A=this,l=A.length>>>0,u=arguments[1],i=u>>0,o=i<0?Math.max(l+i,0):Math.min(i,l),r=arguments[2],t=r===void 0?l:r>>0,e=t<0?Math.max(l+t,0):Math.min(t,l);o<e;)A[o]=L,o++;return A}),Array.of||E(Array,"of",function(){return Array.prototype.slice.call(arguments)})}),ace.define("ace/lib/fixoldbrowsers",["require","exports","module","ace/lib/es6-shim"],function(R,k,z){R("./es6-shim")}),ace.define("ace/lib/deep_copy",["require","exports","module"],function(R,k,z){k.deepCopy=function E(L){if(typeof L!="object"||!L)return L;var A;if(Array.isArray(L)){A=[];for(var l=0;l<L.length;l++)A[l]=E(L[l]);return A}if(Object.prototype.toString.call(L)!=="[object Object]")return L;A={};for(var l in L)A[l]=E(L[l]);return A}}),ace.define("ace/lib/lang",["require","exports","module","ace/lib/deep_copy"],function(R,k,z){k.last=function(A){return A[A.length-1]},k.stringReverse=function(A){return A.split("").reverse().join("")},k.stringRepeat=function(A,l){for(var u="";l>0;)l&1&&(u+=A),(l>>=1)&&(A+=A);return u};var E=/^\s\s*/,L=/\s\s*$/;k.stringTrimLeft=function(A){return A.replace(E,"")},k.stringTrimRight=function(A){return A.replace(L,"")},k.copyObject=function(A){var l={};for(var u in A)l[u]=A[u];return l},k.copyArray=function(A){for(var l=[],u=0,i=A.length;u<i;u++)A[u]&&typeof A[u]=="object"?l[u]=this.copyObject(A[u]):l[u]=A[u];return l},k.deepCopy=R("./deep_copy").deepCopy,k.arrayToMap=function(A){for(var l={},u=0;u<A.length;u++)l[A[u]]=1;return l},k.createMap=function(A){var l=Object.create(null);for(var u in A)l[u]=A[u];return l},k.arrayRemove=function(A,l){for(var u=0;u<=A.length;u++)l===A[u]&&A.splice(u,1)},k.escapeRegExp=function(A){return A.replace(/([.*+?^${}()|[\]\/\\])/g,"\\$1")},k.escapeHTML=function(A){return(""+A).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(/</g,"<")},k.getMatchOffsets=function(A,l){var u=[];return A.replace(l,function(i){u.push({offset:arguments[arguments.length-2],length:i.length})}),u},k.deferredCall=function(A){var l=null,u=function(){l=null,A()},i=function(o){return i.cancel(),l=setTimeout(u,o||0),i};return i.schedule=i,i.call=function(){return this.cancel(),A(),i},i.cancel=function(){return clearTimeout(l),l=null,i},i.isPending=function(){return l},i},k.delayedCall=function(A,l){var u=null,i=function(){u=null,A()},o=function(r){u==null&&(u=setTimeout(i,r||l))};return o.delay=function(r){u&&clearTimeout(u),u=setTimeout(i,r||l)},o.schedule=o,o.call=function(){this.cancel(),A()},o.cancel=function(){u&&clearTimeout(u),u=null},o.isPending=function(){return u},o},k.supportsLookbehind=function(){try{new RegExp("(?<=.)")}catch{return!1}return!0},k.skipEmptyMatch=function(A,l,u){return u&&A.codePointAt(l)>65535?2:1}}),ace.define("ace/lib/useragent",["require","exports","module"],function(R,k,z){k.OS={LINUX:"LINUX",MAC:"MAC",WINDOWS:"WINDOWS"},k.getOS=function(){return k.isMac?k.OS.MAC:k.isLinux?k.OS.LINUX:k.OS.WINDOWS};var E=typeof navigator=="object"?navigator:{},L=(/mac|win|linux/i.exec(E.platform)||["other"])[0].toLowerCase(),A=E.userAgent||"",l=E.appName||"";k.isWin=L=="win",k.isMac=L=="mac",k.isLinux=L=="linux",k.isIE=l=="Microsoft Internet Explorer"||l.indexOf("MSAppHost")>=0?parseFloat((A.match(/(?:MSIE |Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]):parseFloat((A.match(/(?:Trident\/[0-9]+[\.0-9]+;.*rv:)([0-9]+[\.0-9]+)/)||[])[1]),k.isOldIE=k.isIE&&k.isIE<9,k.isGecko=k.isMozilla=A.match(/ Gecko\/\d+/),k.isOpera=typeof opera=="object"&&Object.prototype.toString.call(window.opera)=="[object Opera]",k.isWebKit=parseFloat(A.split("WebKit/")[1])||void 0,k.isChrome=parseFloat(A.split(" Chrome/")[1])||void 0,k.isSafari=parseFloat(A.split(" Safari/")[1])&&!k.isChrome||void 0,k.isEdge=parseFloat(A.split(" Edge/")[1])||void 0,k.isAIR=A.indexOf("AdobeAIR")>=0,k.isAndroid=A.indexOf("Android")>=0,k.isChromeOS=A.indexOf(" CrOS ")>=0,k.isIOS=/iPad|iPhone|iPod/.test(A)&&!window.MSStream,k.isIOS&&(k.isMac=!0),k.isMobile=k.isIOS||k.isAndroid}),ace.define("ace/lib/dom",["require","exports","module","ace/lib/useragent"],function(R,k,z){var E=R("./useragent"),L="http://www.w3.org/1999/xhtml";k.buildDom=function r(t,e,n){if(typeof t=="string"&&t){var s=document.createTextNode(t);return e&&e.appendChild(s),s}if(!Array.isArray(t))return t&&t.appendChild&&e&&e.appendChild(t),t;if(typeof t[0]!="string"||!t[0]){for(var h=[],f=0;f<t.length;f++){var C=r(t[f],e,n);C&&h.push(C)}return h}var v=document.createElement(t[0]),p=t[1],a=1;p&&typeof p=="object"&&!Array.isArray(p)&&(a=2);for(var f=a;f<t.length;f++)r(t[f],v,n);return a==2&&Object.keys(p).forEach(function(m){var S=p[m];m==="class"?v.className=Array.isArray(S)?S.join(" "):S:typeof S=="function"||m=="value"||m[0]=="$"?v[m]=S:m==="ref"?n&&(n[S]=v):m==="style"?typeof S=="string"&&(v.style.cssText=S):S!=null&&v.setAttribute(m,S)}),e&&e.appendChild(v),v},k.getDocumentHead=function(r){return r||(r=document),r.head||r.getElementsByTagName("head")[0]||r.documentElement},k.createElement=function(r,t){return document.createElementNS?document.createElementNS(t||L,r):document.createElement(r)},k.removeChildren=function(r){r.innerHTML=""},k.createTextNode=function(r,t){var e=t?t.ownerDocument:document;return e.createTextNode(r)},k.createFragment=function(r){var t=r?r.ownerDocument:document;return t.createDocumentFragment()},k.hasCssClass=function(r,t){var e=(r.className+"").split(/\s+/g);return e.indexOf(t)!==-1},k.addCssClass=function(r,t){k.hasCssClass(r,t)||(r.className+=" "+t)},k.removeCssClass=function(r,t){for(var e=r.className.split(/\s+/g);;){var n=e.indexOf(t);if(n==-1)break;e.splice(n,1)}r.className=e.join(" ")},k.toggleCssClass=function(r,t){for(var e=r.className.split(/\s+/g),n=!0;;){var s=e.indexOf(t);if(s==-1)break;n=!1,e.splice(s,1)}return n&&e.push(t),r.className=e.join(" "),n},k.setCssClass=function(r,t,e){e?k.addCssClass(r,t):k.removeCssClass(r,t)},k.hasCssString=function(r,t){var e=0,n;if(t=t||document,n=t.querySelectorAll("style")){for(;e<n.length;)if(n[e++].id===r)return!0}},k.removeElementById=function(r,t){t=t||document,t.getElementById(r)&&t.getElementById(r).remove()};var A,l=[];k.useStrictCSP=function(r){A=r,r==!1?u():l||(l=[])};function u(){var r=l;l=null,r&&r.forEach(function(t){i(t[0],t[1])})}function i(r,t,e){if(!(typeof document>"u")){if(l){if(e)u();else if(e===!1)return l.push([r,t])}if(!A){var n=e;!e||!e.getRootNode?n=document:(n=e.getRootNode(),(!n||n==e)&&(n=document));var s=n.ownerDocument||n;if(t&&k.hasCssString(t,n))return null;t&&(r+=`
|
|
2
|
-
/*# sourceURL=ace/css/`+t+" */");var h=k.createElement("style");h.appendChild(s.createTextNode(r)),t&&(h.id=t),n==s&&(n=k.getDocumentHead(s)),n.insertBefore(h,n.firstChild)}}}if(k.importCssString=i,k.importCssStylsheet=function(r,t){k.buildDom(["link",{rel:"stylesheet",href:r}],k.getDocumentHead(t))},k.scrollbarWidth=function(r){var t=k.createElement("ace_inner");t.style.width="100%",t.style.minWidth="0px",t.style.height="200px",t.style.display="block";var e=k.createElement("ace_outer"),n=e.style;n.position="absolute",n.left="-10000px",n.overflow="hidden",n.width="200px",n.minWidth="0px",n.height="150px",n.display="block",e.appendChild(t);var s=r&&r.documentElement||document&&document.documentElement;if(!s)return 0;s.appendChild(e);var h=t.offsetWidth;n.overflow="scroll";var f=t.offsetWidth;return h===f&&(f=e.clientWidth),s.removeChild(e),h-f},k.computedStyle=function(r,t){return window.getComputedStyle(r,"")||{}},k.setStyle=function(r,t,e){r[t]!==e&&(r[t]=e)},k.HAS_CSS_ANIMATION=!1,k.HAS_CSS_TRANSFORMS=!1,k.HI_DPI=E.isWin?typeof window<"u"&&window.devicePixelRatio>=1.5:!0,E.isChromeOS&&(k.HI_DPI=!1),typeof document<"u"){var o=document.createElement("div");k.HI_DPI&&o.style.transform!==void 0&&(k.HAS_CSS_TRANSFORMS=!0),!E.isEdge&&typeof o.style.animationName<"u"&&(k.HAS_CSS_ANIMATION=!0),o=null}k.HAS_CSS_TRANSFORMS?k.translate=function(r,t,e){r.style.transform="translate("+Math.round(t)+"px, "+Math.round(e)+"px)"}:k.translate=function(r,t,e){r.style.top=Math.round(e)+"px",r.style.left=Math.round(t)+"px"}}),ace.define("ace/lib/net",["require","exports","module","ace/lib/dom"],function(R,k,z){/*
|
|
3
|
-
* based on code from:
|
|
4
|
-
*
|
|
5
|
-
* @license RequireJS text 0.25.0 Copyright (c) 2010-2011, The Dojo Foundation All Rights Reserved.
|
|
6
|
-
* Available via the MIT or new BSD license.
|
|
7
|
-
* see: http://github.com/jrburke/requirejs for details
|
|
8
|
-
*/var E=R("./dom");k.get=function(L,A){var l=new XMLHttpRequest;l.open("GET",L,!0),l.onreadystatechange=function(){l.readyState===4&&A(l.responseText)},l.send(null)},k.loadScript=function(L,A){var l=E.getDocumentHead(),u=document.createElement("script");u.src=L,l.appendChild(u),u.onload=u.onreadystatechange=function(i,o){(o||!u.readyState||u.readyState=="loaded"||u.readyState=="complete")&&(u=u.onload=u.onreadystatechange=null,o||A())}},k.qualifyURL=function(L){var A=document.createElement("a");return A.href=L,A.href}}),ace.define("ace/lib/oop",["require","exports","module"],function(R,k,z){k.inherits=function(E,L){E.super_=L,E.prototype=Object.create(L.prototype,{constructor:{value:E,enumerable:!1,writable:!0,configurable:!0}})},k.mixin=function(E,L){for(var A in L)E[A]=L[A];return E},k.implement=function(E,L){k.mixin(E,L)}}),ace.define("ace/lib/event_emitter",["require","exports","module"],function(R,k,z){var E={},L=function(){this.propagationStopped=!0},A=function(){this.defaultPrevented=!0};E._emit=E._dispatchEvent=function(l,u){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var i=this._eventRegistry[l]||[],o=this._defaultHandlers[l];if(!(!i.length&&!o)){(typeof u!="object"||!u)&&(u={}),u.type||(u.type=l),u.stopPropagation||(u.stopPropagation=L),u.preventDefault||(u.preventDefault=A),i=i.slice();for(var r=0;r<i.length&&(i[r](u,this),!u.propagationStopped);r++);if(o&&!u.defaultPrevented)return o(u,this)}},E._signal=function(l,u){var i=(this._eventRegistry||{})[l];if(i){i=i.slice();for(var o=0;o<i.length;o++)i[o](u,this)}},E.once=function(l,u){var i=this;if(this.on(l,function o(){i.off(l,o),u.apply(null,arguments)}),!u)return new Promise(function(o){u=o})},E.setDefaultHandler=function(l,u){var i=this._defaultHandlers;if(i||(i=this._defaultHandlers={_disabled_:{}}),i[l]){var o=i[l],r=i._disabled_[l];r||(i._disabled_[l]=r=[]),r.push(o);var t=r.indexOf(u);t!=-1&&r.splice(t,1)}i[l]=u},E.removeDefaultHandler=function(l,u){var i=this._defaultHandlers;if(i){var o=i._disabled_[l];if(i[l]==u)o&&this.setDefaultHandler(l,o.pop());else if(o){var r=o.indexOf(u);r!=-1&&o.splice(r,1)}}},E.on=E.addEventListener=function(l,u,i){this._eventRegistry=this._eventRegistry||{};var o=this._eventRegistry[l];return o||(o=this._eventRegistry[l]=[]),o.indexOf(u)==-1&&o[i?"unshift":"push"](u),u},E.off=E.removeListener=E.removeEventListener=function(l,u){this._eventRegistry=this._eventRegistry||{};var i=this._eventRegistry[l];if(i){var o=i.indexOf(u);o!==-1&&i.splice(o,1)}},E.removeAllListeners=function(l){l||(this._eventRegistry=this._defaultHandlers=void 0),this._eventRegistry&&(this._eventRegistry[l]=void 0),this._defaultHandlers&&(this._defaultHandlers[l]=void 0)},k.EventEmitter=E}),ace.define("ace/lib/report_error",["require","exports","module"],function(R,k,z){k.reportError=function(L,A){var l=new Error(L);l.data=A,typeof console=="object"&&console.error&&console.error(l),setTimeout(function(){throw l})}}),ace.define("ace/lib/default_english_messages",["require","exports","module"],function(R,k,z){var E={"autocomplete.popup.aria-roledescription":"Autocomplete suggestions","autocomplete.popup.aria-label":"Autocomplete suggestions","autocomplete.popup.item.aria-roledescription":"item","autocomplete.loading":"Loading...","editor.scroller.aria-roledescription":"editor","editor.scroller.aria-label":"Editor content, press Enter to start editing, press Escape to exit","editor.gutter.aria-roledescription":"editor gutter","editor.gutter.aria-label":"Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit","error-marker.good-state":"Looks good!","prompt.recently-used":"Recently used","prompt.other-commands":"Other commands","prompt.no-matching-commands":"No matching commands","search-box.find.placeholder":"Search for","search-box.find-all.text":"All","search-box.replace.placeholder":"Replace with","search-box.replace-next.text":"Replace","search-box.replace-all.text":"All","search-box.toggle-replace.title":"Toggle Replace mode","search-box.toggle-regexp.title":"RegExp Search","search-box.toggle-case.title":"CaseSensitive Search","search-box.toggle-whole-word.title":"Whole Word Search","search-box.toggle-in-selection.title":"Search In Selection","search-box.search-counter":"$0 of $1","text-input.aria-roledescription":"editor","text-input.aria-label":"Cursor at row $0","gutter.code-folding.range.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.closed.aria-label":"Toggle code folding, rows $0 through $1","gutter.code-folding.open.aria-label":"Toggle code folding, row $0","gutter.code-folding.closed.title":"Unfold code","gutter.code-folding.open.title":"Fold code","gutter.annotation.aria-label.error":"Error, read annotations row $0","gutter.annotation.aria-label.warning":"Warning, read annotations row $0","gutter.annotation.aria-label.info":"Info, read annotations row $0","inline-fold.closed.title":"Unfold code","gutter-tooltip.aria-label.error.singular":"error","gutter-tooltip.aria-label.error.plural":"errors","gutter-tooltip.aria-label.warning.singular":"warning","gutter-tooltip.aria-label.warning.plural":"warnings","gutter-tooltip.aria-label.info.singular":"information message","gutter-tooltip.aria-label.info.plural":"information messages","gutter.annotation.aria-label.security":"Security finding, read annotations row $0","gutter.annotation.aria-label.hint":"Suggestion, read annotations row $0","gutter-tooltip.aria-label.security.singular":"security finding","gutter-tooltip.aria-label.security.plural":"security findings","gutter-tooltip.aria-label.hint.singular":"suggestion","gutter-tooltip.aria-label.hint.plural":"suggestions","editor.tooltip.disable-editing":"Editing is disabled"};k.defaultEnglishMessages=E}),ace.define("ace/lib/app_config",["require","exports","module","ace/lib/oop","ace/lib/event_emitter","ace/lib/report_error","ace/lib/default_english_messages"],function(R,k,z){"no use strict";var E=R("./oop"),L=R("./event_emitter").EventEmitter,A=R("./report_error").reportError,l=R("./default_english_messages").defaultEnglishMessages,u={setOptions:function(e){Object.keys(e).forEach(function(n){this.setOption(n,e[n])},this)},getOptions:function(e){var n={};if(e)Array.isArray(e)||(e=Object.keys(e));else{var s=this.$options;e=Object.keys(s).filter(function(h){return!s[h].hidden})}return e.forEach(function(h){n[h]=this.getOption(h)},this),n},setOption:function(e,n){if(this["$"+e]!==n){var s=this.$options[e];if(!s)return i('misspelled option "'+e+'"');if(s.forwardTo)return this[s.forwardTo]&&this[s.forwardTo].setOption(e,n);s.handlesSet||(this["$"+e]=n),s&&s.set&&s.set.call(this,n)}},getOption:function(e){var n=this.$options[e];return n?n.forwardTo?this[n.forwardTo]&&this[n.forwardTo].getOption(e):n&&n.get?n.get.call(this):this["$"+e]:i('misspelled option "'+e+'"')}};function i(e){typeof console<"u"&&console.warn&&console.warn.apply(console,arguments)}var o,r,t=function(){function e(){this.$defaultOptions={},o=l,r="dollarSigns"}return e.prototype.defineOptions=function(n,s,h){return n.$options||(this.$defaultOptions[s]=n.$options={}),Object.keys(h).forEach(function(f){var C=h[f];typeof C=="string"&&(C={forwardTo:C}),C.name||(C.name=f),n.$options[C.name]=C,"initialValue"in C&&(n["$"+C.name]=C.initialValue)}),E.implement(n,u),this},e.prototype.resetOptions=function(n){Object.keys(n.$options).forEach(function(s){var h=n.$options[s];"value"in h&&n.setOption(s,h.value)})},e.prototype.setDefaultValue=function(n,s,h){if(!n){for(n in this.$defaultOptions)if(this.$defaultOptions[n][s])break;if(!this.$defaultOptions[n][s])return!1}var f=this.$defaultOptions[n]||(this.$defaultOptions[n]={});f[s]&&(f.forwardTo?this.setDefaultValue(f.forwardTo,s,h):f[s].value=h)},e.prototype.setDefaultValues=function(n,s){Object.keys(s).forEach(function(h){this.setDefaultValue(n,h,s[h])},this)},e.prototype.setMessages=function(n,s){o=n,s&&s.placeholders&&(r=s.placeholders)},e.prototype.nls=function(n,s,h){o[n]||(i("No message found for the key '"+n+"' in messages with id "+o.$id+", trying to find a translation for the default string '"+s+"'."),o[s]||i("No message found for the default string '"+s+"' in the provided messages. Falling back to the default English message."));var f=o[n]||o[s]||s;return h&&(r==="dollarSigns"&&(f=f.replace(/\$(\$|[\d]+)/g,function(C,v){return v=="$"?"$":h[v]})),r==="curlyBrackets"&&(f=f.replace(/\{([^\}]+)\}/g,function(C,v){return h[v]}))),f},e}();t.prototype.warn=i,t.prototype.reportError=A,E.implement(t.prototype,L),k.AppConfig=t}),ace.define("ace/theme/textmate-css",["require","exports","module"],function(R,k,z){z.exports=`.ace-tm .ace_gutter {
|
|
9
|
-
background: #f0f0f0;
|
|
10
|
-
color: #333;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.ace-tm .ace_print-margin {
|
|
14
|
-
width: 1px;
|
|
15
|
-
background: #e8e8e8;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.ace-tm .ace_fold {
|
|
19
|
-
background-color: #6B72E6;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.ace-tm {
|
|
23
|
-
background-color: #FFFFFF;
|
|
24
|
-
color: black;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.ace-tm .ace_cursor {
|
|
28
|
-
color: black;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.ace-tm .ace_invisible {
|
|
32
|
-
color: rgb(191, 191, 191);
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.ace-tm .ace_storage,
|
|
36
|
-
.ace-tm .ace_keyword {
|
|
37
|
-
color: blue;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.ace-tm .ace_constant {
|
|
41
|
-
color: rgb(197, 6, 11);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.ace-tm .ace_constant.ace_buildin {
|
|
45
|
-
color: rgb(88, 72, 246);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.ace-tm .ace_constant.ace_language {
|
|
49
|
-
color: rgb(88, 92, 246);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
.ace-tm .ace_constant.ace_library {
|
|
53
|
-
color: rgb(6, 150, 14);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.ace-tm .ace_invalid {
|
|
57
|
-
background-color: rgba(255, 0, 0, 0.1);
|
|
58
|
-
color: red;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.ace-tm .ace_support.ace_function {
|
|
62
|
-
color: rgb(60, 76, 114);
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.ace-tm .ace_support.ace_constant {
|
|
66
|
-
color: rgb(6, 150, 14);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.ace-tm .ace_support.ace_type,
|
|
70
|
-
.ace-tm .ace_support.ace_class {
|
|
71
|
-
color: rgb(109, 121, 222);
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
.ace-tm .ace_keyword.ace_operator {
|
|
75
|
-
color: rgb(104, 118, 135);
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
.ace-tm .ace_string {
|
|
79
|
-
color: rgb(3, 106, 7);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
.ace-tm .ace_comment {
|
|
83
|
-
color: rgb(76, 136, 107);
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
.ace-tm .ace_comment.ace_doc {
|
|
87
|
-
color: rgb(0, 102, 255);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
.ace-tm .ace_comment.ace_doc.ace_tag {
|
|
91
|
-
color: rgb(128, 159, 191);
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
.ace-tm .ace_constant.ace_numeric {
|
|
95
|
-
color: rgb(0, 0, 205);
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
.ace-tm .ace_variable {
|
|
99
|
-
color: rgb(49, 132, 149);
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
.ace-tm .ace_xml-pe {
|
|
103
|
-
color: rgb(104, 104, 91);
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
.ace-tm .ace_entity.ace_name.ace_function {
|
|
107
|
-
color: #0000A2;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
.ace-tm .ace_heading {
|
|
112
|
-
color: rgb(12, 7, 255);
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
.ace-tm .ace_list {
|
|
116
|
-
color:rgb(185, 6, 144);
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
.ace-tm .ace_meta.ace_tag {
|
|
120
|
-
color:rgb(0, 22, 142);
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
.ace-tm .ace_string.ace_regex {
|
|
124
|
-
color: rgb(255, 0, 0)
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
.ace-tm .ace_marker-layer .ace_selection {
|
|
128
|
-
background: rgb(181, 213, 255);
|
|
129
|
-
}
|
|
130
|
-
.ace-tm.ace_multiselect .ace_selection.ace_start {
|
|
131
|
-
box-shadow: 0 0 3px 0px white;
|
|
132
|
-
}
|
|
133
|
-
.ace-tm .ace_marker-layer .ace_step {
|
|
134
|
-
background: rgb(252, 255, 0);
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
.ace-tm .ace_marker-layer .ace_stack {
|
|
138
|
-
background: rgb(164, 229, 101);
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
.ace-tm .ace_marker-layer .ace_bracket {
|
|
142
|
-
margin: -1px 0 0 -1px;
|
|
143
|
-
border: 1px solid rgb(192, 192, 192);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
.ace-tm .ace_marker-layer .ace_active-line {
|
|
147
|
-
background: rgba(0, 0, 0, 0.07);
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
.ace-tm .ace_gutter-active-line {
|
|
151
|
-
background-color : #dcdcdc;
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
.ace-tm .ace_marker-layer .ace_selected-word {
|
|
155
|
-
background: rgb(250, 250, 255);
|
|
156
|
-
border: 1px solid rgb(200, 200, 250);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
.ace-tm .ace_indent-guide {
|
|
160
|
-
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAAE0lEQVQImWP4////f4bLly//BwAmVgd1/w11/gAAAABJRU5ErkJggg==") right repeat-y;
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
.ace-tm .ace_indent-guide-active {
|
|
164
|
-
background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAACCAYAAACZgbYnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAZSURBVHjaYvj///9/hivKyv8BAAAA//8DACLqBhbvk+/eAAAAAElFTkSuQmCC") right repeat-y;
|
|
165
|
-
}
|
|
166
|
-
`}),ace.define("ace/theme/textmate",["require","exports","module","ace/theme/textmate-css","ace/lib/dom"],function(R,k,z){k.isDark=!1,k.cssClass="ace-tm",k.cssText=R("./textmate-css"),k.$id="ace/theme/textmate";var E=R("../lib/dom");E.importCssString(k.cssText,k.cssClass,!1)}),ace.define("ace/config",["require","exports","module","ace/lib/lang","ace/lib/net","ace/lib/dom","ace/lib/app_config","ace/theme/textmate"],function(R,k,z){"no use strict";var E=R("./lib/lang"),L=R("./lib/net"),A=R("./lib/dom"),l=R("./lib/app_config").AppConfig;z.exports=k=new l;var u={packaged:!1,workerPath:null,modePath:null,themePath:null,basePath:"",suffix:".js",$moduleUrls:{},loadWorkerFromBlob:!0,sharedPopups:!1,useStrictCSP:null};k.get=function(t){if(!u.hasOwnProperty(t))throw new Error("Unknown config key: "+t);return u[t]},k.set=function(t,e){if(u.hasOwnProperty(t))u[t]=e;else if(this.setDefaultValue("",t,e)==!1)throw new Error("Unknown config key: "+t);t=="useStrictCSP"&&A.useStrictCSP(e)},k.all=function(){return E.copyObject(u)},k.$modes={},k.moduleUrl=function(t,e){if(u.$moduleUrls[t])return u.$moduleUrls[t];var n=t.split("/");e=e||n[n.length-2]||"";var s=e=="snippets"?"/":"-",h=n[n.length-1];if(e=="worker"&&s=="-"){var f=new RegExp("^"+e+"[\\-_]|[\\-_]"+e+"$","g");h=h.replace(f,"")}(!h||h==e)&&n.length>1&&(h=n[n.length-2]);var C=u[e+"Path"];return C==null?C=u.basePath:s=="/"&&(e=s=""),C&&C.slice(-1)!="/"&&(C+="/"),C+e+s+h+this.get("suffix")},k.setModuleUrl=function(t,e){return u.$moduleUrls[t]=e};var i=function(t,e){if(t==="ace/theme/textmate"||t==="./theme/textmate")return e(null,R("./theme/textmate"));if(o)return o(t,e);console.error("loader is not configured")},o;k.setLoader=function(t){o=t},k.dynamicModules=Object.create(null),k.$loading={},k.$loaded={},k.loadModule=function(t,e){var n;if(Array.isArray(t))var s=t[0],h=t[1];else if(typeof t=="string")var h=t;var f=function(C){if(C&&!k.$loading[h])return e&&e(C);if(k.$loading[h]||(k.$loading[h]=[]),k.$loading[h].push(e),!(k.$loading[h].length>1)){var v=function(){i(h,function(p,a){a&&(k.$loaded[h]=a),k._emit("load.module",{name:h,module:a});var m=k.$loading[h];k.$loading[h]=null,m.forEach(function(S){S&&S(a)})})};if(!k.get("packaged"))return v();L.loadScript(k.moduleUrl(h,s),v),r()}};if(k.dynamicModules[h])k.dynamicModules[h]().then(function(C){C.default?f(C.default):f(C)});else{try{n=this.$require(h)}catch{}f(n||k.$loaded[h])}},k.$require=function(t){if(typeof z.require=="function"){var e="require";return z[e](t)}},k.setModuleLoader=function(t,e){k.dynamicModules[t]=e};var r=function(){!u.basePath&&!u.workerPath&&!u.modePath&&!u.themePath&&!Object.keys(u.$moduleUrls).length&&(console.error("Unable to infer path to ace from script src,","use ace.config.set('basePath', 'path') to enable dynamic loading of modes and themes","or with webpack use ace/webpack-resolver"),r=function(){})};k.version="1.42.0"}),ace.define("ace/loader_build",["require","exports","module","ace/lib/fixoldbrowsers","ace/config"],function(R,k,z){R("./lib/fixoldbrowsers");var E=R("./config");E.setLoader(function(u,i){R([u],function(o){i(null,o)})});var L=function(){return this||typeof window<"u"&&window}();z.exports=function(u){E.init=A,E.$require=R,u.require=R},A(!0);function A(u){if(!(!L||!L.document)){E.set("packaged",u||R.packaged||z.packaged||L.define&&(void 0).packaged);var i={},o="",r=document.currentScript||document._currentScript,t=r&&r.ownerDocument||document;r&&r.src&&(o=r.src.split(/[?#]/)[0].split("/").slice(0,-1).join("/")||"");for(var e=t.getElementsByTagName("script"),n=0;n<e.length;n++){var s=e[n],h=s.src||s.getAttribute("src");if(h){for(var f=s.attributes,C=0,v=f.length;C<v;C++){var p=f[C];p.name.indexOf("data-ace-")===0&&(i[l(p.name.replace(/^data-ace-/,""))]=p.value)}var a=h.match(/^(.*)\/ace([\-.]\w+)?\.js(\?|$)/);a&&(o=a[1])}}o&&(i.base=i.base||o,i.packaged=!0),i.basePath=i.base,i.workerPath=i.workerPath||i.base,i.modePath=i.modePath||i.base,i.themePath=i.themePath||i.base,delete i.base;for(var m in i)typeof i[m]<"u"&&E.set(m,i[m])}}function l(u){return u.replace(/-(.)/g,function(i,o){return o.toUpperCase()})}}),ace.define("ace/range",["require","exports","module"],function(R,k,z){var E=function(){function L(A,l,u,i){this.start={row:A,column:l},this.end={row:u,column:i}}return L.prototype.isEqual=function(A){return this.start.row===A.start.row&&this.end.row===A.end.row&&this.start.column===A.start.column&&this.end.column===A.end.column},L.prototype.toString=function(){return"Range: ["+this.start.row+"/"+this.start.column+"] -> ["+this.end.row+"/"+this.end.column+"]"},L.prototype.contains=function(A,l){return this.compare(A,l)==0},L.prototype.compareRange=function(A){var l,u=A.end,i=A.start;return l=this.compare(u.row,u.column),l==1?(l=this.compare(i.row,i.column),l==1?2:l==0?1:0):l==-1?-2:(l=this.compare(i.row,i.column),l==-1?-1:l==1?42:0)},L.prototype.comparePoint=function(A){return this.compare(A.row,A.column)},L.prototype.containsRange=function(A){return this.comparePoint(A.start)==0&&this.comparePoint(A.end)==0},L.prototype.intersects=function(A){var l=this.compareRange(A);return l==-1||l==0||l==1},L.prototype.isEnd=function(A,l){return this.end.row==A&&this.end.column==l},L.prototype.isStart=function(A,l){return this.start.row==A&&this.start.column==l},L.prototype.setStart=function(A,l){typeof A=="object"?(this.start.column=A.column,this.start.row=A.row):(this.start.row=A,this.start.column=l)},L.prototype.setEnd=function(A,l){typeof A=="object"?(this.end.column=A.column,this.end.row=A.row):(this.end.row=A,this.end.column=l)},L.prototype.inside=function(A,l){return this.compare(A,l)==0?!(this.isEnd(A,l)||this.isStart(A,l)):!1},L.prototype.insideStart=function(A,l){return this.compare(A,l)==0?!this.isEnd(A,l):!1},L.prototype.insideEnd=function(A,l){return this.compare(A,l)==0?!this.isStart(A,l):!1},L.prototype.compare=function(A,l){return!this.isMultiLine()&&A===this.start.row?l<this.start.column?-1:l>this.end.column?1:0:A<this.start.row?-1:A>this.end.row?1:this.start.row===A?l>=this.start.column?0:-1:this.end.row===A?l<=this.end.column?0:1:0},L.prototype.compareStart=function(A,l){return this.start.row==A&&this.start.column==l?-1:this.compare(A,l)},L.prototype.compareEnd=function(A,l){return this.end.row==A&&this.end.column==l?1:this.compare(A,l)},L.prototype.compareInside=function(A,l){return this.end.row==A&&this.end.column==l?1:this.start.row==A&&this.start.column==l?-1:this.compare(A,l)},L.prototype.clipRows=function(A,l){if(this.end.row>l)var u={row:l+1,column:0};else if(this.end.row<A)var u={row:A,column:0};if(this.start.row>l)var i={row:l+1,column:0};else if(this.start.row<A)var i={row:A,column:0};return L.fromPoints(i||this.start,u||this.end)},L.prototype.extend=function(A,l){var u=this.compare(A,l);if(u==0)return this;if(u==-1)var i={row:A,column:l};else var o={row:A,column:l};return L.fromPoints(i||this.start,o||this.end)},L.prototype.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},L.prototype.isMultiLine=function(){return this.start.row!==this.end.row},L.prototype.clone=function(){return L.fromPoints(this.start,this.end)},L.prototype.collapseRows=function(){return this.end.column==0?new L(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new L(this.start.row,0,this.end.row,0)},L.prototype.toScreenRange=function(A){var l=A.documentToScreenPosition(this.start),u=A.documentToScreenPosition(this.end);return new L(l.row,l.column,u.row,u.column)},L.prototype.moveBy=function(A,l){this.start.row+=A,this.start.column+=l,this.end.row+=A,this.end.column+=l},L}();E.fromPoints=function(L,A){return new E(L.row,L.column,A.row,A.column)},E.comparePoints=function(L,A){return L.row-A.row||L.column-A.column},k.Range=E}),ace.define("ace/lib/keys",["require","exports","module","ace/lib/oop"],function(R,k,z){for(var E=R("./oop"),L={MODIFIER_KEYS:{16:"Shift",17:"Ctrl",18:"Alt",224:"Meta",91:"MetaLeft",92:"MetaRight",93:"ContextMenu"},KEY_MODS:{ctrl:1,alt:2,option:2,shift:4,super:8,meta:8,command:8,cmd:8,control:1},FUNCTION_KEYS:{8:"Backspace",9:"Tab",13:"Return",19:"Pause",27:"Esc",32:"Space",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"Left",38:"Up",39:"Right",40:"Down",44:"Print",45:"Insert",46:"Delete","-13":"NumpadEnter",144:"Numlock",145:"Scrolllock"},PRINTABLE_KEYS:{32:" ",59:";",61:"=",107:"+",109:"-",110:".",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'",111:"/",106:"*"}},A={Command:224,Backspace:8,Tab:9,Return:13,Enter:13,Pause:19,Escape:27,PageUp:33,PageDown:34,End:35,Home:36,Insert:45,Delete:46,ArrowLeft:37,ArrowUp:38,ArrowRight:39,ArrowDown:40,Backquote:192,Minus:189,Equal:187,BracketLeft:219,Backslash:220,BracketRight:221,Semicolon:186,Quote:222,Comma:188,Period:190,Slash:191,Space:32,NumpadAdd:107,NumpadDecimal:110,NumpadSubtract:109,NumpadDivide:111,NumpadMultiply:106},l=0;l<10;l++)A["Digit"+l]=48+l,A["Numpad"+l]=96+l,L.PRINTABLE_KEYS[48+l]=""+l,L.FUNCTION_KEYS[96+l]="Numpad"+l;for(var l=65;l<91;l++){var u=String.fromCharCode(l+32);A["Key"+u.toUpperCase()]=l,L.PRINTABLE_KEYS[l]=u}for(var l=1;l<13;l++)A["F"+l]=111+l,L.FUNCTION_KEYS[111+l]="F"+l;var i={Shift:16,Control:17,Alt:18,Meta:224};for(var o in i)A[o]=A[o+"Left"]=A[o+"Right"]=i[o];k.$codeToKeyCode=A,L.PRINTABLE_KEYS[173]="-";for(var r in L.FUNCTION_KEYS){var t=L.FUNCTION_KEYS[r].toLowerCase();L[t]=parseInt(r,10)}for(var r in L.PRINTABLE_KEYS){var t=L.PRINTABLE_KEYS[r].toLowerCase();L[t]=parseInt(r,10)}E.mixin(L,L.MODIFIER_KEYS),E.mixin(L,L.PRINTABLE_KEYS),E.mixin(L,L.FUNCTION_KEYS),L.enter=L.return,L.escape=L.esc,L.del=L.delete,function(){for(var e=["cmd","ctrl","alt","shift"],n=Math.pow(2,e.length);n--;)L.KEY_MODS[n]=e.filter(function(s){return n&L.KEY_MODS[s]}).join("-")+"-"}(),L.KEY_MODS[0]="",L.KEY_MODS[-1]="input-",E.mixin(k,L),k.default=k,k.keyCodeToString=function(e){var n=L[e];return typeof n!="string"&&(n=String.fromCharCode(e)),n.toLowerCase()}}),ace.define("ace/lib/event",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(R,k,z){var E=R("./keys"),L=R("./useragent"),A=null,l=0,u;function i(){u=!1;try{document.createComment("").addEventListener("test",function(){},{get passive(){return u={passive:!1},!0}})}catch{}}function o(){return u==null&&i(),u}function r(C,v,p){this.elem=C,this.type=v,this.callback=p}r.prototype.destroy=function(){e(this.elem,this.type,this.callback),this.elem=this.type=this.callback=void 0};var t=k.addListener=function(C,v,p,a){C.addEventListener(v,p,o()),a&&a.$toDestroy.push(new r(C,v,p))},e=k.removeListener=function(C,v,p){C.removeEventListener(v,p,o())};k.stopEvent=function(C){return k.stopPropagation(C),k.preventDefault(C),!1},k.stopPropagation=function(C){C.stopPropagation&&C.stopPropagation()},k.preventDefault=function(C){C.preventDefault&&C.preventDefault()},k.getButton=function(C){return C.type=="dblclick"?0:C.type=="contextmenu"||L.isMac&&C.ctrlKey&&!C.altKey&&!C.shiftKey?2:C.button},k.capture=function(C,v,p){var a=C&&C.ownerDocument||document;function m(S){v&&v(S),p&&p(S),e(a,"mousemove",v),e(a,"mouseup",m),e(a,"dragstart",m)}return t(a,"mousemove",v),t(a,"mouseup",m),t(a,"dragstart",m),m},k.addMouseWheelListener=function(C,v,p){t(C,"wheel",function(a){var m=.15,S=a.deltaX||0,$=a.deltaY||0;switch(a.deltaMode){case a.DOM_DELTA_PIXEL:a.wheelX=S*m,a.wheelY=$*m;break;case a.DOM_DELTA_LINE:var w=15;a.wheelX=S*w,a.wheelY=$*w;break;case a.DOM_DELTA_PAGE:var T=150;a.wheelX=S*T,a.wheelY=$*T;break}v(a)},p)},k.addMultiMouseDownListener=function(C,v,p,a,m){var S=0,$,w,T,b={2:"dblclick",3:"tripleclick",4:"quadclick"};function g(d){if(k.getButton(d)!==0?S=0:d.detail>1?(S++,S>4&&(S=1)):S=1,L.isIE){var c=Math.abs(d.clientX-$)>5||Math.abs(d.clientY-w)>5;(!T||c)&&(S=1),T&&clearTimeout(T),T=setTimeout(function(){T=null},v[S-1]||600),S==1&&($=d.clientX,w=d.clientY)}if(d._clicks=S,p[a]("mousedown",d),S>4)S=0;else if(S>1)return p[a](b[S],d)}Array.isArray(C)||(C=[C]),C.forEach(function(d){t(d,"mousedown",g,m)})};function n(C){return 0|(C.ctrlKey?1:0)|(C.altKey?2:0)|(C.shiftKey?4:0)|(C.metaKey?8:0)}k.getModifierString=function(C){return E.KEY_MODS[n(C)]};function s(C,v,p){var a=n(v);if(!p&&v.code&&(p=E.$codeToKeyCode[v.code]||p),!L.isMac&&A){if(v.getModifierState&&(v.getModifierState("OS")||v.getModifierState("Win"))&&(a|=8),A.altGr)if((3&a)!=3)A.altGr=0;else return;if(p===18||p===17){var m=v.location;if(p===17&&m===1)A[p]==1&&(l=v.timeStamp);else if(p===18&&a===3&&m===2){var S=v.timeStamp-l;S<50&&(A.altGr=!0)}}}if(p in E.MODIFIER_KEYS&&(p=-1),!(!a&&p===13&&v.location===3&&(C(v,a,-p),v.defaultPrevented))){if(L.isChromeOS&&a&8){if(C(v,a,p),v.defaultPrevented)return;a&=-9}return!a&&!(p in E.FUNCTION_KEYS)&&!(p in E.PRINTABLE_KEYS)?!1:C(v,a,p)}}k.addCommandKeyListener=function(C,v,p){var a=null;t(C,"keydown",function(m){A[m.keyCode]=(A[m.keyCode]||0)+1;var S=s(v,m,m.keyCode);return a=m.defaultPrevented,S},p),t(C,"keypress",function(m){a&&(m.ctrlKey||m.altKey||m.shiftKey||m.metaKey)&&(k.stopEvent(m),a=null)},p),t(C,"keyup",function(m){A[m.keyCode]=null},p),A||(h(),t(window,"focus",h))};function h(){A=Object.create(null)}if(typeof window=="object"&&window.postMessage&&!L.isOldIE){var f=1;k.nextTick=function(C,v){v=v||window;var p="zero-timeout-message-"+f++,a=function(m){m.data==p&&(k.stopPropagation(m),e(v,"message",a),C())};t(v,"message",a),v.postMessage(p,"*")}}k.$idleBlocked=!1,k.onIdle=function(C,v){return setTimeout(function p(){k.$idleBlocked?setTimeout(p,100):C()},v)},k.$idleBlockId=null,k.blockIdle=function(C){k.$idleBlockId&&clearTimeout(k.$idleBlockId),k.$idleBlocked=!0,k.$idleBlockId=setTimeout(function(){k.$idleBlocked=!1},C||100)},k.nextFrame=typeof window=="object"&&(window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame),k.nextFrame?k.nextFrame=k.nextFrame.bind(window):k.nextFrame=function(C){setTimeout(C,17)}}),ace.define("ace/clipboard",["require","exports","module"],function(R,k,z){var E;z.exports={lineMode:!1,pasteCancelled:function(){return E&&E>Date.now()-50?!0:E=!1},cancel:function(){E=Date.now()}}}),ace.define("ace/keyboard/textinput",["require","exports","module","ace/lib/event","ace/config","ace/lib/useragent","ace/lib/dom","ace/lib/lang","ace/clipboard","ace/lib/keys"],function(R,k,z){var E=R("../lib/event"),L=R("../config").nls,A=R("../lib/useragent"),l=R("../lib/dom"),u=R("../lib/lang"),i=R("../clipboard"),o=A.isChrome<18,r=A.isIE,t=A.isChrome>63,e=400,n=R("../lib/keys"),s=n.KEY_MODS,h=A.isIOS,f=h?/\s/:/\n/,C=A.isMobile,v;v=function(p,a){var m=l.createElement("textarea");m.className="ace_text-input",m.setAttribute("wrap","off"),m.setAttribute("autocorrect","off"),m.setAttribute("autocapitalize","off"),m.setAttribute("spellcheck","false"),m.style.opacity="0",p.insertBefore(m,p.firstChild),this.setHost=function(U){a=U};var S=!1,$=!1,w=!1,T=!1,b="";C||(m.style.fontSize="1px");var g=!1,d=!1,c="",y=0,M=0,x=0,I=Number.MAX_SAFE_INTEGER,_=Number.MIN_SAFE_INTEGER,D=0;try{var H=document.activeElement===m}catch{}this.setNumberOfExtraLines=function(U){if(I=Number.MAX_SAFE_INTEGER,_=Number.MIN_SAFE_INTEGER,U<0){D=0;return}D=U},this.setAriaLabel=function(){var U="";if(a.$textInputAriaLabel&&(U+="".concat(a.$textInputAriaLabel,", ")),a.session){var j=a.session.selection.cursor.row;U+=L("text-input.aria-label","Cursor at row $0",[j+1])}m.setAttribute("aria-label",U)},this.setAriaOptions=function(U){U.activeDescendant?(m.setAttribute("aria-haspopup","true"),m.setAttribute("aria-autocomplete",U.inline?"both":"list"),m.setAttribute("aria-activedescendant",U.activeDescendant)):(m.setAttribute("aria-haspopup","false"),m.setAttribute("aria-autocomplete","both"),m.removeAttribute("aria-activedescendant")),U.role&&m.setAttribute("role",U.role),U.setLabel&&(m.setAttribute("aria-roledescription",L("text-input.aria-roledescription","editor")),this.setAriaLabel())},this.setAriaOptions({role:"textbox"}),E.addListener(m,"blur",function(U){d||(a.onBlur(U),H=!1)},a),E.addListener(m,"focus",function(U){if(!d){if(H=!0,A.isEdge)try{if(!document.hasFocus())return}catch{}a.onFocus(U),A.isEdge?setTimeout(O):O()}},a),this.$focusScroll=!1,this.focus=function(){if(this.setAriaOptions({setLabel:a.renderer.enableKeyboardAccessibility}),b||t||this.$focusScroll=="browser")return m.focus({preventScroll:!0});var U=m.style.top;m.style.position="fixed",m.style.top="0px";try{var j=m.getBoundingClientRect().top!=0}catch{return}var K=[];if(j)for(var Z=m.parentElement;Z&&Z.nodeType==1;)K.push(Z),Z.setAttribute("ace_nocontext","true"),!Z.parentElement&&Z.getRootNode?Z=Z.getRootNode().host:Z=Z.parentElement;m.focus({preventScroll:!0}),j&&K.forEach(function(Q){Q.removeAttribute("ace_nocontext")}),setTimeout(function(){m.style.position="",m.style.top=="0px"&&(m.style.top=U)},0)},this.blur=function(){m.blur()},this.isFocused=function(){return H},a.on("beforeEndOperation",function(){var U=a.curOp,j=U&&U.command&&U.command.name;if(j!="insertstring"){var K=j&&(U.docChanged||U.selectionChanged);w&&K&&(c=m.value="",he()),O()}}),a.on("changeSelection",this.setAriaLabel);var N=function(U,j){for(var K=j,Z=1;Z<=U-I&&Z<2*D+1;Z++)K+=a.session.getLine(U-Z).length+1;return K},O=h?function(U){if(!(!H||S&&!U||T)){U||(U="");var j=`
|
|
167
|
-
ab`+U+`cde fg
|
|
168
|
-
`;j!=m.value&&(m.value=c=j);var K=4,Z=4+(U.length||(a.selection.isEmpty()?0:1));(y!=K||M!=Z)&&m.setSelectionRange(K,Z),y=K,M=Z}}:function(){if(!(w||T)&&!(!H&&!P)){w=!0;var U=0,j=0,K="";if(a.session){var Z=a.selection,Q=Z.getRange(),ie=Z.cursor.row;ie===_+1?(I=_+1,_=I+2*D):ie===I-1?(_=I-1,I=_-2*D):(ie<I-1||ie>_+1)&&(I=ie>D?ie-D:0,_=ie>D?ie+D:2*D);for(var re=[],ne=I;ne<=_;ne++)re.push(a.session.getLine(ne));if(K=re.join(`
|
|
169
|
-
`),U=N(Q.start.row,Q.start.column),j=N(Q.end.row,Q.end.column),Q.start.row<I){var te=a.session.getLine(I-1);U=Q.start.row<I-1?0:U,j+=te.length+1,K=te+`
|
|
170
|
-
`+K}else if(Q.end.row>_){var J=a.session.getLine(_+1);j=Q.end.row>_+1?J.length:Q.end.column,j+=K.length+1,K=K+`
|
|
171
|
-
`+J}else C&&ie>0&&(K=`
|
|
172
|
-
`+K,j+=1,U+=1);K.length>e&&(U<e&&j<e?K=K.slice(0,e):(K=`
|
|
173
|
-
`,U==j?U=j=0:(U=0,j=1)));var se=K+`
|
|
174
|
-
|
|
175
|
-
`;se!=c&&(m.value=c=se,y=M=se.length)}if(P&&(y=m.selectionStart,M=m.selectionEnd),M!=j||y!=U||m.selectionEnd!=M)try{m.setSelectionRange(U,j),y=U,M=j}catch{}w=!1}};this.resetSelection=O,H&&a.onFocus();var F=function(U){return U.selectionStart===0&&U.selectionEnd>=c.length&&U.value===c&&c&&U.selectionEnd!==M},W=function(U){w||(S?S=!1:F(m)?(a.selectAll(),O()):C&&m.selectionStart!=y&&O())},B=null;this.setInputHandler=function(U){B=U},this.getInputHandler=function(){return B};var P=!1,V=function(U,j){if(P&&(P=!1),$)return O(),U&&a.onPaste(U),$=!1,"";for(var K=m.selectionStart,Z=m.selectionEnd,Q=y,ie=c.length-M,re=U,ne=U.length-K,te=U.length-Z,J=0;Q>0&&c[J]==U[J];)J++,Q--;for(re=re.slice(J),J=1;ie>0&&c.length-J>y-1&&c[c.length-J]==U[U.length-J];)J++,ie--;ne-=J-1,te-=J-1;var se=re.length-J+1;if(se<0&&(Q=-se,se=0),re=re.slice(0,se),!j&&!re&&!ne&&!Q&&!ie&&!te)return"";T=!0;var ue=!1;return A.isAndroid&&re==". "&&(re=" ",ue=!0),re&&!Q&&!ie&&!ne&&!te||g?a.onTextInput(re):a.onTextInput(re,{extendLeft:Q,extendRight:ie,restoreStart:ne,restoreEnd:te}),T=!1,c=U,y=K,M=Z,x=te,ue?`
|
|
176
|
-
`:re},G=function(U){if(w)return ce();if(U&&U.inputType){if(U.inputType=="historyUndo")return a.execCommand("undo");if(U.inputType=="historyRedo")return a.execCommand("redo")}var j=m.value,K=V(j,!0);(j.length>e+100||f.test(K)||C&&y<1&&y==M)&&O()},Y=function(U,j,K){var Z=U.clipboardData||window.clipboardData;if(!(!Z||o)){var Q=r||K?"Text":"text/plain";try{return j?Z.setData(Q,j)!==!1:Z.getData(Q)}catch(ie){if(!K)return Y(ie,j,!0)}}},X=function(U,j){var K=a.getCopyText();if(!K)return E.preventDefault(U);Y(U,K)?(h&&(O(K),S=K,setTimeout(function(){S=!1},10)),j?a.onCut():a.onCopy(),E.preventDefault(U)):(S=!0,m.value=K,m.select(),setTimeout(function(){S=!1,O(),j?a.onCut():a.onCopy()}))},q=function(U){X(U,!0)},oe=function(U){X(U,!1)},ee=function(U){var j=Y(U);i.pasteCancelled()||(typeof j=="string"?(j&&a.onPaste(j,U),A.isIE&&setTimeout(O),E.preventDefault(U)):(m.value="",$=!0))};E.addCommandKeyListener(m,function(U,j,K){if(!w)return a.onCommandKey(U,j,K)},a),E.addListener(m,"select",W,a),E.addListener(m,"input",G,a),E.addListener(m,"cut",q,a),E.addListener(m,"copy",oe,a),E.addListener(m,"paste",ee,a),(!("oncut"in m)||!("oncopy"in m)||!("onpaste"in m))&&E.addListener(p,"keydown",function(U){if(!(A.isMac&&!U.metaKey||!U.ctrlKey))switch(U.keyCode){case 67:oe(U);break;case 86:ee(U);break;case 88:q(U);break}},a);var ae=function(U){if(!(w||!a.onCompositionStart||a.$readOnly)&&(w={},!g)){U.data&&(w.useTextareaForIME=!1),setTimeout(ce,0),a._signal("compositionStart"),a.on("mousedown",pe);var j=a.getSelectionRange();j.end.row=j.start.row,j.end.column=j.start.column,w.markerRange=j,w.selectionStart=y,a.onCompositionStart(w),w.useTextareaForIME?(c=m.value="",y=0,M=0):(m.msGetInputContext&&(w.context=m.msGetInputContext()),m.getInputContext&&(w.context=m.getInputContext()))}},ce=function(){if(!(!w||!a.onCompositionUpdate||a.$readOnly)){if(g)return pe();if(w.useTextareaForIME)a.onCompositionUpdate(m.value);else{var U=m.value;V(U),w.markerRange&&(w.context&&(w.markerRange.start.column=w.selectionStart=w.context.compositionStartOffset),w.markerRange.end.column=w.markerRange.start.column+M-w.selectionStart+x)}}},he=function(U){!a.onCompositionEnd||a.$readOnly||(w=!1,a.onCompositionEnd(),a.off("mousedown",pe),U&&G())};function pe(){d=!0,m.blur(),m.focus(),d=!1}var we=u.delayedCall(ce,50).schedule.bind(null,null);function Ae(U){U.keyCode==27&&m.value.length<m.selectionStart&&(w||(c=m.value),y=M=-1,O()),we()}E.addListener(m,"compositionstart",ae,a),E.addListener(m,"compositionupdate",ce,a),E.addListener(m,"keyup",Ae,a),E.addListener(m,"keydown",we,a),E.addListener(m,"compositionend",he,a),this.getElement=function(){return m},this.setCommandMode=function(U){g=U,m.readOnly=!1},this.setReadOnly=function(U){g||(m.readOnly=U)},this.setCopyWithEmptySelection=function(U){},this.onContextMenu=function(U){P=!0,O(),a._emit("nativecontextmenu",{target:a,domEvent:U}),this.moveToMouse(U,!0)},this.moveToMouse=function(U,j){b||(b=m.style.cssText),m.style.cssText=(j?"z-index:100000;":"")+(A.isIE?"opacity:0.1;":"")+"text-indent: -"+(y+M)*a.renderer.characterWidth*.5+"px;";var K=a.container.getBoundingClientRect(),Z=l.computedStyle(a.container),Q=K.top+(parseInt(Z.borderTopWidth)||0),ie=K.left+(parseInt(Z.borderLeftWidth)||0),re=K.bottom-Q-m.clientHeight-2,ne=function(te){l.translate(m,te.clientX-ie-2,Math.min(te.clientY-Q-2,re))};ne(U),U.type=="mousedown"&&(a.renderer.$isMousePressed=!0,clearTimeout(ge),A.isWin&&E.capture(a.container,ne,fe))},this.onContextMenuClose=fe;var ge;function fe(){clearTimeout(ge),ge=setTimeout(function(){b&&(m.style.cssText=b,b=""),a.renderer.$isMousePressed=!1,a.renderer.$keepTextAreaAtCursor&&a.renderer.$moveTextAreaToCursor()},0)}var me=function(U){a.textInput.onContextMenu(U),fe()};E.addListener(m,"mouseup",me,a),E.addListener(m,"mousedown",function(U){U.preventDefault(),fe()},a),E.addListener(a.renderer.scroller,"contextmenu",me,a),E.addListener(m,"contextmenu",me,a),h&&Me(p,a,m);function Me(U,j,K){var Z=null,Q=!1;K.addEventListener("keydown",function(re){Z&&clearTimeout(Z),Q=!0},!0),K.addEventListener("keyup",function(re){Z=setTimeout(function(){Q=!1},100)},!0);var ie=function(re){if(document.activeElement===K&&!(Q||w||j.$mouseHandler.isMousePressed)&&!S){var ne=K.selectionStart,te=K.selectionEnd,J=null,se=0;if(ne==0?J=n.up:ne==1?J=n.home:te>M&&c[te]==`
|
|
177
|
-
`?J=n.end:ne<y&&c[ne-1]==" "?(J=n.left,se=s.option):ne<y||ne==y&&M!=y&&ne==te?J=n.left:te>M&&c.slice(0,te).split(`
|
|
178
|
-
`).length>2?J=n.down:te>M&&c[te-1]==" "?(J=n.right,se=s.option):(te>M||te==M&&M!=y&&ne==te)&&(J=n.right),ne!==te&&(se|=s.shift),J){var ue=j.onCommandKey({},se,J);if(!ue&&j.commands){J=n.keyCodeToString(J);var be=j.commands.findKeyCommand(se,J);be&&j.execCommand(be)}y=ne,M=te,O("")}}};document.addEventListener("selectionchange",ie),j.on("destroy",function(){document.removeEventListener("selectionchange",ie)})}this.destroy=function(){m.parentElement&&m.parentElement.removeChild(m)}},k.TextInput=v,k.$setUserAgentForTests=function(p,a){C=p,h=a}}),ace.define("ace/mouse/default_handlers",["require","exports","module","ace/lib/useragent"],function(R,k,z){var E=R("../lib/useragent"),L=0,A=550,l=function(){function o(r){r.$clickSelection=null;var t=r.editor;t.setDefaultHandler("mousedown",this.onMouseDown.bind(r)),t.setDefaultHandler("dblclick",this.onDoubleClick.bind(r)),t.setDefaultHandler("tripleclick",this.onTripleClick.bind(r)),t.setDefaultHandler("quadclick",this.onQuadClick.bind(r)),t.setDefaultHandler("mousewheel",this.onMouseWheel.bind(r));var e=["select","startSelect","selectEnd","selectAllEnd","selectByWordsEnd","selectByLinesEnd","dragWait","dragWaitEnd","focusWait"];e.forEach(function(n){r[n]=this[n]},this),r.selectByLines=this.extendSelectionBy.bind(r,"getLineRange"),r.selectByWords=this.extendSelectionBy.bind(r,"getWordRange")}return o.prototype.onMouseDown=function(r){var t=r.inSelection(),e=r.getDocumentPosition();this.mousedownEvent=r;var n=this.editor,s=r.getButton();if(s!==0){var h=n.getSelectionRange(),f=h.isEmpty();(f||s==1)&&n.selection.moveToPosition(e),s==2&&(n.textInput.onContextMenu(r.domEvent),E.isMozilla||r.preventDefault());return}if(this.mousedownEvent.time=Date.now(),t&&!n.isFocused()&&(n.focus(),this.$focusTimeout&&!this.$clickSelection&&!n.inMultiSelectMode)){this.setState("focusWait"),this.captureMouse(r);return}return this.captureMouse(r),this.startSelect(e,r.domEvent._clicks>1),r.preventDefault()},o.prototype.startSelect=function(r,t){r=r||this.editor.renderer.screenToTextCoordinates(this.x,this.y);var e=this.editor;this.mousedownEvent&&(this.mousedownEvent.getShiftKey()?e.selection.selectToPosition(r):t||e.selection.moveToPosition(r),t||this.select(),e.setStyle("ace_selecting"),this.setState("select"))},o.prototype.select=function(){var r,t=this.editor,e=t.renderer.screenToTextCoordinates(this.x,this.y);if(this.$clickSelection){var n=this.$clickSelection.comparePoint(e);if(n==-1)r=this.$clickSelection.end;else if(n==1)r=this.$clickSelection.start;else{var s=i(this.$clickSelection,e);e=s.cursor,r=s.anchor}t.selection.setSelectionAnchor(r.row,r.column)}t.selection.selectToPosition(e),t.renderer.scrollCursorIntoView()},o.prototype.extendSelectionBy=function(r){var t,e=this.editor,n=e.renderer.screenToTextCoordinates(this.x,this.y),s=e.selection[r](n.row,n.column);if(this.$clickSelection){var h=this.$clickSelection.comparePoint(s.start),f=this.$clickSelection.comparePoint(s.end);if(h==-1&&f<=0)t=this.$clickSelection.end,(s.end.row!=n.row||s.end.column!=n.column)&&(n=s.start);else if(f==1&&h>=0)t=this.$clickSelection.start,(s.start.row!=n.row||s.start.column!=n.column)&&(n=s.end);else if(h==-1&&f==1)n=s.end,t=s.start;else{var C=i(this.$clickSelection,n);n=C.cursor,t=C.anchor}e.selection.setSelectionAnchor(t.row,t.column)}e.selection.selectToPosition(n),e.renderer.scrollCursorIntoView()},o.prototype.selectByLinesEnd=function(){this.$clickSelection=null,this.editor.unsetStyle("ace_selecting")},o.prototype.focusWait=function(){var r=u(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y),t=Date.now();(r>L||t-this.mousedownEvent.time>this.$focusTimeout)&&this.startSelect(this.mousedownEvent.getDocumentPosition())},o.prototype.onDoubleClick=function(r){var t=r.getDocumentPosition(),e=this.editor,n=e.session,s=n.getBracketRange(t);s?(s.isEmpty()&&(s.start.column--,s.end.column++),this.setState("select")):(s=e.selection.getWordRange(t.row,t.column),this.setState("selectByWords")),this.$clickSelection=s,this.select()},o.prototype.onTripleClick=function(r){var t=r.getDocumentPosition(),e=this.editor;this.setState("selectByLines");var n=e.getSelectionRange();n.isMultiLine()&&n.contains(t.row,t.column)?(this.$clickSelection=e.selection.getLineRange(n.start.row),this.$clickSelection.end=e.selection.getLineRange(n.end.row).end):this.$clickSelection=e.selection.getLineRange(t.row),this.select()},o.prototype.onQuadClick=function(r){var t=this.editor;t.selectAll(),this.$clickSelection=t.getSelectionRange(),this.setState("selectAll")},o.prototype.onMouseWheel=function(r){if(!r.getAccelKey()){r.getShiftKey()&&r.wheelY&&!r.wheelX&&(r.wheelX=r.wheelY,r.wheelY=0);var t=this.editor;this.$lastScroll||(this.$lastScroll={t:0,vx:0,vy:0,allowed:0});var e=this.$lastScroll,n=r.domEvent.timeStamp,s=n-e.t,h=s?r.wheelX/s:e.vx,f=s?r.wheelY/s:e.vy;s<A&&(h=(h+e.vx)/2,f=(f+e.vy)/2);var C=Math.abs(h/f),v=!1;if(C>=1&&t.renderer.isScrollableBy(r.wheelX*r.speed,0)&&(v=!0),C<=1&&t.renderer.isScrollableBy(0,r.wheelY*r.speed)&&(v=!0),v)e.allowed=n;else if(n-e.allowed<A){var p=Math.abs(h)<=1.5*Math.abs(e.vx)&&Math.abs(f)<=1.5*Math.abs(e.vy);p?(v=!0,e.allowed=n):e.allowed=0}if(e.t=n,e.vx=h,e.vy=f,v)return t.renderer.scrollBy(r.wheelX*r.speed,r.wheelY*r.speed),r.stop()}},o}();l.prototype.selectEnd=l.prototype.selectByLinesEnd,l.prototype.selectAllEnd=l.prototype.selectByLinesEnd,l.prototype.selectByWordsEnd=l.prototype.selectByLinesEnd,k.DefaultHandlers=l;function u(o,r,t,e){return Math.sqrt(Math.pow(t-o,2)+Math.pow(e-r,2))}function i(o,r){if(o.start.row==o.end.row)var t=2*r.column-o.start.column-o.end.column;else if(o.start.row==o.end.row-1&&!o.start.column&&!o.end.column)var t=r.column-4;else var t=2*r.row-o.start.row-o.end.row;return t<0?{cursor:o.start,anchor:o.end}:{cursor:o.end,anchor:o.start}}}),ace.define("ace/lib/scroll",["require","exports","module"],function(R,k,z){k.preventParentScroll=function(L){L.stopPropagation();var A=L.currentTarget,l=A.scrollHeight>A.clientHeight;l||L.preventDefault()}}),ace.define("ace/tooltip",["require","exports","module","ace/lib/dom","ace/lib/event","ace/range","ace/lib/scroll"],function(R,k,z){var E=this&&this.__extends||function(){var n=function(s,h){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,C){f.__proto__=C}||function(f,C){for(var v in C)Object.prototype.hasOwnProperty.call(C,v)&&(f[v]=C[v])},n(s,h)};return function(s,h){if(typeof h!="function"&&h!==null)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");n(s,h);function f(){this.constructor=s}s.prototype=h===null?Object.create(h):(f.prototype=h.prototype,new f)}}(),L=this&&this.__values||function(n){var s=typeof Symbol=="function"&&Symbol.iterator,h=s&&n[s],f=0;if(h)return h.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&f>=n.length&&(n=void 0),{value:n&&n[f++],done:!n}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},A=R("./lib/dom");R("./lib/event");var l=R("./range").Range,u=R("./lib/scroll").preventParentScroll,i="ace_tooltip",o=function(){function n(s){this.isOpen=!1,this.$element=null,this.$parentNode=s}return n.prototype.$init=function(){return this.$element=A.createElement("div"),this.$element.className=i,this.$element.style.display="none",this.$parentNode.appendChild(this.$element),this.$element},n.prototype.getElement=function(){return this.$element||this.$init()},n.prototype.setText=function(s){this.getElement().textContent=s},n.prototype.setHtml=function(s){this.getElement().innerHTML=s},n.prototype.setPosition=function(s,h){this.getElement().style.left=s+"px",this.getElement().style.top=h+"px"},n.prototype.setClassName=function(s){A.addCssClass(this.getElement(),s)},n.prototype.setTheme=function(s){this.$element.className=i+" "+(s.isDark?"ace_dark ":"")+(s.cssClass||"")},n.prototype.show=function(s,h,f){s!=null&&this.setText(s),h!=null&&f!=null&&this.setPosition(h,f),this.isOpen||(this.getElement().style.display="block",this.isOpen=!0)},n.prototype.hide=function(s){this.isOpen&&(this.getElement().style.display="none",this.getElement().className=i,this.isOpen=!1)},n.prototype.getHeight=function(){return this.getElement().offsetHeight},n.prototype.getWidth=function(){return this.getElement().offsetWidth},n.prototype.destroy=function(){this.isOpen=!1,this.$element&&this.$element.parentNode&&this.$element.parentNode.removeChild(this.$element)},n}(),r=function(){function n(){this.popups=[]}return n.prototype.addPopup=function(s){this.popups.push(s),this.updatePopups()},n.prototype.removePopup=function(s){var h=this.popups.indexOf(s);h!==-1&&(this.popups.splice(h,1),this.updatePopups())},n.prototype.updatePopups=function(){var s,h,f,C;this.popups.sort(function(b,g){return g.priority-b.priority});var v=[];try{for(var p=L(this.popups),a=p.next();!a.done;a=p.next()){var m=a.value,S=!0;try{for(var $=(f=void 0,L(v)),w=$.next();!w.done;w=$.next()){var T=w.value;if(this.doPopupsOverlap(T,m)){S=!1;break}}}catch(b){f={error:b}}finally{try{w&&!w.done&&(C=$.return)&&C.call($)}finally{if(f)throw f.error}}S?v.push(m):m.hide()}}catch(b){s={error:b}}finally{try{a&&!a.done&&(h=p.return)&&h.call(p)}finally{if(s)throw s.error}}},n.prototype.doPopupsOverlap=function(s,h){var f=s.getElement().getBoundingClientRect(),C=h.getElement().getBoundingClientRect();return f.left<C.right&&f.right>C.left&&f.top<C.bottom&&f.bottom>C.top},n}(),t=new r;k.popupManager=t,k.Tooltip=o;var e=function(n){E(s,n);function s(h){h===void 0&&(h=document.body);var f=n.call(this,h)||this;f.timeout=void 0,f.lastT=0,f.idleTime=350,f.lastEvent=void 0,f.onMouseOut=f.onMouseOut.bind(f),f.onMouseMove=f.onMouseMove.bind(f),f.waitForHover=f.waitForHover.bind(f),f.hide=f.hide.bind(f);var C=f.getElement();return C.style.whiteSpace="pre-wrap",C.style.pointerEvents="auto",C.addEventListener("mouseout",f.onMouseOut),C.tabIndex=-1,C.addEventListener("blur",(function(){C.contains(document.activeElement)||this.hide()}).bind(f)),C.addEventListener("wheel",u),f}return s.prototype.addToEditor=function(h){h.on("mousemove",this.onMouseMove),h.on("mousedown",this.hide),h.renderer.getMouseEventTarget().addEventListener("mouseout",this.onMouseOut,!0)},s.prototype.removeFromEditor=function(h){h.off("mousemove",this.onMouseMove),h.off("mousedown",this.hide),h.renderer.getMouseEventTarget().removeEventListener("mouseout",this.onMouseOut,!0),this.timeout&&(clearTimeout(this.timeout),this.timeout=null)},s.prototype.onMouseMove=function(h,f){this.lastEvent=h,this.lastT=Date.now();var C=f.$mouseHandler.isMousePressed;if(this.isOpen){var v=this.lastEvent&&this.lastEvent.getDocumentPosition();(!this.range||!this.range.contains(v.row,v.column)||C||this.isOutsideOfText(this.lastEvent))&&this.hide()}this.timeout||C||(this.lastEvent=h,this.timeout=setTimeout(this.waitForHover,this.idleTime))},s.prototype.waitForHover=function(){this.timeout&&clearTimeout(this.timeout);var h=Date.now()-this.lastT;if(this.idleTime-h>10){this.timeout=setTimeout(this.waitForHover,this.idleTime-h);return}this.timeout=null,this.lastEvent&&!this.isOutsideOfText(this.lastEvent)&&this.$gatherData(this.lastEvent,this.lastEvent.editor)},s.prototype.isOutsideOfText=function(h){var f=h.editor,C=h.getDocumentPosition(),v=f.session.getLine(C.row);if(C.column==v.length){var p=f.renderer.pixelToScreenCoordinates(h.clientX,h.clientY),a=f.session.documentToScreenPosition(C.row,C.column);if(a.column!=p.column||a.row!=p.row)return!0}return!1},s.prototype.setDataProvider=function(h){this.$gatherData=h},s.prototype.showForRange=function(h,f,C,v){var p=10;if(!(v&&v!=this.lastEvent)&&!(this.isOpen&&document.activeElement==this.getElement())){var a=h.renderer;this.isOpen||(t.addPopup(this),this.$registerCloseEvents(),this.setTheme(a.theme)),this.isOpen=!0,this.addMarker(f,h.session),this.range=l.fromPoints(f.start,f.end);var m=a.textToScreenCoordinates(f.start.row,f.start.column),S=a.scroller.getBoundingClientRect();m.pageX<S.left&&(m.pageX=S.left);var $=this.getElement();$.innerHTML="",$.appendChild(C),$.style.maxHeight="",$.style.display="block";var w=$.clientHeight,T=$.clientWidth,b=window.innerHeight-m.pageY-a.lineHeight,g=!0;m.pageY-w<0&&m.pageY<b&&(g=!1),$.style.maxHeight=(g?m.pageY:b)-p+"px",$.style.top=g?"":m.pageY+a.lineHeight+"px",$.style.bottom=g?window.innerHeight-m.pageY+"px":"",$.style.left=Math.min(m.pageX,window.innerWidth-T-p)+"px"}},s.prototype.addMarker=function(h,f){this.marker&&this.$markerSession.removeMarker(this.marker),this.$markerSession=f,this.marker=f&&f.addMarker(h,"ace_highlight-marker","text")},s.prototype.hide=function(h){!h&&document.activeElement==this.getElement()||h&&h.target&&(h.type!="keydown"||h.ctrlKey||h.metaKey)&&this.$element.contains(h.target)||(this.lastEvent=null,this.timeout&&clearTimeout(this.timeout),this.timeout=null,this.addMarker(null),this.isOpen&&(this.$removeCloseEvents(),this.getElement().style.display="none",this.isOpen=!1,t.removePopup(this)))},s.prototype.$registerCloseEvents=function(){window.addEventListener("keydown",this.hide,!0),window.addEventListener("wheel",this.hide,!0),window.addEventListener("mousedown",this.hide,!0)},s.prototype.$removeCloseEvents=function(){window.removeEventListener("keydown",this.hide,!0),window.removeEventListener("wheel",this.hide,!0),window.removeEventListener("mousedown",this.hide,!0)},s.prototype.onMouseOut=function(h){this.timeout&&(clearTimeout(this.timeout),this.timeout=null),this.lastEvent=null,this.isOpen&&(!h.relatedTarget||this.getElement().contains(h.relatedTarget)||h&&h.currentTarget.contains(h.relatedTarget)||h.relatedTarget.classList.contains("ace_content")||this.hide())},s}(o);k.HoverTooltip=e}),ace.define("ace/mouse/default_gutter_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/tooltip","ace/config"],function(R,k,z){var E=this&&this.__extends||function(){var n=function(s,h){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(f,C){f.__proto__=C}||function(f,C){for(var v in C)Object.prototype.hasOwnProperty.call(C,v)&&(f[v]=C[v])},n(s,h)};return function(s,h){if(typeof h!="function"&&h!==null)throw new TypeError("Class extends value "+String(h)+" is not a constructor or null");n(s,h);function f(){this.constructor=s}s.prototype=h===null?Object.create(h):(f.prototype=h.prototype,new f)}}(),L=this&&this.__values||function(n){var s=typeof Symbol=="function"&&Symbol.iterator,h=s&&n[s],f=0;if(h)return h.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&f>=n.length&&(n=void 0),{value:n&&n[f++],done:!n}}};throw new TypeError(s?"Object is not iterable.":"Symbol.iterator is not defined.")},A=R("../lib/dom"),l=R("../lib/event"),u=R("../tooltip").Tooltip,i=R("../config").nls,o=5,r=3;k.GUTTER_TOOLTIP_LEFT_OFFSET=o,k.GUTTER_TOOLTIP_TOP_OFFSET=r;function t(n){var s=n.editor,h=s.renderer.$gutterLayer,f=new e(s,!0);n.editor.setDefaultHandler("guttermousedown",function(S){if(!(!s.isFocused()||S.getButton()!=0)){var $=h.getRegion(S);if($!="foldWidgets"){var w=S.getDocumentPosition().row,T=s.session.selection;if(S.getShiftKey())T.selectTo(w,0);else{if(S.domEvent.detail==2)return s.selectAll(),S.preventDefault();n.$clickSelection=s.selection.getLineRange(w)}return n.setState("selectByLines"),n.captureMouse(S),S.preventDefault()}}});var C,v;function p(){var S=v.getDocumentPosition().row,$=s.session.getLength();if(S==$){var w=s.renderer.pixelToScreenCoordinates(0,v.y).row,T=v.$pos;if(w>s.session.documentToScreenRow(T.row,T.column))return a()}if(f.showTooltip(S),!!f.isOpen)if(s.on("mousewheel",a),s.on("changeSession",a),window.addEventListener("keydown",a,!0),n.$tooltipFollowsMouse)m(v);else{var b=v.getGutterRow(),g=h.$lines.get(b);if(g){var d=g.element.querySelector(".ace_gutter_annotation"),c=d.getBoundingClientRect(),y=f.getElement().style;y.left=c.right-o+"px",y.top=c.bottom-r+"px"}else m(v)}}function a(S){S&&S.type==="keydown"&&(S.ctrlKey||S.metaKey)||S&&S.type==="mouseout"&&(!S.relatedTarget||f.getElement().contains(S.relatedTarget))||(C&&(C=clearTimeout(C)),f.isOpen&&(f.hideTooltip(),s.off("mousewheel",a),s.off("changeSession",a),window.removeEventListener("keydown",a,!0)))}function m(S){f.setPosition(S.x,S.y)}n.editor.setDefaultHandler("guttermousemove",function(S){var $=S.domEvent.target||S.domEvent.srcElement;if(A.hasCssClass($,"ace_fold-widget")||A.hasCssClass($,"ace_custom-widget"))return a();f.isOpen&&n.$tooltipFollowsMouse&&m(S),v=S,!C&&(C=setTimeout(function(){C=null,v&&!n.isMousePressed&&p()},50))}),l.addListener(s.renderer.$gutter,"mouseout",function(S){v=null,f.isOpen&&(C=setTimeout(function(){C=null,a(S)},50))},s)}k.GutterHandler=t;var e=function(n){E(s,n);function s(h,f){f===void 0&&(f=!1);var C=n.call(this,h.container)||this;C.editor=h,C.visibleTooltipRow;var v=C.getElement();return v.setAttribute("role","tooltip"),v.style.pointerEvents="auto",f&&(C.onMouseOut=C.onMouseOut.bind(C),v.addEventListener("mouseout",C.onMouseOut)),C}return s.prototype.onMouseOut=function(h){this.isOpen&&(!h.relatedTarget||this.getElement().contains(h.relatedTarget)||h&&h.currentTarget.contains(h.relatedTarget)||this.hideTooltip())},s.prototype.setPosition=function(h,f){var C=window.innerWidth||document.documentElement.clientWidth,v=window.innerHeight||document.documentElement.clientHeight,p=this.getWidth(),a=this.getHeight();h+=15,f+=15,h+p>C&&(h-=h+p-C),f+a>v&&(f-=20+a),u.prototype.setPosition.call(this,h,f)},Object.defineProperty(s,"annotationLabels",{get:function(){return{error:{singular:i("gutter-tooltip.aria-label.error.singular","error"),plural:i("gutter-tooltip.aria-label.error.plural","errors")},security:{singular:i("gutter-tooltip.aria-label.security.singular","security finding"),plural:i("gutter-tooltip.aria-label.security.plural","security findings")},warning:{singular:i("gutter-tooltip.aria-label.warning.singular","warning"),plural:i("gutter-tooltip.aria-label.warning.plural","warnings")},info:{singular:i("gutter-tooltip.aria-label.info.singular","information message"),plural:i("gutter-tooltip.aria-label.info.plural","information messages")},hint:{singular:i("gutter-tooltip.aria-label.hint.singular","suggestion"),plural:i("gutter-tooltip.aria-label.hint.plural","suggestions")}}},enumerable:!1,configurable:!0}),s.prototype.showTooltip=function(h){var f,C=this.editor.renderer.$gutterLayer,v=C.$annotations[h],p;v?p={displayText:Array.from(v.displayText),type:Array.from(v.type)}:p={displayText:[],type:[]};var a=C.session.getFoldLine(h);if(a&&C.$showFoldedAnnotations){for(var m={error:[],security:[],warning:[],info:[],hint:[]},S={error:1,security:2,warning:3,info:4,hint:5},$,w=h+1;w<=a.end.row;w++)if(C.$annotations[w])for(var T=0;T<C.$annotations[w].text.length;T++){var b=C.$annotations[w].type[T];m[b].push(C.$annotations[w].text[T]),(!$||S[b]<S[$])&&($=b)}if(["error","security","warning"].includes($)){var g="".concat(s.annotationsToSummaryString(m)," in folded code.");p.displayText.push(g),p.type.push($+"_fold")}}if(p.displayText.length===0)return this.hideTooltip();for(var d={error:[],security:[],warning:[],info:[],hint:[]},c=C.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",w=0;w<p.displayText.length;w++){var y=A.createElement("span"),M=A.createElement("span");(f=M.classList).add.apply(f,["ace_".concat(p.type[w]),c]),M.setAttribute("aria-label","".concat(s.annotationLabels[p.type[w].replace("_fold","")].singular)),M.setAttribute("role","img"),M.appendChild(A.createTextNode(" ")),y.appendChild(M),y.appendChild(A.createTextNode(p.displayText[w])),y.appendChild(A.createElement("br")),d[p.type[w].replace("_fold","")].push(y)}var x=this.getElement();A.removeChildren(x),d.error.forEach(function(I){return x.appendChild(I)}),d.security.forEach(function(I){return x.appendChild(I)}),d.warning.forEach(function(I){return x.appendChild(I)}),d.info.forEach(function(I){return x.appendChild(I)}),d.hint.forEach(function(I){return x.appendChild(I)}),x.setAttribute("aria-live","polite"),this.isOpen||(this.setTheme(this.editor.renderer.theme),this.setClassName("ace_gutter-tooltip")),this.show(),this.visibleTooltipRow=h,this.editor._signal("showGutterTooltip",this)},s.prototype.hideTooltip=function(){this.isOpen&&(this.$element.removeAttribute("aria-live"),this.hide(),this.visibleTooltipRow=void 0,this.editor._signal("hideGutterTooltip",this))},s.annotationsToSummaryString=function(h){var f,C,v=[],p=["error","security","warning","info","hint"];try{for(var a=L(p),m=a.next();!m.done;m=a.next()){var S=m.value;if(h[S].length){var $=h[S].length===1?s.annotationLabels[S].singular:s.annotationLabels[S].plural;v.push("".concat(h[S].length," ").concat($))}}}catch(w){f={error:w}}finally{try{m&&!m.done&&(C=a.return)&&C.call(a)}finally{if(f)throw f.error}}return v.join(", ")},s}(u);k.GutterTooltip=e}),ace.define("ace/mouse/mouse_event",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(R,k,z){var E=R("../lib/event"),L=R("../lib/useragent"),A=function(){function l(u,i){this.speed,this.wheelX,this.wheelY,this.domEvent=u,this.editor=i,this.x=this.clientX=u.clientX,this.y=this.clientY=u.clientY,this.$pos=null,this.$inSelection=null,this.propagationStopped=!1,this.defaultPrevented=!1}return l.prototype.stopPropagation=function(){E.stopPropagation(this.domEvent),this.propagationStopped=!0},l.prototype.preventDefault=function(){E.preventDefault(this.domEvent),this.defaultPrevented=!0},l.prototype.stop=function(){this.stopPropagation(),this.preventDefault()},l.prototype.getDocumentPosition=function(){return this.$pos?this.$pos:(this.$pos=this.editor.renderer.screenToTextCoordinates(this.clientX,this.clientY),this.$pos)},l.prototype.getGutterRow=function(){var u=this.getDocumentPosition().row,i=this.editor.session.documentToScreenRow(u,0),o=this.editor.session.documentToScreenRow(this.editor.renderer.$gutterLayer.$lines.get(0).row,0);return i-o},l.prototype.inSelection=function(){if(this.$inSelection!==null)return this.$inSelection;var u=this.editor,i=u.getSelectionRange();if(i.isEmpty())this.$inSelection=!1;else{var o=this.getDocumentPosition();this.$inSelection=i.contains(o.row,o.column)}return this.$inSelection},l.prototype.getButton=function(){return E.getButton(this.domEvent)},l.prototype.getShiftKey=function(){return this.domEvent.shiftKey},l.prototype.getAccelKey=function(){return L.isMac?this.domEvent.metaKey:this.domEvent.ctrlKey},l}();k.MouseEvent=A}),ace.define("ace/mouse/dragdrop_handler",["require","exports","module","ace/lib/dom","ace/lib/event","ace/lib/useragent"],function(R,k,z){var E=R("../lib/dom"),L=R("../lib/event"),A=R("../lib/useragent"),l=200,u=200,i=5;function o(t){var e=t.editor,n=E.createElement("div");n.style.cssText="top:-100px;position:absolute;z-index:2147483647;opacity:0.5",n.textContent=" ";var s=["dragWait","dragWaitEnd","startDrag","dragReadyEnd","onMouseDrag"];s.forEach(function(N){t[N]=this[N]},this),e.on("mousedown",this.onMouseDown.bind(t));var h=e.container,f,C,v,p,a,m,S=0,$,w,T,b,g;this.onDragStart=function(N){if(this.cancelDrag||!h.draggable){var O=this;return setTimeout(function(){O.startSelect(),O.captureMouse(N)},0),N.preventDefault()}a=e.getSelectionRange();var F=N.dataTransfer;F.effectAllowed=e.getReadOnly()?"copy":"copyMove",e.container.appendChild(n),F.setDragImage&&F.setDragImage(n,0,0),setTimeout(function(){e.container.removeChild(n)}),F.clearData(),F.setData("Text",e.session.getTextRange()),w=!0,this.setState("drag")},this.onDragEnd=function(N){if(h.draggable=!1,w=!1,this.setState(null),!e.getReadOnly()){var O=N.dataTransfer.dropEffect;!$&&O=="move"&&e.session.remove(e.getSelectionRange()),e.$resetCursorStyle()}this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle("")},this.onDragEnter=function(N){if(!(e.getReadOnly()||!D(N.dataTransfer)))return C=N.clientX,v=N.clientY,f||M(),S++,N.dataTransfer.dropEffect=$=H(N),L.preventDefault(N)},this.onDragOver=function(N){if(!(e.getReadOnly()||!D(N.dataTransfer)))return C=N.clientX,v=N.clientY,f||(M(),S++),I!==null&&(I=null),N.dataTransfer.dropEffect=$=H(N),L.preventDefault(N)},this.onDragLeave=function(N){if(S--,S<=0&&f)return x(),$=null,L.preventDefault(N)},this.onDrop=function(N){if(m){var O=N.dataTransfer;if(w)switch($){case"move":a.contains(m.row,m.column)?a={start:m,end:m}:a=e.moveText(a,m);break;case"copy":a=e.moveText(a,m,!0);break}else{var F=O.getData("Text");a={start:m,end:e.session.insert(m,F)},e.focus(),$=null}return x(),L.preventDefault(N)}},L.addListener(h,"dragstart",this.onDragStart.bind(t),e),L.addListener(h,"dragend",this.onDragEnd.bind(t),e),L.addListener(h,"dragenter",this.onDragEnter.bind(t),e),L.addListener(h,"dragover",this.onDragOver.bind(t),e),L.addListener(h,"dragleave",this.onDragLeave.bind(t),e),L.addListener(h,"drop",this.onDrop.bind(t),e);function d(N,O){var F=Date.now(),W=!O||N.row!=O.row,B=!O||N.column!=O.column;if(!b||W||B)e.moveCursorToPosition(N),b=F,g={x:C,y:v};else{var P=r(g.x,g.y,C,v);P>i?b=null:F-b>=u&&(e.renderer.scrollCursorIntoView(),b=null)}}function c(N,O){var F=Date.now(),W=e.renderer.layerConfig.lineHeight,B=e.renderer.layerConfig.characterWidth,P=e.renderer.scroller.getBoundingClientRect(),V={x:{left:C-P.left,right:P.right-C},y:{top:v-P.top,bottom:P.bottom-v}},G=Math.min(V.x.left,V.x.right),Y=Math.min(V.y.top,V.y.bottom),X={row:N.row,column:N.column};G/B<=2&&(X.column+=V.x.left<V.x.right?-3:2),Y/W<=1&&(X.row+=V.y.top<V.y.bottom?-1:1);var q=N.row!=X.row,oe=N.column!=X.column,ee=!O||N.row!=O.row;q||oe&&!ee?T?F-T>=l&&e.renderer.scrollCursorIntoView(X):T=F:T=null}function y(){var N=m;m=e.renderer.screenToTextCoordinates(C,v),d(m,N),c(m,N)}function M(){a=e.selection.toOrientedRange(),f=e.session.addMarker(a,"ace_selection",e.getSelectionStyle()),e.clearSelection(),e.isFocused()&&e.renderer.$cursorLayer.setBlinking(!1),clearInterval(p),y(),p=setInterval(y,20),S=0,L.addListener(document,"mousemove",_)}function x(){clearInterval(p),e.session.removeMarker(f),f=null,e.selection.fromOrientedRange(a),e.isFocused()&&!w&&e.$resetCursorStyle(),a=null,m=null,S=0,T=null,b=null,L.removeListener(document,"mousemove",_)}var I=null;function _(){I==null&&(I=setTimeout(function(){I!=null&&f&&x()},20))}function D(N){var O=N.types;return!O||Array.prototype.some.call(O,function(F){return F=="text/plain"||F=="Text"})}function H(N){var O=["copy","copymove","all","uninitialized"],F=["move","copymove","linkmove","all","uninitialized"],W=A.isMac?N.altKey:N.ctrlKey,B="uninitialized";try{B=N.dataTransfer.effectAllowed.toLowerCase()}catch{}var P="none";return W&&O.indexOf(B)>=0?P="copy":F.indexOf(B)>=0?P="move":O.indexOf(B)>=0&&(P="copy"),P}}(function(){this.dragWait=function(){var t=Date.now()-this.mousedownEvent.time;t>this.editor.getDragDelay()&&this.startDrag()},this.dragWaitEnd=function(){var t=this.editor.container;t.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()),this.selectEnd()},this.dragReadyEnd=function(t){this.editor.$resetCursorStyle(),this.editor.unsetStyle("ace_dragging"),this.editor.renderer.setCursorStyle(""),this.dragWaitEnd()},this.startDrag=function(){this.cancelDrag=!1;var t=this.editor,e=t.container;e.draggable=!0,t.renderer.$cursorLayer.setBlinking(!1),t.setStyle("ace_dragging");var n=A.isWin?"default":"move";t.renderer.setCursorStyle(n),this.setState("dragReady")},this.onMouseDrag=function(t){var e=this.editor.container;if(A.isIE&&this.state=="dragReady"){var n=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>3&&e.dragDrop()}if(this.state==="dragWait"){var n=r(this.mousedownEvent.x,this.mousedownEvent.y,this.x,this.y);n>0&&(e.draggable=!1,this.startSelect(this.mousedownEvent.getDocumentPosition()))}},this.onMouseDown=function(t){if(this.$dragEnabled){this.mousedownEvent=t;var e=this.editor,n=t.inSelection(),s=t.getButton(),h=t.domEvent.detail||1;if(h===1&&s===0&&n){if(t.editor.inMultiSelectMode&&(t.getAccelKey()||t.getShiftKey()))return;this.mousedownEvent.time=Date.now();var f=t.domEvent.target||t.domEvent.srcElement;if("unselectable"in f&&(f.unselectable="on"),e.getDragDelay()){if(A.isWebKit){this.cancelDrag=!0;var C=e.container;C.draggable=!0}this.setState("dragWait")}else this.startDrag();this.captureMouse(t,this.onMouseDrag.bind(this)),t.defaultPrevented=!0}}}}).call(o.prototype);function r(t,e,n,s){return Math.sqrt(Math.pow(n-t,2)+Math.pow(s-e,2))}k.DragdropHandler=o}),ace.define("ace/mouse/touch_handler",["require","exports","module","ace/mouse/mouse_event","ace/lib/event","ace/lib/dom"],function(R,k,z){var E=R("./mouse_event").MouseEvent,L=R("../lib/event"),A=R("../lib/dom");k.addTouchListeners=function(l,u){var i="scroll",o,r,t,e,n,s,h=0,f,C=0,v=0,p=0,a,m;function S(){var d=window.navigator&&window.navigator.clipboard,c=!1,y=function(){var I=u.getCopyText(),_=u.session.getUndoManager().hasUndo();m.replaceChild(A.buildDom(c?["span",!I&&M("selectall")&&["span",{class:"ace_mobile-button",action:"selectall"},"Select All"],I&&M("copy")&&["span",{class:"ace_mobile-button",action:"copy"},"Copy"],I&&M("cut")&&["span",{class:"ace_mobile-button",action:"cut"},"Cut"],d&&M("paste")&&["span",{class:"ace_mobile-button",action:"paste"},"Paste"],_&&M("undo")&&["span",{class:"ace_mobile-button",action:"undo"},"Undo"],M("find")&&["span",{class:"ace_mobile-button",action:"find"},"Find"],M("openCommandPalette")&&["span",{class:"ace_mobile-button",action:"openCommandPalette"},"Palette"]]:["span"]),m.firstChild)},M=function(I){return u.commands.canExecute(I,u)},x=function(I){var _=I.target.getAttribute("action");if(_=="more"||!c)return c=!c,y();_=="paste"?d.readText().then(function(D){u.execCommand(_,D)}):_&&((_=="cut"||_=="copy")&&(d?d.writeText(u.getCopyText()):document.execCommand("copy")),u.execCommand(_)),m.firstChild.style.display="none",c=!1,_!="openCommandPalette"&&u.focus()};m=A.buildDom(["div",{class:"ace_mobile-menu",ontouchstart:function(I){i="menu",I.stopPropagation(),I.preventDefault(),u.textInput.focus()},ontouchend:function(I){I.stopPropagation(),I.preventDefault(),x(I)},onclick:x},["span"],["span",{class:"ace_mobile-button",action:"more"},"..."]],u.container)}function $(){if(!u.getOption("enableMobileMenu")){m&&w();return}m||S();var d=u.selection.cursor,c=u.renderer.textToScreenCoordinates(d.row,d.column),y=u.renderer.textToScreenCoordinates(0,0).pageX,M=u.renderer.scrollLeft,x=u.container.getBoundingClientRect();m.style.top=c.pageY-x.top-3+"px",c.pageX-x.left<x.width-70?(m.style.left="",m.style.right="10px"):(m.style.right="",m.style.left=y+M-x.left+"px"),m.style.display="",m.firstChild.style.display="none",u.on("input",w)}function w(d){m&&(m.style.display="none"),u.off("input",w)}function T(){n=null,clearTimeout(n);var d=u.selection.getRange(),c=d.contains(f.row,f.column);(d.isEmpty()||!c)&&(u.selection.moveToPosition(f),u.selection.selectWord()),i="wait",$()}function b(){n=null,clearTimeout(n),u.selection.moveToPosition(f);var d=C>=2?u.selection.getLineRange(f.row):u.session.getBracketRange(f);d&&!d.isEmpty()?u.selection.setRange(d):u.selection.selectWord(),i="wait"}L.addListener(l,"contextmenu",function(d){if(a){var c=u.textInput.getElement();c.focus()}},u),L.addListener(l,"touchstart",function(d){var c=d.touches;if(n||c.length>1){clearTimeout(n),n=null,t=-1,i="zoom";return}a=u.$mouseHandler.isMousePressed=!0;var y=u.renderer.layerConfig.lineHeight,M=u.renderer.layerConfig.lineHeight,x=d.timeStamp;e=x;var I=c[0],_=I.clientX,D=I.clientY;Math.abs(o-_)+Math.abs(r-D)>y&&(t=-1),o=d.clientX=_,r=d.clientY=D,v=p=0;var H=new E(d,u);if(f=H.getDocumentPosition(),x-t<500&&c.length==1&&!h)C++,d.preventDefault(),d.button=0,b();else{C=0;var N=u.selection.cursor,O=u.selection.isEmpty()?N:u.selection.anchor,F=u.renderer.$cursorLayer.getPixelPosition(N,!0),W=u.renderer.$cursorLayer.getPixelPosition(O,!0),B=u.renderer.scroller.getBoundingClientRect(),P=u.renderer.layerConfig.offset,V=u.renderer.scrollLeft,G=function(q,oe){return q=q/M,oe=oe/y-.75,q*q+oe*oe};if(d.clientX<B.left){i="zoom";return}var Y=G(d.clientX-B.left-F.left+V,d.clientY-B.top-F.top+P),X=G(d.clientX-B.left-W.left+V,d.clientY-B.top-W.top+P);Y<3.5&&X<3.5&&(i=Y>X?"cursor":"anchor"),X<3.5?i="anchor":Y<3.5?i="cursor":i="scroll",n=setTimeout(T,450)}t=x},u),L.addListener(l,"touchend",function(d){a=u.$mouseHandler.isMousePressed=!1,s&&clearInterval(s),i=="zoom"?(i="",h=0):n?(u.selection.moveToPosition(f),h=0,$()):i=="scroll"?(g(),w()):$(),clearTimeout(n),n=null},u),L.addListener(l,"touchmove",function(d){n&&(clearTimeout(n),n=null);var c=d.touches;if(!(c.length>1||i=="zoom")){var y=c[0],M=o-y.clientX,x=r-y.clientY;if(i=="wait")if(M*M+x*x>4)i="cursor";else return d.preventDefault();o=y.clientX,r=y.clientY,d.clientX=y.clientX,d.clientY=y.clientY;var I=d.timeStamp,_=I-e;if(e=I,i=="scroll"){var D=new E(d,u);D.speed=1,D.wheelX=M,D.wheelY=x,10*Math.abs(M)<Math.abs(x)&&(M=0),10*Math.abs(x)<Math.abs(M)&&(x=0),_!=0&&(v=M/_,p=x/_),u._emit("mousewheel",D),D.propagationStopped||(v=p=0)}else{var H=new E(d,u),N=H.getDocumentPosition();i=="cursor"?u.selection.moveCursorToPosition(N):i=="anchor"&&u.selection.setSelectionAnchor(N.row,N.column),u.renderer.scrollCursorIntoView(N),d.preventDefault()}}},u);function g(){h+=60,s=setInterval(function(){h--<=0&&(clearInterval(s),s=null),Math.abs(v)<.01&&(v=0),Math.abs(p)<.01&&(p=0),h<20&&(v=.9*v),h<20&&(p=.9*p);var d=u.session.getScrollTop();u.renderer.scrollBy(10*v,10*p),d==u.session.getScrollTop()&&(h=0)},10)}}}),ace.define("ace/mouse/mouse_handler",["require","exports","module","ace/lib/event","ace/lib/useragent","ace/mouse/default_handlers","ace/mouse/default_gutter_handler","ace/mouse/mouse_event","ace/mouse/dragdrop_handler","ace/mouse/touch_handler","ace/config"],function(R,k,z){var E=R("../lib/event"),L=R("../lib/useragent"),A=R("./default_handlers").DefaultHandlers,l=R("./default_gutter_handler").GutterHandler,u=R("./mouse_event").MouseEvent,i=R("./dragdrop_handler").DragdropHandler,o=R("./touch_handler").addTouchListeners,r=R("../config"),t=function(){function e(n){this.$dragDelay,this.$dragEnabled,this.$mouseMoved,this.mouseEvent,this.$focusTimeout;var s=this;this.editor=n,new A(this),new l(this),new i(this);var h=function(v){var p=!document.hasFocus||!document.hasFocus()||!n.isFocused()&&document.activeElement==(n.textInput&&n.textInput.getElement());p&&window.focus(),n.focus(),setTimeout(function(){n.isFocused()||n.focus()})},f=n.renderer.getMouseEventTarget();E.addListener(f,"click",this.onMouseEvent.bind(this,"click"),n),E.addListener(f,"mousemove",this.onMouseMove.bind(this,"mousemove"),n),E.addMultiMouseDownListener([f,n.renderer.scrollBarV&&n.renderer.scrollBarV.inner,n.renderer.scrollBarH&&n.renderer.scrollBarH.inner,n.textInput&&n.textInput.getElement()].filter(Boolean),[400,300,250],this,"onMouseEvent",n),E.addMouseWheelListener(n.container,this.onMouseWheel.bind(this,"mousewheel"),n),o(n.container,n);var C=n.renderer.$gutter;E.addListener(C,"mousedown",this.onMouseEvent.bind(this,"guttermousedown"),n),E.addListener(C,"click",this.onMouseEvent.bind(this,"gutterclick"),n),E.addListener(C,"dblclick",this.onMouseEvent.bind(this,"gutterdblclick"),n),E.addListener(C,"mousemove",this.onMouseEvent.bind(this,"guttermousemove"),n),E.addListener(f,"mousedown",h,n),E.addListener(C,"mousedown",h,n),L.isIE&&n.renderer.scrollBarV&&(E.addListener(n.renderer.scrollBarV.element,"mousedown",h,n),E.addListener(n.renderer.scrollBarH.element,"mousedown",h,n)),n.on("mousemove",function(v){if(!(s.state||s.$dragDelay||!s.$dragEnabled)){var p=n.renderer.screenToTextCoordinates(v.x,v.y),a=n.session.selection.getRange(),m=n.renderer;!a.isEmpty()&&a.insideStart(p.row,p.column)?m.setCursorStyle("default"):m.setCursorStyle("")}},n)}return e.prototype.onMouseEvent=function(n,s){this.editor.session&&this.editor._emit(n,new u(s,this.editor))},e.prototype.onMouseMove=function(n,s){var h=this.editor._eventRegistry&&this.editor._eventRegistry.mousemove;!h||!h.length||this.editor._emit(n,new u(s,this.editor))},e.prototype.onMouseWheel=function(n,s){var h=new u(s,this.editor);h.speed=this.$scrollSpeed*2,h.wheelX=s.wheelX,h.wheelY=s.wheelY,this.editor._emit(n,h)},e.prototype.setState=function(n){this.state=n},e.prototype.captureMouse=function(n,s){this.x=n.x,this.y=n.y,this.isMousePressed=!0;var h=this.editor,f=this.editor.renderer;f.$isMousePressed=!0;var C=this,v=!0,p=function(w){if(w){if(L.isWebKit&&!w.which&&C.releaseMouse)return C.releaseMouse();C.x=w.clientX,C.y=w.clientY,s&&s(w),C.mouseEvent=new u(w,C.editor),C.$mouseMoved=!0}},a=function(w){h.off("beforeEndOperation",$),v=!1,h.session&&m(),C[C.state+"End"]&&C[C.state+"End"](w),C.state="",C.isMousePressed=f.$isMousePressed=!1,f.$keepTextAreaAtCursor&&f.$moveTextAreaToCursor(),C.$onCaptureMouseMove=C.releaseMouse=null,w&&C.onMouseEvent("mouseup",w),h.endOperation()},m=function(){C[C.state]&&C[C.state](),C.$mouseMoved=!1},S=function(){v&&(m(),E.nextFrame(S))};if(L.isOldIE&&n.domEvent.type=="dblclick")return setTimeout(function(){a(n)});var $=function(w){C.releaseMouse&&h.curOp.command.name&&h.curOp.selectionChanged&&(C[C.state+"End"]&&C[C.state+"End"](),C.state="",C.releaseMouse())};h.on("beforeEndOperation",$),h.startOperation({command:{name:"mouse"}}),C.$onCaptureMouseMove=p,C.releaseMouse=E.capture(this.editor.container,p,a),S()},e.prototype.cancelContextMenu=function(){var n=(function(s){s&&s.domEvent&&s.domEvent.type!="contextmenu"||(this.editor.off("nativecontextmenu",n),s&&s.domEvent&&E.stopEvent(s.domEvent))}).bind(this);setTimeout(n,10),this.editor.on("nativecontextmenu",n)},e.prototype.destroy=function(){this.releaseMouse&&this.releaseMouse()},e}();t.prototype.releaseMouse=null,r.defineOptions(t.prototype,"mouseHandler",{scrollSpeed:{initialValue:2},dragDelay:{initialValue:L.isMac?150:0},dragEnabled:{initialValue:!0},focusTimeout:{initialValue:0},tooltipFollowsMouse:{initialValue:!0}}),k.MouseHandler=t}),ace.define("ace/mouse/fold_handler",["require","exports","module","ace/lib/dom"],function(R,k,z){var E=R("../lib/dom"),L=function(){function A(l){l.on("click",function(u){var i=u.getDocumentPosition(),o=l.session,r=o.getFoldAt(i.row,i.column,1);r&&(u.getAccelKey()?o.removeFold(r):o.expandFold(r),u.stop());var t=u.domEvent&&u.domEvent.target;t&&E.hasCssClass(t,"ace_inline_button")&&E.hasCssClass(t,"ace_toggle_wrap")&&(o.setOption("wrap",!o.getUseWrapMode()),l.renderer.scrollCursorIntoView())}),l.on("gutterclick",function(u){var i=l.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var o=u.getDocumentPosition().row,r=l.session;r.foldWidgets&&r.foldWidgets[o]&&l.session.onFoldWidgetClick(o,u),l.isFocused()||l.focus(),u.stop()}}),l.on("gutterdblclick",function(u){var i=l.renderer.$gutterLayer.getRegion(u);if(i=="foldWidgets"){var o=u.getDocumentPosition().row,r=l.session,t=r.getParentFoldRangeData(o,!0),e=t.range||t.firstRange;if(e){o=e.start.row;var n=r.getFoldAt(o,r.getLine(o).length,1);n?r.removeFold(n):(r.addFold("...",e),l.renderer.scrollCursorIntoView({row:e.start.row,column:0}))}u.stop()}})}return A}();k.FoldHandler=L}),ace.define("ace/keyboard/keybinding",["require","exports","module","ace/lib/keys","ace/lib/event"],function(R,k,z){var E=R("../lib/keys"),L=R("../lib/event"),A=function(){function l(u){this.$editor=u,this.$data={editor:u},this.$handlers=[],this.setDefaultHandler(u.commands)}return l.prototype.setDefaultHandler=function(u){this.removeKeyboardHandler(this.$defaultHandler),this.$defaultHandler=u,this.addKeyboardHandler(u,0)},l.prototype.setKeyboardHandler=function(u){var i=this.$handlers;if(i[i.length-1]!=u){for(;i[i.length-1]&&i[i.length-1]!=this.$defaultHandler;)this.removeKeyboardHandler(i[i.length-1]);this.addKeyboardHandler(u,1)}},l.prototype.addKeyboardHandler=function(u,i){if(u){typeof u=="function"&&!u.handleKeyboard&&(u.handleKeyboard=u);var o=this.$handlers.indexOf(u);o!=-1&&this.$handlers.splice(o,1),i==null?this.$handlers.push(u):this.$handlers.splice(i,0,u),o==-1&&u.attach&&u.attach(this.$editor)}},l.prototype.removeKeyboardHandler=function(u){var i=this.$handlers.indexOf(u);return i==-1?!1:(this.$handlers.splice(i,1),u.detach&&u.detach(this.$editor),!0)},l.prototype.getKeyboardHandler=function(){return this.$handlers[this.$handlers.length-1]},l.prototype.getStatusText=function(){var u=this.$data,i=u.editor;return this.$handlers.map(function(o){return o.getStatusText&&o.getStatusText(i,u)||""}).filter(Boolean).join(" ")},l.prototype.$callKeyboardHandlers=function(u,i,o,r){for(var t,e=!1,n=this.$editor.commands,s=this.$handlers.length;s--&&(t=this.$handlers[s].handleKeyboard(this.$data,u,i,o,r),!(!(!t||!t.command)&&(t.command=="null"?e=!0:e=n.exec(t.command,this.$editor,t.args,r),e&&r&&u!=-1&&t.passEvent!=!0&&t.command.passEvent!=!0&&L.stopEvent(r),e))););return!e&&u==-1&&(t={command:"insertstring"},e=n.exec("insertstring",this.$editor,i)),e&&this.$editor._signal&&this.$editor._signal("keyboardActivity",t),e},l.prototype.onCommandKey=function(u,i,o){var r=E.keyCodeToString(o);return this.$callKeyboardHandlers(i,r,o,u)},l.prototype.onTextInput=function(u){return this.$callKeyboardHandlers(-1,u)},l}();k.KeyBinding=A}),ace.define("ace/lib/bidiutil",["require","exports","module"],function(R,k,z){var E=0,L=0,A=!1,l=!1,u=!1,i=[[0,3,0,1,0,0,0],[0,3,0,1,2,2,0],[0,3,0,17,2,0,1],[0,3,5,5,4,1,0],[0,3,21,21,4,0,1],[0,3,5,5,4,2,0]],o=[[2,0,1,1,0,1,0],[2,0,1,1,0,2,0],[2,0,2,1,3,2,0],[2,0,2,33,3,1,1]],r=0,t=1,e=0,n=1,s=2,h=3,f=4,C=5,v=6,p=7,a=8,m=9,S=10,$=11,w=12,T=13,b=14,g=15,d=16,c=17,y=18,M=[y,y,y,y,y,y,y,y,y,v,C,v,a,C,y,y,y,y,y,y,y,y,y,y,y,y,y,y,C,C,C,v,a,f,f,$,$,$,f,f,f,f,f,S,m,S,m,m,s,s,s,s,s,s,s,s,s,s,m,f,f,f,f,f,f,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,f,f,f,f,f,f,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,e,f,f,f,f,y,y,y,y,y,y,C,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,y,m,f,$,$,$,$,f,f,f,f,e,f,f,y,f,f,$,$,s,s,f,e,f,f,f,s,e,f,f,f,f,f],x=[a,a,a,a,a,a,a,a,a,a,a,y,y,y,e,n,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,a,C,T,b,g,d,c,m,$,$,$,$,$,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,m,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,f,a];function I(N,O,F,W){var B=E?o:i,P=null,V=null,G=null,Y=0,X=null,q=null,oe=-1,ee=null,ae=null,ce=[];if(!W)for(ee=0,W=[];ee<F;ee++)W[ee]=H(N[ee]);for(L=E,A=!1,l=!1,u=!1,ae=0;ae<F;ae++){if(P=Y,ce[ae]=V=D(N,W,ce,ae),Y=B[P][V],X=Y&240,Y&=15,O[ae]=G=B[Y][5],X>0)if(X==16){for(ee=oe;ee<ae;ee++)O[ee]=1;oe=-1}else oe=-1;if(q=B[Y][6],q)oe==-1&&(oe=ae);else if(oe>-1){for(ee=oe;ee<ae;ee++)O[ee]=G;oe=-1}W[ae]==C&&(O[ae]=0),L|=G}if(u){for(ee=0;ee<F;ee++)if(W[ee]==v){O[ee]=E;for(var he=ee-1;he>=0&&W[he]==a;he--)O[he]=E}}}function _(N,O,F){if(!(L<N)){if(N==1&&E==t&&!l){F.reverse();return}for(var W=F.length,B=0,P,V,G,Y;B<W;){if(O[B]>=N){for(P=B+1;P<W&&O[P]>=N;)P++;for(V=B,G=P-1;V<G;V++,G--)Y=F[V],F[V]=F[G],F[G]=Y;B=P}B++}}}function D(N,O,F,W){var B=O[W],P,V,G,Y;switch(B){case e:case n:A=!1;case f:case h:return B;case s:return A?h:s;case p:return A=!0,n;case a:return f;case m:return W<1||W+1>=O.length||(P=F[W-1])!=s&&P!=h||(V=O[W+1])!=s&&V!=h?f:(A&&(V=h),V==P?V:f);case S:return P=W>0?F[W-1]:C,P==s&&W+1<O.length&&O[W+1]==s?s:f;case $:if(W>0&&F[W-1]==s)return s;if(A)return f;for(Y=W+1,G=O.length;Y<G&&O[Y]==$;)Y++;return Y<G&&O[Y]==s?s:f;case w:for(G=O.length,Y=W+1;Y<G&&O[Y]==w;)Y++;if(Y<G){var X=N[W],q=X>=1425&&X<=2303||X==64286;if(P=O[Y],q&&(P==n||P==p))return n}return W<1||(P=O[W-1])==C?f:F[W-1];case C:return A=!1,l=!0,E;case v:return u=!0,f;case T:case b:case d:case c:case g:A=!1;case y:return f}}function H(N){var O=N.charCodeAt(0),F=O>>8;return F==0?O>191?e:M[O]:F==5?/[\u0591-\u05f4]/.test(N)?n:e:F==6?/[\u0610-\u061a\u064b-\u065f\u06d6-\u06e4\u06e7-\u06ed]/.test(N)?w:/[\u0660-\u0669\u066b-\u066c]/.test(N)?h:O==1642?$:/[\u06f0-\u06f9]/.test(N)?s:p:F==32&&O<=8287?x[O&255]:F==254&&O>=65136?p:f}k.L=e,k.R=n,k.EN=s,k.ON_R=3,k.AN=4,k.R_H=5,k.B=6,k.RLE=7,k.DOT="·",k.doBidiReorder=function(N,O,F){if(N.length<2)return{};var W=N.split(""),B=new Array(W.length),P=new Array(W.length),V=[];E=F?t:r,I(W,V,W.length,O);for(var G=0;G<B.length;B[G]=G,G++);_(2,V,B),_(1,V,B);for(var G=0;G<B.length-1;G++)O[G]===h?V[G]=k.AN:V[G]===n&&(O[G]>p&&O[G]<T||O[G]===f||O[G]===y)?V[G]=k.ON_R:G>0&&W[G-1]==="ل"&&/\u0622|\u0623|\u0625|\u0627/.test(W[G])&&(V[G-1]=V[G]=k.R_H,G++);W[W.length-1]===k.DOT&&(V[W.length-1]=k.B),W[0]===""&&(V[0]=k.RLE);for(var G=0;G<B.length;G++)P[G]=V[B[G]];return{logicalFromVisual:B,bidiLevels:P}},k.hasBidiCharacters=function(N,O){for(var F=!1,W=0;W<N.length;W++)O[W]=H(N.charAt(W)),!F&&(O[W]==n||O[W]==p||O[W]==h)&&(F=!0);return F},k.getVisualFromLogicalIdx=function(N,O){for(var F=0;F<O.logicalFromVisual.length;F++)if(O.logicalFromVisual[F]==N)return F;return 0}}),ace.define("ace/bidihandler",["require","exports","module","ace/lib/bidiutil","ace/lib/lang"],function(R,k,z){var E=R("./lib/bidiutil"),L=R("./lib/lang"),A=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\u202B]/,l=function(){function u(i){this.session=i,this.bidiMap={},this.currentRow=null,this.bidiUtil=E,this.charWidths=[],this.EOL="¬",this.showInvisibles=!0,this.isRtlDir=!1,this.$isRtl=!1,this.line="",this.wrapIndent=0,this.EOF="¶",this.RLE="",this.contentWidth=0,this.fontMetrics=null,this.rtlLineOffset=0,this.wrapOffset=0,this.isMoveLeftOperation=!1,this.seenBidi=A.test(i.getValue())}return u.prototype.isBidiRow=function(i,o,r){return this.seenBidi?(i!==this.currentRow&&(this.currentRow=i,this.updateRowLine(o,r),this.updateBidiMap()),this.bidiMap.bidiLevels):!1},u.prototype.onChange=function(i){this.seenBidi?this.currentRow=null:i.action=="insert"&&A.test(i.lines.join(`
|
|
179
|
-
`))&&(this.seenBidi=!0,this.currentRow=null)},u.prototype.getDocumentRow=function(){var i=0,o=this.session.$screenRowCache;if(o.length){var r=this.session.$getRowCacheIndex(o,this.currentRow);r>=0&&(i=this.session.$docRowCache[r])}return i},u.prototype.getSplitIndex=function(){var i=0,o=this.session.$screenRowCache;if(o.length)for(var r,t=this.session.$getRowCacheIndex(o,this.currentRow);this.currentRow-i>0&&(r=this.session.$getRowCacheIndex(o,this.currentRow-i-1),r===t);)t=r,i++;else i=this.currentRow;return i},u.prototype.updateRowLine=function(i,o){i===void 0&&(i=this.getDocumentRow());var r=i===this.session.getLength()-1,t=r?this.EOF:this.EOL;if(this.wrapIndent=0,this.line=this.session.getLine(i),this.isRtlDir=this.$isRtl||this.line.charAt(0)===this.RLE,this.session.$useWrapMode){var e=this.session.$wrapData[i];e&&(o===void 0&&(o=this.getSplitIndex()),o>0&&e.length?(this.wrapIndent=e.indent,this.wrapOffset=this.wrapIndent*this.charWidths[E.L],this.line=o<e.length?this.line.substring(e[o-1],e[o]):this.line.substring(e[e.length-1])):this.line=this.line.substring(0,e[o]),o==e.length&&(this.line+=this.showInvisibles?t:E.DOT))}else this.line+=this.showInvisibles?t:E.DOT;var n=this.session,s=0,h;this.line=this.line.replace(/\t|[\u1100-\u2029, \u202F-\uFFE6]/g,function(f,C){return f===" "||n.isFullWidth(f.charCodeAt(0))?(h=f===" "?n.getScreenTabSize(C+s):2,s+=h-1,L.stringRepeat(E.DOT,h)):f}),this.isRtlDir&&(this.fontMetrics.$main.textContent=this.line.charAt(this.line.length-1)==E.DOT?this.line.substr(0,this.line.length-1):this.line,this.rtlLineOffset=this.contentWidth-this.fontMetrics.$main.getBoundingClientRect().width)},u.prototype.updateBidiMap=function(){var i=[];E.hasBidiCharacters(this.line,i)||this.isRtlDir?this.bidiMap=E.doBidiReorder(this.line,i,this.isRtlDir):this.bidiMap={}},u.prototype.markAsDirty=function(){this.currentRow=null},u.prototype.updateCharacterWidths=function(i){if(this.characterWidth!==i.$characterSize.width){this.fontMetrics=i;var o=this.characterWidth=i.$characterSize.width,r=i.$measureCharWidth("ה");this.charWidths[E.L]=this.charWidths[E.EN]=this.charWidths[E.ON_R]=o,this.charWidths[E.R]=this.charWidths[E.AN]=r,this.charWidths[E.R_H]=r*.45,this.charWidths[E.B]=this.charWidths[E.RLE]=0,this.currentRow=null}},u.prototype.setShowInvisibles=function(i){this.showInvisibles=i,this.currentRow=null},u.prototype.setEolChar=function(i){this.EOL=i},u.prototype.setContentWidth=function(i){this.contentWidth=i},u.prototype.isRtlLine=function(i){return this.$isRtl?!0:i!=null?this.session.getLine(i).charAt(0)==this.RLE:this.isRtlDir},u.prototype.setRtlDirection=function(i,o){for(var r=i.getCursorPosition(),t=i.selection.getSelectionAnchor().row;t<=r.row;t++)!o&&i.session.getLine(t).charAt(0)===i.session.$bidiHandler.RLE?i.session.doc.removeInLine(t,0,1):o&&i.session.getLine(t).charAt(0)!==i.session.$bidiHandler.RLE&&i.session.doc.insert({column:0,row:t},i.session.$bidiHandler.RLE)},u.prototype.getPosLeft=function(i){i-=this.wrapIndent;var o=this.line.charAt(0)===this.RLE?1:0,r=i>o?this.session.getOverwrite()?i:i-1:o,t=E.getVisualFromLogicalIdx(r,this.bidiMap),e=this.bidiMap.bidiLevels,n=0;!this.session.getOverwrite()&&i<=o&&e[t]%2!==0&&t++;for(var s=0;s<t;s++)n+=this.charWidths[e[s]];return!this.session.getOverwrite()&&i>o&&e[t]%2===0&&(n+=this.charWidths[e[t]]),this.wrapIndent&&(n+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset),this.isRtlDir&&(n+=this.rtlLineOffset),n},u.prototype.getSelections=function(i,o){var r=this.bidiMap,t=r.bidiLevels,e,n=[],s=0,h=Math.min(i,o)-this.wrapIndent,f=Math.max(i,o)-this.wrapIndent,C=!1,v=!1,p=0;this.wrapIndent&&(s+=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);for(var a,m=0;m<t.length;m++)a=r.logicalFromVisual[m],e=t[m],C=a>=h&&a<f,C&&!v?p=s:!C&&v&&n.push({left:p,width:s-p}),s+=this.charWidths[e],v=C;if(C&&m===t.length&&n.push({left:p,width:s-p}),this.isRtlDir)for(var S=0;S<n.length;S++)n[S].left+=this.rtlLineOffset;return n},u.prototype.offsetToCol=function(r){this.isRtlDir&&(r-=this.rtlLineOffset);var o=0,r=Math.max(r,0),t=0,e=0,n=this.bidiMap.bidiLevels,s=this.charWidths[n[e]];for(this.wrapIndent&&(r-=this.isRtlDir?-1*this.wrapOffset:this.wrapOffset);r>t+s/2;){if(t+=s,e===n.length-1){s=0;break}s=this.charWidths[n[++e]]}return e>0&&n[e-1]%2!==0&&n[e]%2===0?(r<t&&e--,o=this.bidiMap.logicalFromVisual[e]):e>0&&n[e-1]%2===0&&n[e]%2!==0?o=1+(r>t?this.bidiMap.logicalFromVisual[e]:this.bidiMap.logicalFromVisual[e-1]):this.isRtlDir&&e===n.length-1&&s===0&&n[e-1]%2===0||!this.isRtlDir&&e===0&&n[e]%2!==0?o=1+this.bidiMap.logicalFromVisual[e]:(e>0&&n[e-1]%2!==0&&s!==0&&e--,o=this.bidiMap.logicalFromVisual[e]),o===0&&this.isRtlDir&&o++,o+this.wrapIndent},u}();k.BidiHandler=l}),ace.define("ace/selection",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/range"],function(R,k,z){var E=R("./lib/oop"),L=R("./lib/lang"),A=R("./lib/event_emitter").EventEmitter,l=R("./range").Range,u=function(){function i(o){this.session=o,this.doc=o.getDocument(),this.clearSelection(),this.cursor=this.lead=this.doc.createAnchor(0,0),this.anchor=this.doc.createAnchor(0,0),this.$silent=!1;var r=this;this.cursor.on("change",function(t){r.$cursorChanged=!0,r.$silent||r._emit("changeCursor"),!r.$isEmpty&&!r.$silent&&r._emit("changeSelection"),!r.$keepDesiredColumnOnChange&&t.old.column!=t.value.column&&(r.$desiredColumn=null)}),this.anchor.on("change",function(){r.$anchorChanged=!0,!r.$isEmpty&&!r.$silent&&r._emit("changeSelection")})}return i.prototype.isEmpty=function(){return this.$isEmpty||this.anchor.row==this.lead.row&&this.anchor.column==this.lead.column},i.prototype.isMultiLine=function(){return!this.$isEmpty&&this.anchor.row!=this.cursor.row},i.prototype.getCursor=function(){return this.lead.getPosition()},i.prototype.setAnchor=function(o,r){this.$isEmpty=!1,this.anchor.setPosition(o,r)},i.prototype.getAnchor=function(){return this.$isEmpty?this.getSelectionLead():this.anchor.getPosition()},i.prototype.getSelectionLead=function(){return this.lead.getPosition()},i.prototype.isBackwards=function(){var o=this.anchor,r=this.lead;return o.row>r.row||o.row==r.row&&o.column>r.column},i.prototype.getRange=function(){var o=this.anchor,r=this.lead;return this.$isEmpty?l.fromPoints(r,r):this.isBackwards()?l.fromPoints(r,o):l.fromPoints(o,r)},i.prototype.clearSelection=function(){this.$isEmpty||(this.$isEmpty=!0,this._emit("changeSelection"))},i.prototype.selectAll=function(){this.$setSelection(0,0,Number.MAX_VALUE,Number.MAX_VALUE)},i.prototype.setRange=function(o,r){var t=r?o.end:o.start,e=r?o.start:o.end;this.$setSelection(t.row,t.column,e.row,e.column)},i.prototype.$setSelection=function(o,r,t,e){if(!this.$silent){var n=this.$isEmpty,s=this.inMultiSelectMode;this.$silent=!0,this.$cursorChanged=this.$anchorChanged=!1,this.anchor.setPosition(o,r),this.cursor.setPosition(t,e),this.$isEmpty=!l.comparePoints(this.anchor,this.cursor),this.$silent=!1,this.$cursorChanged&&this._emit("changeCursor"),(this.$cursorChanged||this.$anchorChanged||n!=this.$isEmpty||s)&&this._emit("changeSelection")}},i.prototype.$moveSelection=function(o){var r=this.lead;this.$isEmpty&&this.setSelectionAnchor(r.row,r.column),o.call(this)},i.prototype.selectTo=function(o,r){this.$moveSelection(function(){this.moveCursorTo(o,r)})},i.prototype.selectToPosition=function(o){this.$moveSelection(function(){this.moveCursorToPosition(o)})},i.prototype.moveTo=function(o,r){this.clearSelection(),this.moveCursorTo(o,r)},i.prototype.moveToPosition=function(o){this.clearSelection(),this.moveCursorToPosition(o)},i.prototype.selectUp=function(){this.$moveSelection(this.moveCursorUp)},i.prototype.selectDown=function(){this.$moveSelection(this.moveCursorDown)},i.prototype.selectRight=function(){this.$moveSelection(this.moveCursorRight)},i.prototype.selectLeft=function(){this.$moveSelection(this.moveCursorLeft)},i.prototype.selectLineStart=function(){this.$moveSelection(this.moveCursorLineStart)},i.prototype.selectLineEnd=function(){this.$moveSelection(this.moveCursorLineEnd)},i.prototype.selectFileEnd=function(){this.$moveSelection(this.moveCursorFileEnd)},i.prototype.selectFileStart=function(){this.$moveSelection(this.moveCursorFileStart)},i.prototype.selectWordRight=function(){this.$moveSelection(this.moveCursorWordRight)},i.prototype.selectWordLeft=function(){this.$moveSelection(this.moveCursorWordLeft)},i.prototype.getWordRange=function(o,r){if(typeof r>"u"){var t=o||this.lead;o=t.row,r=t.column}return this.session.getWordRange(o,r)},i.prototype.selectWord=function(){this.setSelectionRange(this.getWordRange())},i.prototype.selectAWord=function(){var o=this.getCursor(),r=this.session.getAWordRange(o.row,o.column);this.setSelectionRange(r)},i.prototype.getLineRange=function(o,r){var t=typeof o=="number"?o:this.lead.row,e,n=this.session.getFoldLine(t);return n?(t=n.start.row,e=n.end.row):e=t,r===!0?new l(t,0,e,this.session.getLine(e).length):new l(t,0,e+1,0)},i.prototype.selectLine=function(){this.setSelectionRange(this.getLineRange())},i.prototype.moveCursorUp=function(){this.moveCursorBy(-1,0)},i.prototype.moveCursorDown=function(){this.moveCursorBy(1,0)},i.prototype.wouldMoveIntoSoftTab=function(o,r,t){var e=o.column,n=o.column+r;return t<0&&(e=o.column-r,n=o.column),this.session.isTabStop(o)&&this.doc.getLine(o.row).slice(e,n).split(" ").length-1==r},i.prototype.moveCursorLeft=function(){var o=this.lead.getPosition(),r;if(r=this.session.getFoldAt(o.row,o.column,-1))this.moveCursorTo(r.start.row,r.start.column);else if(o.column===0)o.row>0&&this.moveCursorTo(o.row-1,this.doc.getLine(o.row-1).length);else{var t=this.session.getTabSize();this.wouldMoveIntoSoftTab(o,t,-1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,-t):this.moveCursorBy(0,-1)}},i.prototype.moveCursorRight=function(){var o=this.lead.getPosition(),r;if(r=this.session.getFoldAt(o.row,o.column,1))this.moveCursorTo(r.end.row,r.end.column);else if(this.lead.column==this.doc.getLine(this.lead.row).length)this.lead.row<this.doc.getLength()-1&&this.moveCursorTo(this.lead.row+1,0);else{var t=this.session.getTabSize(),o=this.lead;this.wouldMoveIntoSoftTab(o,t,1)&&!this.session.getNavigateWithinSoftTabs()?this.moveCursorBy(0,t):this.moveCursorBy(0,1)}},i.prototype.moveCursorLineStart=function(){var o=this.lead.row,r=this.lead.column,t=this.session.documentToScreenRow(o,r),e=this.session.screenToDocumentPosition(t,0),n=this.session.getDisplayLine(o,null,e.row,e.column),s=n.match(/^\s*/);s[0].length!=r&&!this.session.$useEmacsStyleLineStart&&(e.column+=s[0].length),this.moveCursorToPosition(e)},i.prototype.moveCursorLineEnd=function(){var o=this.lead,r=this.session.getDocumentLastRowColumnPosition(o.row,o.column);if(this.lead.column==r.column){var t=this.session.getLine(r.row);if(r.column==t.length){var e=t.search(/\s+$/);e>0&&(r.column=e)}}this.moveCursorTo(r.row,r.column)},i.prototype.moveCursorFileEnd=function(){var o=this.doc.getLength()-1,r=this.doc.getLine(o).length;this.moveCursorTo(o,r)},i.prototype.moveCursorFileStart=function(){this.moveCursorTo(0,0)},i.prototype.moveCursorLongWordRight=function(){var o=this.lead.row,r=this.lead.column,t=this.doc.getLine(o),e=t.substring(r);this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0;var n=this.session.getFoldAt(o,r,1);if(n){this.moveCursorTo(n.end.row,n.end.column);return}if(this.session.nonTokenRe.exec(e)&&(r+=this.session.nonTokenRe.lastIndex,this.session.nonTokenRe.lastIndex=0,e=t.substring(r)),r>=t.length){this.moveCursorTo(o,t.length),this.moveCursorRight(),o<this.doc.getLength()-1&&this.moveCursorWordRight();return}this.session.tokenRe.exec(e)&&(r+=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(o,r)},i.prototype.moveCursorLongWordLeft=function(){var o=this.lead.row,r=this.lead.column,t;if(t=this.session.getFoldAt(o,r,-1)){this.moveCursorTo(t.start.row,t.start.column);return}var e=this.session.getFoldStringAt(o,r,-1);e==null&&(e=this.doc.getLine(o).substring(0,r));var n=L.stringReverse(e);if(this.session.nonTokenRe.lastIndex=0,this.session.tokenRe.lastIndex=0,this.session.nonTokenRe.exec(n)&&(r-=this.session.nonTokenRe.lastIndex,n=n.slice(this.session.nonTokenRe.lastIndex),this.session.nonTokenRe.lastIndex=0),r<=0){this.moveCursorTo(o,0),this.moveCursorLeft(),o>0&&this.moveCursorWordLeft();return}this.session.tokenRe.exec(n)&&(r-=this.session.tokenRe.lastIndex,this.session.tokenRe.lastIndex=0),this.moveCursorTo(o,r)},i.prototype.$shortWordEndIndex=function(o){var r=0,t,e=/\s/,n=this.session.tokenRe;if(n.lastIndex=0,this.session.tokenRe.exec(o))r=this.session.tokenRe.lastIndex;else{for(;(t=o[r])&&e.test(t);)r++;if(r<1){for(n.lastIndex=0;(t=o[r])&&!n.test(t);)if(n.lastIndex=0,r++,e.test(t))if(r>2){r--;break}else{for(;(t=o[r])&&e.test(t);)r++;if(r>2)break}}}return n.lastIndex=0,r},i.prototype.moveCursorShortWordRight=function(){var o=this.lead.row,r=this.lead.column,t=this.doc.getLine(o),e=t.substring(r),n=this.session.getFoldAt(o,r,1);if(n)return this.moveCursorTo(n.end.row,n.end.column);if(r==t.length){var s=this.doc.getLength();do o++,e=this.doc.getLine(o);while(o<s&&/^\s*$/.test(e));/^\s+/.test(e)||(e=""),r=0}var h=this.$shortWordEndIndex(e);this.moveCursorTo(o,r+h)},i.prototype.moveCursorShortWordLeft=function(){var o=this.lead.row,r=this.lead.column,t;if(t=this.session.getFoldAt(o,r,-1))return this.moveCursorTo(t.start.row,t.start.column);var e=this.session.getLine(o).substring(0,r);if(r===0){do o--,e=this.doc.getLine(o);while(o>0&&/^\s*$/.test(e));r=e.length,/\s+$/.test(e)||(e="")}var n=L.stringReverse(e),s=this.$shortWordEndIndex(n);return this.moveCursorTo(o,r-s)},i.prototype.moveCursorWordRight=function(){this.session.$selectLongWords?this.moveCursorLongWordRight():this.moveCursorShortWordRight()},i.prototype.moveCursorWordLeft=function(){this.session.$selectLongWords?this.moveCursorLongWordLeft():this.moveCursorShortWordLeft()},i.prototype.moveCursorBy=function(o,r){var t=this.session.documentToScreenPosition(this.lead.row,this.lead.column),e;if(r===0&&(o!==0&&(this.session.$bidiHandler.isBidiRow(t.row,this.lead.row)?(e=this.session.$bidiHandler.getPosLeft(t.column),t.column=Math.round(e/this.session.$bidiHandler.charWidths[0])):e=t.column*this.session.$bidiHandler.charWidths[0]),this.$desiredColumn?t.column=this.$desiredColumn:this.$desiredColumn=t.column),o!=0&&this.session.lineWidgets&&this.session.lineWidgets[this.lead.row]){var n=this.session.lineWidgets[this.lead.row];o<0?o-=n.rowsAbove||0:o>0&&(o+=n.rowCount-(n.rowsAbove||0))}var s=this.session.screenToDocumentPosition(t.row+o,t.column,e);o!==0&&r===0&&s.row===this.lead.row&&(s.column,this.lead.column),this.moveCursorTo(s.row,s.column+r,r===0)},i.prototype.moveCursorToPosition=function(o){this.moveCursorTo(o.row,o.column)},i.prototype.moveCursorTo=function(o,r,t){var e=this.session.getFoldAt(o,r,1);e&&(o=e.start.row,r=e.start.column),this.$keepDesiredColumnOnChange=!0;var n=this.session.getLine(o);/[\uDC00-\uDFFF]/.test(n.charAt(r))&&n.charAt(r-1)&&(this.lead.row==o&&this.lead.column==r+1?r=r-1:r=r+1),this.lead.setPosition(o,r),this.$keepDesiredColumnOnChange=!1,t||(this.$desiredColumn=null)},i.prototype.moveCursorToScreen=function(o,r,t){var e=this.session.screenToDocumentPosition(o,r);this.moveCursorTo(e.row,e.column,t)},i.prototype.detach=function(){this.lead.detach(),this.anchor.detach()},i.prototype.fromOrientedRange=function(o){this.setSelectionRange(o,o.cursor==o.start),this.$desiredColumn=o.desiredColumn||this.$desiredColumn},i.prototype.toOrientedRange=function(o){var r=this.getRange();return o?(o.start.column=r.start.column,o.start.row=r.start.row,o.end.column=r.end.column,o.end.row=r.end.row):o=r,o.cursor=this.isBackwards()?o.start:o.end,o.desiredColumn=this.$desiredColumn,o},i.prototype.getRangeOfMovements=function(o){var r=this.getCursor();try{o(this);var t=this.getCursor();return l.fromPoints(r,t)}catch{return l.fromPoints(r,r)}finally{this.moveCursorToPosition(r)}},i.prototype.toJSON=function(){if(this.rangeCount)var o=this.ranges.map(function(r){var t=r.clone();return t.isBackwards=r.cursor==r.start,t});else{var o=this.getRange();o.isBackwards=this.isBackwards()}return o},i.prototype.fromJSON=function(o){if(o.start==null)if(this.rangeList&&o.length>1){this.toSingleRange(o[0]);for(var r=o.length;r--;){var t=l.fromPoints(o[r].start,o[r].end);o[r].isBackwards&&(t.cursor=t.start),this.addRange(t,!0)}return}else o=o[0];this.rangeList&&this.toSingleRange(o),this.setSelectionRange(o,o.isBackwards)},i.prototype.isEqual=function(o){if((o.length||this.rangeCount)&&o.length!=this.rangeCount)return!1;if(!o.length||!this.ranges)return this.getRange().isEqual(o);for(var r=this.ranges.length;r--;)if(!this.ranges[r].isEqual(o[r]))return!1;return!0},i}();u.prototype.setSelectionAnchor=u.prototype.setAnchor,u.prototype.getSelectionAnchor=u.prototype.getAnchor,u.prototype.setSelectionRange=u.prototype.setRange,E.implement(u.prototype,A),k.Selection=u}),ace.define("ace/tokenizer",["require","exports","module","ace/lib/report_error"],function(R,k,z){var E=R("./lib/report_error").reportError,L=2e3,A=function(){function l(u){this.splitRegex,this.states=u,this.regExps={},this.matchMappings={};for(var i in this.states){for(var o=this.states[i],r=[],t=0,e=this.matchMappings[i]={defaultToken:"text"},n="g",s=[],h=0;h<o.length;h++){var f=o[h];if(f.defaultToken&&(e.defaultToken=f.defaultToken),f.caseInsensitive&&n.indexOf("i")===-1&&(n+="i"),f.unicode&&n.indexOf("u")===-1&&(n+="u"),f.regex!=null){f.regex instanceof RegExp&&(f.regex=f.regex.toString().slice(1,-1));var C=f.regex,v=new RegExp("(?:("+C+")|(.))").exec("a").length-2;Array.isArray(f.token)?f.token.length==1||v==1?f.token=f.token[0]:v-1!=f.token.length?(this.reportError("number of classes and regexp groups doesn't match",{rule:f,groupCount:v-1}),f.token=f.token[0]):(f.tokenArray=f.token,f.token=null,f.onMatch=this.$arrayTokens):typeof f.token=="function"&&!f.onMatch&&(v>1?f.onMatch=this.$applyToken:f.onMatch=f.token),v>1&&(/\\\d/.test(f.regex)?C=f.regex.replace(/\\([0-9]+)/g,function(p,a){return"\\"+(parseInt(a,10)+t+1)}):(v=1,C=this.removeCapturingGroups(f.regex)),!f.splitRegex&&typeof f.token!="string"&&s.push(f)),e[t]=h,t+=v,r.push(C),f.onMatch||(f.onMatch=null)}}r.length||(e[0]=0,r.push("$")),s.forEach(function(p){p.splitRegex=this.createSplitterRegexp(p.regex,n)},this),this.regExps[i]=new RegExp("("+r.join(")|(")+")|($)",n)}}return l.prototype.$setMaxTokenCount=function(u){L=u|0},l.prototype.$applyToken=function(u){var i=this.splitRegex.exec(u).slice(1),o=this.token.apply(this,i);if(typeof o=="string")return[{type:o,value:u}];for(var r=[],t=0,e=o.length;t<e;t++)i[t]&&(r[r.length]={type:o[t],value:i[t]});return r},l.prototype.$arrayTokens=function(u){if(!u)return[];var i=this.splitRegex.exec(u);if(!i)return"text";for(var o=[],r=this.tokenArray,t=0,e=r.length;t<e;t++)i[t+1]&&(o[o.length]={type:r[t],value:i[t+1]});return o},l.prototype.removeCapturingGroups=function(u){var i=u.replace(/\\.|\[(?:\\.|[^\\\]])*|\(\?[:=!<]|(\()/g,function(o,r){return r?"(?:":o});return i},l.prototype.createSplitterRegexp=function(u,i){if(u.indexOf("(?=")!=-1){var o=0,r=!1,t={};u.replace(/(\\.)|(\((?:\?[=!])?)|(\))|([\[\]])/g,function(e,n,s,h,f,C){return r?r=f!="]":f?r=!0:h?(o==t.stack&&(t.end=C+1,t.stack=-1),o--):s&&(o++,s.length!=1&&(t.stack=o,t.start=C)),e}),t.end!=null&&/^\)*$/.test(u.substr(t.end))&&(u=u.substring(0,t.start)+u.substr(t.end))}return u.charAt(0)!="^"&&(u="^"+u),u.charAt(u.length-1)!="$"&&(u+="$"),new RegExp(u,(i||"").replace("g",""))},l.prototype.getLineTokens=function(u,i){if(i&&typeof i!="string"){var o=i.slice(0);i=o[0],i==="#tmp"&&(o.shift(),i=o.shift())}else var o=[];var r=i||"start",t=this.states[r];t||(r="start",t=this.states[r]);var e=this.matchMappings[r],n=this.regExps[r];n.lastIndex=0;for(var s,h=[],f=0,C=0,v={type:null,value:""};s=n.exec(u);){var p=e.defaultToken,a=null,m=s[0],S=n.lastIndex;if(S-m.length>f){var $=u.substring(f,S-m.length);v.type==p?v.value+=$:(v.type&&h.push(v),v={type:p,value:$})}for(var w=0;w<s.length-2;w++)if(s[w+1]!==void 0){a=t[e[w]],a.onMatch?p=a.onMatch(m,r,o,u):p=a.token,a.next&&(typeof a.next=="string"?r=a.next:r=a.next(r,o),t=this.states[r],t||(this.reportError("state doesn't exist",r),r="start",t=this.states[r]),e=this.matchMappings[r],f=S,n=this.regExps[r],n.lastIndex=S),a.consumeLineEnd&&(f=S);break}if(m){if(typeof p=="string")(!a||a.merge!==!1)&&v.type===p?v.value+=m:(v.type&&h.push(v),v={type:p,value:m});else if(p){v.type&&h.push(v),v={type:null,value:""};for(var w=0;w<p.length;w++)h.push(p[w])}}if(f==u.length)break;if(f=S,C++>L){for(C>2*u.length&&this.reportError("infinite loop with in ace tokenizer",{startState:i,line:u});f<u.length;)v.type&&h.push(v),v={value:u.substring(f,f+=500),type:"overflow"};r="start",o=[];break}}return v.type&&h.push(v),o.length>1&&o[0]!==r&&o.unshift("#tmp",r),{tokens:h,state:o.length?o:r}},l}();A.prototype.reportError=E,k.Tokenizer=A}),ace.define("ace/mode/text_highlight_rules",["require","exports","module","ace/lib/deep_copy"],function(R,k,z){var E=R("../lib/deep_copy").deepCopy,L;L=function(){this.$rules={start:[{token:"empty_line",regex:"^$"},{defaultToken:"text"}]}},(function(){this.addRules=function(u,i){if(!i){for(var o in u)this.$rules[o]=u[o];return}for(var o in u){for(var r=u[o],t=0;t<r.length;t++){var e=r[t];(e.next||e.onMatch)&&(typeof e.next=="string"&&e.next.indexOf(i)!==0&&(e.next=i+e.next),e.nextState&&e.nextState.indexOf(i)!==0&&(e.nextState=i+e.nextState))}this.$rules[i+o]=r}},this.getRules=function(){return this.$rules},this.embedRules=function(u,i,o,r,t){var e=typeof u=="function"?new u().getRules():u;if(r)for(var n=0;n<r.length;n++)r[n]=i+r[n];else{r=[];for(var s in e)r.push(i+s)}if(this.addRules(e,i),o)for(var h=Array.prototype[t?"push":"unshift"],n=0;n<r.length;n++)h.apply(this.$rules[r[n]],E(o));this.$embeds||(this.$embeds=[]),this.$embeds.push(i)},this.getEmbeds=function(){return this.$embeds};var A=function(u,i){return(u!="start"||i.length)&&i.unshift(this.nextState,u),this.nextState},l=function(u,i){return i.shift(),i.shift()||"start"};this.normalizeRules=function(){var u=0,i=this.$rules;function o(r){var t=i[r];t.processed=!0;for(var e=0;e<t.length;e++){var n=t[e],s=null;Array.isArray(n)&&(s=n,n={}),!n.regex&&n.start&&(n.regex=n.start,n.next||(n.next=[]),n.next.push({defaultToken:n.token},{token:n.token+".end",regex:n.end||n.start,next:"pop"}),n.token=n.token+".start",n.push=!0);var h=n.next||n.push;if(h&&Array.isArray(h)){var f=n.stateName;f||(f=n.token,typeof f!="string"&&(f=f[0]||""),i[f]&&(f+=u++)),i[f]=h,n.next=f,o(f)}else h=="pop"&&(n.next=l);if(n.push&&(n.nextState=n.next||n.push,n.next=A,delete n.push),n.rules)for(var C in n.rules)i[C]?i[C].push&&i[C].push.apply(i[C],n.rules[C]):i[C]=n.rules[C];var v=typeof n=="string"?n:n.include;if(v&&(v==="$self"&&(v="start"),Array.isArray(v)?s=v.map(function(a){return i[a]}):s=i[v]),s){var p=[e,1].concat(s);n.noEscape&&(p=p.filter(function(a){return!a.next})),t.splice.apply(t,p),e--}n.keywordMap&&(n.token=this.createKeywordMapper(n.keywordMap,n.defaultToken||"text",n.caseInsensitive),delete n.defaultToken)}}Object.keys(i).forEach(o,this)},this.createKeywordMapper=function(u,i,o,r){var t=Object.create(null);return this.$keywordList=[],Object.keys(u).forEach(function(e){for(var n=u[e],s=n.split(r||"|"),h=s.length;h--;){var f=s[h];this.$keywordList.push(f),o&&(f=f.toLowerCase()),t[f]=e}},this),u=null,o?function(e){return t[e.toLowerCase()]||i}:function(e){return t[e]||i}},this.getKeywords=function(){return this.$keywords}}).call(L.prototype),k.TextHighlightRules=L}),ace.define("ace/mode/behaviour",["require","exports","module"],function(R,k,z){var E;E=function(){this.$behaviours={}},(function(){this.add=function(L,A,l){switch(void 0){case this.$behaviours:this.$behaviours={};case this.$behaviours[L]:this.$behaviours[L]={}}this.$behaviours[L][A]=l},this.addBehaviours=function(L){for(var A in L)for(var l in L[A])this.add(A,l,L[A][l])},this.remove=function(L){this.$behaviours&&this.$behaviours[L]&&delete this.$behaviours[L]},this.inherit=function(L,A){if(typeof L=="function")var l=new L().getBehaviours(A);else var l=L.getBehaviours(A);this.addBehaviours(l)},this.getBehaviours=function(L){if(L){for(var A={},l=0;l<L.length;l++)this.$behaviours[L[l]]&&(A[L[l]]=this.$behaviours[L[l]]);return A}else return this.$behaviours}}).call(E.prototype),k.Behaviour=E}),ace.define("ace/token_iterator",["require","exports","module","ace/range"],function(R,k,z){var E=R("./range").Range,L=function(){function A(l,u,i){this.$session=l,this.$row=u,this.$rowTokens=l.getTokens(u);var o=l.getTokenAt(u,i);this.$tokenIndex=o?o.index:-1}return A.prototype.stepBackward=function(){for(this.$tokenIndex-=1;this.$tokenIndex<0;){if(this.$row-=1,this.$row<0)return this.$row=0,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=this.$rowTokens.length-1}return this.$rowTokens[this.$tokenIndex]},A.prototype.stepForward=function(){this.$tokenIndex+=1;for(var l;this.$tokenIndex>=this.$rowTokens.length;){if(this.$row+=1,l||(l=this.$session.getLength()),this.$row>=l)return this.$row=l-1,null;this.$rowTokens=this.$session.getTokens(this.$row),this.$tokenIndex=0}return this.$rowTokens[this.$tokenIndex]},A.prototype.getCurrentToken=function(){return this.$rowTokens[this.$tokenIndex]},A.prototype.getCurrentTokenRow=function(){return this.$row},A.prototype.getCurrentTokenColumn=function(){var l=this.$rowTokens,u=this.$tokenIndex,i=l[u].start;if(i!==void 0)return i;for(i=0;u>0;)u-=1,i+=l[u].value.length;return i},A.prototype.getCurrentTokenPosition=function(){return{row:this.$row,column:this.getCurrentTokenColumn()}},A.prototype.getCurrentTokenRange=function(){var l=this.$rowTokens[this.$tokenIndex],u=this.getCurrentTokenColumn();return new E(this.$row,u,this.$row,u+l.value.length)},A}();k.TokenIterator=L}),ace.define("ace/mode/behaviour/cstyle",["require","exports","module","ace/lib/oop","ace/mode/behaviour","ace/token_iterator","ace/lib/lang"],function(R,k,z){var E=R("../../lib/oop"),L=R("../behaviour").Behaviour,A=R("../../token_iterator").TokenIterator,l=R("../../lib/lang"),u=["text","paren.rparen","rparen","paren","punctuation.operator"],i=["text","paren.rparen","rparen","paren","punctuation.operator","comment"],o,r={},t={'"':'"',"'":"'"},e=function(h){var f=-1;if(h.multiSelect&&(f=h.selection.index,r.rangeCount!=h.multiSelect.rangeCount&&(r={rangeCount:h.multiSelect.rangeCount})),r[f])return o=r[f];o=r[f]={autoInsertedBrackets:0,autoInsertedRow:-1,autoInsertedLineEnd:"",maybeInsertedBrackets:0,maybeInsertedRow:-1,maybeInsertedLineStart:"",maybeInsertedLineEnd:""}},n=function(h,f,C,v){var p=h.end.row-h.start.row;return{text:C+f+v,selection:[0,h.start.column+1,p,h.end.column+(p?0:1)]}},s;s=function(h){h=h||{},this.add("braces","insertion",function(f,C,v,p,a){var m=v.getCursorPosition(),S=p.doc.getLine(m.row);if(a=="{"){e(v);var $=v.getSelectionRange(),w=p.doc.getTextRange($),T=p.getTokenAt(m.row,m.column);if(w!==""&&w!=="{"&&v.getWrapBehavioursEnabled())return n($,w,"{","}");if(T&&/(?:string)\.quasi|\.xml/.test(T.type)){var b=[/tag\-(?:open|name)/,/attribute\-name/];return b.some(function(I){return I.test(T.type)})||/(string)\.quasi/.test(T.type)&&T.value[m.column-T.start-1]!=="$"?void 0:(s.recordAutoInsert(v,p,"}"),{text:"{}",selection:[1,1]})}else if(s.isSaneInsertion(v,p))return/[\]\}\)]/.test(S[m.column])||v.inMultiSelectMode||h.braces?(s.recordAutoInsert(v,p,"}"),{text:"{}",selection:[1,1]}):(s.recordMaybeInsert(v,p,"{"),{text:"{",selection:[1,1]})}else if(a=="}"){e(v);var g=S.substring(m.column,m.column+1);if(g=="}"){var d=p.$findOpeningBracket("}",{column:m.column+1,row:m.row});if(d!==null&&s.isAutoInsertedClosing(m,S,a))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}else if(a==`
|
|
180
|
-
`||a==`\r
|
|
181
|
-
`){e(v);var c="";s.isMaybeInsertedClosing(m,S)&&(c=l.stringRepeat("}",o.maybeInsertedBrackets),s.clearMaybeInsertedClosing());var g=S.substring(m.column,m.column+1);if(g==="}"){var y=p.findMatchingBracket({row:m.row,column:m.column+1},"}");if(!y)return null;var M=this.$getIndent(p.getLine(y.row))}else if(c)var M=this.$getIndent(S);else{s.clearMaybeInsertedClosing();return}var x=M+p.getTabString();return{text:`
|
|
182
|
-
`+x+`
|
|
183
|
-
`+M+c,selection:[1,x.length,1,x.length]}}else s.clearMaybeInsertedClosing()}),this.add("braces","deletion",function(f,C,v,p,a){var m=p.doc.getTextRange(a);if(!a.isMultiLine()&&m=="{"){e(v);var S=p.doc.getLine(a.start.row),$=S.substring(a.end.column,a.end.column+1);if($=="}")return a.end.column++,a;o.maybeInsertedBrackets--}}),this.add("parens","insertion",function(f,C,v,p,a){if(a=="("){e(v);var m=v.getSelectionRange(),S=p.doc.getTextRange(m);if(S!==""&&v.getWrapBehavioursEnabled())return n(m,S,"(",")");if(s.isSaneInsertion(v,p))return s.recordAutoInsert(v,p,")"),{text:"()",selection:[1,1]}}else if(a==")"){e(v);var $=v.getCursorPosition(),w=p.doc.getLine($.row),T=w.substring($.column,$.column+1);if(T==")"){var b=p.$findOpeningBracket(")",{column:$.column+1,row:$.row});if(b!==null&&s.isAutoInsertedClosing($,w,a))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("parens","deletion",function(f,C,v,p,a){var m=p.doc.getTextRange(a);if(!a.isMultiLine()&&m=="("){e(v);var S=p.doc.getLine(a.start.row),$=S.substring(a.start.column+1,a.start.column+2);if($==")")return a.end.column++,a}}),this.add("brackets","insertion",function(f,C,v,p,a){if(a=="["){e(v);var m=v.getSelectionRange(),S=p.doc.getTextRange(m);if(S!==""&&v.getWrapBehavioursEnabled())return n(m,S,"[","]");if(s.isSaneInsertion(v,p))return s.recordAutoInsert(v,p,"]"),{text:"[]",selection:[1,1]}}else if(a=="]"){e(v);var $=v.getCursorPosition(),w=p.doc.getLine($.row),T=w.substring($.column,$.column+1);if(T=="]"){var b=p.$findOpeningBracket("]",{column:$.column+1,row:$.row});if(b!==null&&s.isAutoInsertedClosing($,w,a))return s.popAutoInsertedClosing(),{text:"",selection:[1,1]}}}}),this.add("brackets","deletion",function(f,C,v,p,a){var m=p.doc.getTextRange(a);if(!a.isMultiLine()&&m=="["){e(v);var S=p.doc.getLine(a.start.row),$=S.substring(a.start.column+1,a.start.column+2);if($=="]")return a.end.column++,a}}),this.add("string_dquotes","insertion",function(f,C,v,p,a){var m=p.$mode.$quotes||t;if(a.length==1&&m[a]){if(this.lineCommentStart&&this.lineCommentStart.indexOf(a)!=-1)return;e(v);var S=a,$=v.getSelectionRange(),w=p.doc.getTextRange($);if(w!==""&&(w.length!=1||!m[w])&&v.getWrapBehavioursEnabled())return n($,w,S,S);if(!w){var T=v.getCursorPosition(),b=p.doc.getLine(T.row),g=b.substring(T.column-1,T.column),d=b.substring(T.column,T.column+1),c=p.getTokenAt(T.row,T.column),y=p.getTokenAt(T.row,T.column+1);if(g=="\\"&&c&&/escape/.test(c.type))return null;var M=c&&/string|escape/.test(c.type),x=!y||/string|escape/.test(y.type),I;if(d==S)I=M!==x,I&&/string\.end/.test(y.type)&&(I=!1);else{if(M&&!x||M&&x)return null;var _=p.$mode.tokenRe;_.lastIndex=0;var D=_.test(g);_.lastIndex=0;var H=_.test(d),N=p.$mode.$pairQuotesAfter,O=N&&N[S]&&N[S].test(g);if(!O&&D||H||d&&!/[\s;,.})\]\\]/.test(d))return null;var F=b[T.column-2];if(g==S&&(F==S||_.test(F)))return null;I=!0}return{text:I?S+S:"",selection:[1,1]}}}}),this.add("string_dquotes","deletion",function(f,C,v,p,a){var m=p.$mode.$quotes||t,S=p.doc.getTextRange(a);if(!a.isMultiLine()&&m.hasOwnProperty(S)){e(v);var $=p.doc.getLine(a.start.row),w=$.substring(a.start.column+1,a.start.column+2);if(w==S)return a.end.column++,a}}),h.closeDocComment!==!1&&this.add("doc comment end","insertion",function(f,C,v,p,a){if(f==="doc-start"&&(a===`
|
|
184
|
-
`||a===`\r
|
|
185
|
-
`)&&v.selection.isEmpty()){var m=v.getCursorPosition();if(m.column===0)return;for(var S=p.doc.getLine(m.row),$=p.doc.getLine(m.row+1),w=p.getTokens(m.row),T=0,b=0;b<w.length;b++){T+=w[b].value.length;var g=w[b];if(T>=m.column){if(T===m.column){if(!/\.doc/.test(g.type))return;if(/\*\//.test(g.value)){var d=w[b+1];if(!d||!/\.doc/.test(d.type))return}}var c=m.column-(T-g.value.length),y=g.value.indexOf("*/"),M=g.value.indexOf("/**",y>-1?y+2:0);if(M!==-1&&c>M&&c<M+3||y!==-1&&M!==-1&&c>=y&&c<=M||!/\.doc/.test(g.type))return;break}}var x=this.$getIndent(S);if(/\s*\*/.test($))return/^\s*\*/.test(S)?{text:a+x+"* ",selection:[1,2+x.length,1,2+x.length]}:{text:a+x+" * ",selection:[1,3+x.length,1,3+x.length]};if(/\/\*\*/.test(S.substring(0,m.column)))return{text:a+x+" * "+a+" "+x+"*/",selection:[1,4+x.length,1,4+x.length]}}})},s.isSaneInsertion=function(h,f){var C=h.getCursorPosition(),v=new A(f,C.row,C.column);if(!this.$matchTokenType(v.getCurrentToken()||"text",u)){if(/[)}\]]/.test(h.session.getLine(C.row)[C.column]))return!0;var p=new A(f,C.row,C.column+1);if(!this.$matchTokenType(p.getCurrentToken()||"text",u))return!1}return v.stepForward(),v.getCurrentTokenRow()!==C.row||this.$matchTokenType(v.getCurrentToken()||"text",i)},s.$matchTokenType=function(h,f){return f.indexOf(h.type||h)>-1},s.recordAutoInsert=function(h,f,C){var v=h.getCursorPosition(),p=f.doc.getLine(v.row);this.isAutoInsertedClosing(v,p,o.autoInsertedLineEnd[0])||(o.autoInsertedBrackets=0),o.autoInsertedRow=v.row,o.autoInsertedLineEnd=C+p.substr(v.column),o.autoInsertedBrackets++},s.recordMaybeInsert=function(h,f,C){var v=h.getCursorPosition(),p=f.doc.getLine(v.row);this.isMaybeInsertedClosing(v,p)||(o.maybeInsertedBrackets=0),o.maybeInsertedRow=v.row,o.maybeInsertedLineStart=p.substr(0,v.column)+C,o.maybeInsertedLineEnd=p.substr(v.column),o.maybeInsertedBrackets++},s.isAutoInsertedClosing=function(h,f,C){return o.autoInsertedBrackets>0&&h.row===o.autoInsertedRow&&C===o.autoInsertedLineEnd[0]&&f.substr(h.column)===o.autoInsertedLineEnd},s.isMaybeInsertedClosing=function(h,f){return o.maybeInsertedBrackets>0&&h.row===o.maybeInsertedRow&&f.substr(h.column)===o.maybeInsertedLineEnd&&f.substr(0,h.column)==o.maybeInsertedLineStart},s.popAutoInsertedClosing=function(){o.autoInsertedLineEnd=o.autoInsertedLineEnd.substr(1),o.autoInsertedBrackets--},s.clearMaybeInsertedClosing=function(){o&&(o.maybeInsertedBrackets=0,o.maybeInsertedRow=-1)},E.inherits(s,L),k.CstyleBehaviour=s}),ace.define("ace/unicode",["require","exports","module"],function(R,k,z){for(var E=[48,9,8,25,5,0,2,25,48,0,11,0,5,0,6,22,2,30,2,457,5,11,15,4,8,0,2,0,18,116,2,1,3,3,9,0,2,2,2,0,2,19,2,82,2,138,2,4,3,155,12,37,3,0,8,38,10,44,2,0,2,1,2,1,2,0,9,26,6,2,30,10,7,61,2,9,5,101,2,7,3,9,2,18,3,0,17,58,3,100,15,53,5,0,6,45,211,57,3,18,2,5,3,11,3,9,2,1,7,6,2,2,2,7,3,1,3,21,2,6,2,0,4,3,3,8,3,1,3,3,9,0,5,1,2,4,3,11,16,2,2,5,5,1,3,21,2,6,2,1,2,1,2,1,3,0,2,4,5,1,3,2,4,0,8,3,2,0,8,15,12,2,2,8,2,2,2,21,2,6,2,1,2,4,3,9,2,2,2,2,3,0,16,3,3,9,18,2,2,7,3,1,3,21,2,6,2,1,2,4,3,8,3,1,3,2,9,1,5,1,2,4,3,9,2,0,17,1,2,5,4,2,2,3,4,1,2,0,2,1,4,1,4,2,4,11,5,4,4,2,2,3,3,0,7,0,15,9,18,2,2,7,2,2,2,22,2,9,2,4,4,7,2,2,2,3,8,1,2,1,7,3,3,9,19,1,2,7,2,2,2,22,2,9,2,4,3,8,2,2,2,3,8,1,8,0,2,3,3,9,19,1,2,7,2,2,2,22,2,15,4,7,2,2,2,3,10,0,9,3,3,9,11,5,3,1,2,17,4,23,2,8,2,0,3,6,4,0,5,5,2,0,2,7,19,1,14,57,6,14,2,9,40,1,2,0,3,1,2,0,3,0,7,3,2,6,2,2,2,0,2,0,3,1,2,12,2,2,3,4,2,0,2,5,3,9,3,1,35,0,24,1,7,9,12,0,2,0,2,0,5,9,2,35,5,19,2,5,5,7,2,35,10,0,58,73,7,77,3,37,11,42,2,0,4,328,2,3,3,6,2,0,2,3,3,40,2,3,3,32,2,3,3,6,2,0,2,3,3,14,2,56,2,3,3,66,5,0,33,15,17,84,13,619,3,16,2,25,6,74,22,12,2,6,12,20,12,19,13,12,2,2,2,1,13,51,3,29,4,0,5,1,3,9,34,2,3,9,7,87,9,42,6,69,11,28,4,11,5,11,11,39,3,4,12,43,5,25,7,10,38,27,5,62,2,28,3,10,7,9,14,0,89,75,5,9,18,8,13,42,4,11,71,55,9,9,4,48,83,2,2,30,14,230,23,280,3,5,3,37,3,5,3,7,2,0,2,0,2,0,2,30,3,52,2,6,2,0,4,2,2,6,4,3,3,5,5,12,6,2,2,6,67,1,20,0,29,0,14,0,17,4,60,12,5,0,4,11,18,0,5,0,3,9,2,0,4,4,7,0,2,0,2,0,2,3,2,10,3,3,6,4,5,0,53,1,2684,46,2,46,2,132,7,6,15,37,11,53,10,0,17,22,10,6,2,6,2,6,2,6,2,6,2,6,2,6,2,6,2,31,48,0,470,1,36,5,2,4,6,1,5,85,3,1,3,2,2,89,2,3,6,40,4,93,18,23,57,15,513,6581,75,20939,53,1164,68,45,3,268,4,27,21,31,3,13,13,1,2,24,9,69,11,1,38,8,3,102,3,1,111,44,25,51,13,68,12,9,7,23,4,0,5,45,3,35,13,28,4,64,15,10,39,54,10,13,3,9,7,22,4,1,5,66,25,2,227,42,2,1,3,9,7,11171,13,22,5,48,8453,301,3,61,3,105,39,6,13,4,6,11,2,12,2,4,2,0,2,1,2,1,2,107,34,362,19,63,3,53,41,11,5,15,17,6,13,1,25,2,33,4,2,134,20,9,8,25,5,0,2,25,12,88,4,5,3,5,3,5,3,2],L=0,A=[],l=0;l<E.length;l+=2)A.push(L+=E[l]),E[l+1]&&A.push(45,L+=E[l+1]);k.wordChars=String.fromCharCode.apply(null,A)}),ace.define("ace/mode/text",["require","exports","module","ace/config","ace/tokenizer","ace/mode/text_highlight_rules","ace/mode/behaviour/cstyle","ace/unicode","ace/lib/lang","ace/token_iterator","ace/range"],function(R,k,z){var E=R("../config"),L=R("../tokenizer").Tokenizer,A=R("./text_highlight_rules").TextHighlightRules,l=R("./behaviour/cstyle").CstyleBehaviour,u=R("../unicode"),i=R("../lib/lang"),o=R("../token_iterator").TokenIterator,r=R("../range").Range,t;t=function(){this.HighlightRules=A},(function(){this.$defaultBehaviour=new l,this.tokenRe=new RegExp("^["+u.wordChars+"\\$_]+","g"),this.nonTokenRe=new RegExp("^(?:[^"+u.wordChars+"\\$_]|\\s])+","g"),this.getTokenizer=function(){return this.$tokenizer||(this.$highlightRules=this.$highlightRules||new this.HighlightRules(this.$highlightRuleConfig),this.$tokenizer=new L(this.$highlightRules.getRules())),this.$tokenizer},this.lineCommentStart="",this.blockComment="",this.toggleCommentLines=function(e,n,s,h){var f=n.doc,C=!0,v=!0,p=1/0,a=n.getTabSize(),m=!1;if(this.lineCommentStart){if(Array.isArray(this.lineCommentStart))var w=this.lineCommentStart.map(i.escapeRegExp).join("|"),S=this.lineCommentStart[0];else var w=i.escapeRegExp(this.lineCommentStart),S=this.lineCommentStart;w=new RegExp("^(\\s*)(?:"+w+") ?"),m=n.getUseSoftTabs();var g=function(H,N){var O=H.match(w);if(O){var F=O[1].length,W=O[0].length;!y(H,F,W)&&O[0][W-1]==" "&&W--,f.removeInLine(N,F,W)}},c=S+" ",b=function(H,N){(!C||/\S/.test(H))&&(y(H,p,p)?f.insertInLine({row:N,column:p},c):f.insertInLine({row:N,column:p},S))},d=function(H,N){return w.test(H)},y=function(H,N,O){for(var F=0;N--&&H.charAt(N)==" ";)F++;if(F%a!=0)return!1;for(var F=0;H.charAt(O++)==" ";)F++;return a>2?F%a!=a-1:F%a==0}}else{if(!this.blockComment)return!1;var S=this.blockComment.start,$=this.blockComment.end,w=new RegExp("^(\\s*)(?:"+i.escapeRegExp(S)+")"),T=new RegExp("(?:"+i.escapeRegExp($)+")\\s*$"),b=function(I,_){d(I,_)||(!C||/\S/.test(I))&&(f.insertInLine({row:_,column:I.length},$),f.insertInLine({row:_,column:p},S))},g=function(I,_){var D;(D=I.match(T))&&f.removeInLine(_,I.length-D[0].length,I.length),(D=I.match(w))&&f.removeInLine(_,D[1].length,D[0].length)},d=function(I,_){if(w.test(I))return!0;for(var D=n.getTokens(_),H=0;H<D.length;H++)if(D[H].type==="comment")return!0}}function M(I){for(var _=s;_<=h;_++)I(f.getLine(_),_)}var x=1/0;M(function(I,_){var D=I.search(/\S/);D!==-1?(D<p&&(p=D),v&&!d(I,_)&&(v=!1)):x>I.length&&(x=I.length)}),p==1/0&&(p=x,C=!1,v=!1),m&&p%a!=0&&(p=Math.floor(p/a)*a),M(v?g:b)},this.toggleBlockComment=function(e,n,s,h){var f=this.blockComment;if(f){!f.start&&f[0]&&(f=f[0]);var C=new o(n,h.row,h.column),v=C.getCurrentToken();n.selection;var p=n.selection.toOrientedRange(),a,m;if(v&&/comment/.test(v.type)){for(var S,$;v&&/comment/.test(v.type);){var w=v.value.indexOf(f.start);if(w!=-1){var T=C.getCurrentTokenRow(),b=C.getCurrentTokenColumn()+w;S=new r(T,b,T,b+f.start.length);break}v=C.stepBackward()}for(var C=new o(n,h.row,h.column),v=C.getCurrentToken();v&&/comment/.test(v.type);){var w=v.value.indexOf(f.end);if(w!=-1){var T=C.getCurrentTokenRow(),b=C.getCurrentTokenColumn()+w;$=new r(T,b,T,b+f.end.length);break}v=C.stepForward()}$&&n.remove($),S&&(n.remove(S),a=S.start.row,m=-f.start.length)}else m=f.start.length,a=s.start.row,n.insert(s.end,f.end),n.insert(s.start,f.start);p.start.row==a&&(p.start.column+=m),p.end.row==a&&(p.end.column+=m),n.selection.fromOrientedRange(p)}},this.getNextLineIndent=function(e,n,s){return this.$getIndent(n)},this.checkOutdent=function(e,n,s){return!1},this.autoOutdent=function(e,n,s){},this.$getIndent=function(e){return e.match(/^\s*/)[0]},this.createWorker=function(e){return null},this.createModeDelegates=function(e){this.$embeds=[],this.$modes={};for(var n in e)if(e[n]){var s=e[n],h=s.prototype.$id,f=E.$modes[h];f||(E.$modes[h]=f=new s),E.$modes[n]||(E.$modes[n]=f),this.$embeds.push(n),this.$modes[n]=f}for(var C=["toggleBlockComment","toggleCommentLines","getNextLineIndent","checkOutdent","autoOutdent","transformAction","getCompletions"],v=function(a){(function(m){var S=C[a],$=m[S];m[C[a]]=function(){return this.$delegator(S,arguments,$)}})(p)},p=this,n=0;n<C.length;n++)v(n)},this.$delegator=function(e,n,s){var h=n[0]||"start";if(typeof h!="string"){if(Array.isArray(h[2])){var f=h[2][h[2].length-1],C=this.$modes[f];if(C)return C[e].apply(C,[h[1]].concat([].slice.call(n,1)))}h=h[0]||"start"}for(var v=0;v<this.$embeds.length;v++)if(this.$modes[this.$embeds[v]]){var p=h.split(this.$embeds[v]);if(!p[0]&&p[1]){n[0]=p[1];var C=this.$modes[this.$embeds[v]];return C[e].apply(C,n)}}var a=s.apply(this,n);return s?a:void 0},this.transformAction=function(e,n,s,h,f){if(this.$behaviour){var C=this.$behaviour.getBehaviours();for(var v in C)if(C[v][n]){var p=C[v][n].apply(this,arguments);if(p)return p}}},this.getKeywords=function(e){if(!this.completionKeywords){var n=this.$tokenizer.rules,s=[];for(var h in n)for(var f=n[h],C=0,v=f.length;C<v;C++)if(typeof f[C].token=="string")/keyword|support|storage/.test(f[C].token)&&s.push(f[C].regex);else if(typeof f[C].token=="object"){for(var p=0,a=f[C].token.length;p<a;p++)if(/keyword|support|storage/.test(f[C].token[p])){var h=f[C].regex.match(/\(.+?\)/g)[p];s.push(h.substr(1,h.length-2))}}this.completionKeywords=s}return e?s.concat(this.$keywordList||[]):this.$keywordList},this.$createKeywordList=function(){return this.$highlightRules||this.getTokenizer(),this.$keywordList=this.$highlightRules.$keywordList||[]},this.getCompletions=function(e,n,s,h){var f=this.$keywordList||this.$createKeywordList();return f.map(function(C){return{name:C,value:C,score:0,meta:"keyword"}})},this.$id="ace/mode/text"}).call(t.prototype),k.Mode=t}),ace.define("ace/line_widgets",["require","exports","module","ace/lib/dom"],function(R,k,z){var E=R("./lib/dom"),L=function(){function A(l){this.session=l,this.session.widgetManager=this,this.session.getRowLength=this.getRowLength,this.session.$getWidgetScreenLength=this.$getWidgetScreenLength,this.updateOnChange=this.updateOnChange.bind(this),this.renderWidgets=this.renderWidgets.bind(this),this.measureWidgets=this.measureWidgets.bind(this),this.session._changedWidgets=[],this.$onChangeEditor=this.$onChangeEditor.bind(this),this.session.on("change",this.updateOnChange),this.session.on("changeFold",this.updateOnFold),this.session.on("changeEditor",this.$onChangeEditor)}return A.prototype.getRowLength=function(l){var u;return this.lineWidgets?u=this.lineWidgets[l]&&this.lineWidgets[l].rowCount||0:u=0,!this.$useWrapMode||!this.$wrapData[l]?1+u:this.$wrapData[l].length+1+u},A.prototype.$getWidgetScreenLength=function(){var l=0;return this.lineWidgets.forEach(function(u){u&&u.rowCount&&!u.hidden&&(l+=u.rowCount)}),l},A.prototype.$onChangeEditor=function(l){this.attach(l.editor)},A.prototype.attach=function(l){l&&l.widgetManager&&l.widgetManager!=this&&l.widgetManager.detach(),this.editor!=l&&(this.detach(),this.editor=l,l&&(l.widgetManager=this,l.renderer.on("beforeRender",this.measureWidgets),l.renderer.on("afterRender",this.renderWidgets)))},A.prototype.detach=function(l){var u=this.editor;if(u){this.editor=null,u.widgetManager=null,u.renderer.off("beforeRender",this.measureWidgets),u.renderer.off("afterRender",this.renderWidgets);var i=this.session.lineWidgets;i&&i.forEach(function(o){o&&o.el&&o.el.parentNode&&(o._inDocument=!1,o.el.parentNode.removeChild(o.el))})}},A.prototype.updateOnFold=function(l,u){var i=u.lineWidgets;if(!(!i||!l.action)){for(var o=l.data,r=o.start.row,t=o.end.row,e=l.action=="add",n=r+1;n<t;n++)i[n]&&(i[n].hidden=e);i[t]&&(e?i[r]?i[t].hidden=e:i[r]=i[t]:(i[r]==i[t]&&(i[r]=void 0),i[t].hidden=e))}},A.prototype.updateOnChange=function(l){var u=this.session.lineWidgets;if(u){var i=l.start.row,o=l.end.row-i;if(o!==0)if(l.action=="remove"){var r=u.splice(i+1,o);!u[i]&&r[r.length-1]&&(u[i]=r.pop()),r.forEach(function(e){e&&this.removeLineWidget(e)},this),this.$updateRows()}else{var t=new Array(o);u[i]&&u[i].column!=null&&l.start.column>u[i].column&&i++,t.unshift(i,0),u.splice.apply(u,t),this.$updateRows()}}},A.prototype.$updateRows=function(){var l=this.session.lineWidgets;if(l){var u=!0;l.forEach(function(i,o){if(i)for(u=!1,i.row=o;i.$oldWidget;)i.$oldWidget.row=o,i=i.$oldWidget}),u&&(this.session.lineWidgets=null)}},A.prototype.$registerLineWidget=function(l){this.session.lineWidgets||(this.session.lineWidgets=new Array(this.session.getLength()));var u=this.session.lineWidgets[l.row];return u&&(l.$oldWidget=u,u.el&&u.el.parentNode&&(u.el.parentNode.removeChild(u.el),u._inDocument=!1)),this.session.lineWidgets[l.row]=l,l},A.prototype.addLineWidget=function(l){if(this.$registerLineWidget(l),l.session=this.session,!this.editor)return l;var u=this.editor.renderer;l.html&&!l.el&&(l.el=E.createElement("div"),l.el.innerHTML=l.html),l.text&&!l.el&&(l.el=E.createElement("div"),l.el.textContent=l.text),l.el&&(E.addCssClass(l.el,"ace_lineWidgetContainer"),l.className&&E.addCssClass(l.el,l.className),l.el.style.position="absolute",l.el.style.zIndex="5",u.container.appendChild(l.el),l._inDocument=!0,l.coverGutter||(l.el.style.zIndex="3"),l.pixelHeight==null&&(l.pixelHeight=l.el.offsetHeight)),l.rowCount==null&&(l.rowCount=l.pixelHeight/u.layerConfig.lineHeight);var i=this.session.getFoldAt(l.row,0);if(l.$fold=i,i){var o=this.session.lineWidgets;l.row==i.end.row&&!o[i.start.row]?o[i.start.row]=l:l.hidden=!0}return this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows(),this.renderWidgets(null,u),this.onWidgetChanged(l),l},A.prototype.removeLineWidget=function(l){if(l._inDocument=!1,l.session=null,l.el&&l.el.parentNode&&l.el.parentNode.removeChild(l.el),l.editor&&l.editor.destroy)try{l.editor.destroy()}catch{}if(this.session.lineWidgets){var u=this.session.lineWidgets[l.row];if(u==l)this.session.lineWidgets[l.row]=l.$oldWidget,l.$oldWidget&&this.onWidgetChanged(l.$oldWidget);else for(;u;){if(u.$oldWidget==l){u.$oldWidget=l.$oldWidget;break}u=u.$oldWidget}}this.session._emit("changeFold",{data:{start:{row:l.row}}}),this.$updateRows()},A.prototype.getWidgetsAtRow=function(l){for(var u=this.session.lineWidgets,i=u&&u[l],o=[];i;)o.push(i),i=i.$oldWidget;return o},A.prototype.onWidgetChanged=function(l){this.session._changedWidgets.push(l),this.editor&&this.editor.renderer.updateFull()},A.prototype.measureWidgets=function(l,u){var i=this.session._changedWidgets,o=u.layerConfig;if(!(!i||!i.length)){for(var r=1/0,t=0;t<i.length;t++){var e=i[t];if(!(!e||!e.el)&&e.session==this.session){if(!e._inDocument){if(this.session.lineWidgets[e.row]!=e)continue;e._inDocument=!0,u.container.appendChild(e.el)}e.h=e.el.offsetHeight,e.fixedWidth||(e.w=e.el.offsetWidth,e.screenWidth=Math.ceil(e.w/o.characterWidth));var n=e.h/o.lineHeight;e.coverLine&&(n-=this.session.getRowLineCount(e.row),n<0&&(n=0)),e.rowCount!=n&&(e.rowCount=n,e.row<r&&(r=e.row))}}r!=1/0&&(this.session._emit("changeFold",{data:{start:{row:r}}}),this.session.lineWidgetWidth=null),this.session._changedWidgets=[]}},A.prototype.renderWidgets=function(l,u){var i=u.layerConfig,o=this.session.lineWidgets;if(o){for(var r=Math.min(this.firstRow,i.firstRow),t=Math.max(this.lastRow,i.lastRow,o.length);r>0&&!o[r];)r--;this.firstRow=i.firstRow,this.lastRow=i.lastRow,u.$cursorLayer.config=i;for(var e=r;e<=t;e++){var n=o[e];if(!(!n||!n.el)){if(n.hidden){n.el.style.top=-100-(n.pixelHeight||0)+"px";continue}n._inDocument||(n._inDocument=!0,u.container.appendChild(n.el));var s=u.$cursorLayer.getPixelPosition({row:e,column:0},!0).top;n.coverLine||(s+=i.lineHeight*this.session.getRowLineCount(n.row)),n.el.style.top=s-i.offset+"px";var h=n.coverGutter?0:u.gutterWidth;n.fixedWidth||(h-=u.scrollLeft),n.el.style.left=h+"px",n.fullWidth&&n.screenWidth&&(n.el.style.minWidth=i.width+2*i.padding+"px"),n.fixedWidth?n.el.style.right=u.scrollBar.getWidth()+"px":n.el.style.right=""}}}},A}();k.LineWidgets=L}),ace.define("ace/apply_delta",["require","exports","module"],function(R,k,z){k.applyDelta=function(E,L,A){var l=L.start.row,u=L.start.column,i=E[l]||"";switch(L.action){case"insert":var o=L.lines;if(o.length===1)E[l]=i.substring(0,u)+L.lines[0]+i.substring(u);else{var r=[l,1].concat(L.lines);E.splice.apply(E,r),E[l]=i.substring(0,u)+E[l],E[l+L.lines.length-1]+=i.substring(u)}break;case"remove":var t=L.end.column,e=L.end.row;l===e?E[l]=i.substring(0,u)+i.substring(t):E.splice(l,e-l+1,i.substring(0,u)+E[e].substring(t));break}}}),ace.define("ace/anchor",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(R,k,z){var E=R("./lib/oop"),L=R("./lib/event_emitter").EventEmitter,A=function(){function i(o,r,t){this.$onChange=this.onChange.bind(this),this.attach(o),typeof r!="number"?this.setPosition(r.row,r.column):this.setPosition(r,t)}return i.prototype.getPosition=function(){return this.$clipPositionToDocument(this.row,this.column)},i.prototype.getDocument=function(){return this.document},i.prototype.onChange=function(o){if(!(o.start.row==o.end.row&&o.start.row!=this.row)&&!(o.start.row>this.row)){var r=u(o,{row:this.row,column:this.column},this.$insertRight);this.setPosition(r.row,r.column,!0)}},i.prototype.setPosition=function(o,r,t){var e;if(t?e={row:o,column:r}:e=this.$clipPositionToDocument(o,r),!(this.row==e.row&&this.column==e.column)){var n={row:this.row,column:this.column};this.row=e.row,this.column=e.column,this._signal("change",{old:n,value:e})}},i.prototype.detach=function(){this.document.off("change",this.$onChange)},i.prototype.attach=function(o){this.document=o||this.document,this.document.on("change",this.$onChange)},i.prototype.$clipPositionToDocument=function(o,r){var t={};return o>=this.document.getLength()?(t.row=Math.max(0,this.document.getLength()-1),t.column=this.document.getLine(t.row).length):o<0?(t.row=0,t.column=0):(t.row=o,t.column=Math.min(this.document.getLine(t.row).length,Math.max(0,r))),r<0&&(t.column=0),t},i}();A.prototype.$insertRight=!1,E.implement(A.prototype,L);function l(i,o,r){var t=r?i.column<=o.column:i.column<o.column;return i.row<o.row||i.row==o.row&&t}function u(i,o,r){var t=i.action=="insert",e=(t?1:-1)*(i.end.row-i.start.row),n=(t?1:-1)*(i.end.column-i.start.column),s=i.start,h=t?s:i.end;return l(o,s,r)?{row:o.row,column:o.column}:l(h,o,!r)?{row:o.row+e,column:o.column+(o.row==h.row?n:0)}:{row:s.row,column:s.column}}k.Anchor=A}),ace.define("ace/document",["require","exports","module","ace/lib/oop","ace/apply_delta","ace/lib/event_emitter","ace/range","ace/anchor"],function(R,k,z){var E=R("./lib/oop"),L=R("./apply_delta").applyDelta,A=R("./lib/event_emitter").EventEmitter,l=R("./range").Range,u=R("./anchor").Anchor,i=function(){function o(r){this.$lines=[""],r.length===0?this.$lines=[""]:Array.isArray(r)?this.insertMergedLines({row:0,column:0},r):this.insert({row:0,column:0},r)}return o.prototype.setValue=function(r){var t=this.getLength()-1;this.remove(new l(0,0,t,this.getLine(t).length)),this.insert({row:0,column:0},r||"")},o.prototype.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},o.prototype.createAnchor=function(r,t){return new u(this,r,t)},o.prototype.$detectNewLine=function(r){var t=r.match(/^.*?(\r\n|\r|\n)/m);this.$autoNewLine=t?t[1]:`
|
|
186
|
-
`,this._signal("changeNewLineMode")},o.prototype.getNewLineCharacter=function(){switch(this.$newLineMode){case"windows":return`\r
|
|
187
|
-
`;case"unix":return`
|
|
188
|
-
`;default:return this.$autoNewLine||`
|
|
189
|
-
`}},o.prototype.setNewLineMode=function(r){this.$newLineMode!==r&&(this.$newLineMode=r,this._signal("changeNewLineMode"))},o.prototype.getNewLineMode=function(){return this.$newLineMode},o.prototype.isNewLine=function(r){return r==`\r
|
|
190
|
-
`||r=="\r"||r==`
|
|
191
|
-
`},o.prototype.getLine=function(r){return this.$lines[r]||""},o.prototype.getLines=function(r,t){return this.$lines.slice(r,t+1)},o.prototype.getAllLines=function(){return this.getLines(0,this.getLength())},o.prototype.getLength=function(){return this.$lines.length},o.prototype.getTextRange=function(r){return this.getLinesForRange(r).join(this.getNewLineCharacter())},o.prototype.getLinesForRange=function(r){var t;if(r.start.row===r.end.row)t=[this.getLine(r.start.row).substring(r.start.column,r.end.column)];else{t=this.getLines(r.start.row,r.end.row),t[0]=(t[0]||"").substring(r.start.column);var e=t.length-1;r.end.row-r.start.row==e&&(t[e]=t[e].substring(0,r.end.column))}return t},o.prototype.insertLines=function(r,t){return console.warn("Use of document.insertLines is deprecated. Use the insertFullLines method instead."),this.insertFullLines(r,t)},o.prototype.removeLines=function(r,t){return console.warn("Use of document.removeLines is deprecated. Use the removeFullLines method instead."),this.removeFullLines(r,t)},o.prototype.insertNewLine=function(r){return console.warn("Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead."),this.insertMergedLines(r,["",""])},o.prototype.insert=function(r,t){return this.getLength()<=1&&this.$detectNewLine(t),this.insertMergedLines(r,this.$split(t))},o.prototype.insertInLine=function(r,t){var e=this.clippedPos(r.row,r.column),n=this.pos(r.row,r.column+t.length);return this.applyDelta({start:e,end:n,action:"insert",lines:[t]},!0),this.clonePos(n)},o.prototype.clippedPos=function(r,t){var e=this.getLength();r===void 0?r=e:r<0?r=0:r>=e&&(r=e-1,t=void 0);var n=this.getLine(r);return t==null&&(t=n.length),t=Math.min(Math.max(t,0),n.length),{row:r,column:t}},o.prototype.clonePos=function(r){return{row:r.row,column:r.column}},o.prototype.pos=function(r,t){return{row:r,column:t}},o.prototype.$clipPosition=function(r){var t=this.getLength();return r.row>=t?(r.row=Math.max(0,t-1),r.column=this.getLine(t-1).length):(r.row=Math.max(0,r.row),r.column=Math.min(Math.max(r.column,0),this.getLine(r.row).length)),r},o.prototype.insertFullLines=function(r,t){r=Math.min(Math.max(r,0),this.getLength());var e=0;r<this.getLength()?(t=t.concat([""]),e=0):(t=[""].concat(t),r--,e=this.$lines[r].length),this.insertMergedLines({row:r,column:e},t)},o.prototype.insertMergedLines=function(r,t){var e=this.clippedPos(r.row,r.column),n={row:e.row+t.length-1,column:(t.length==1?e.column:0)+t[t.length-1].length};return this.applyDelta({start:e,end:n,action:"insert",lines:t}),this.clonePos(n)},o.prototype.remove=function(r){var t=this.clippedPos(r.start.row,r.start.column),e=this.clippedPos(r.end.row,r.end.column);return this.applyDelta({start:t,end:e,action:"remove",lines:this.getLinesForRange({start:t,end:e})}),this.clonePos(t)},o.prototype.removeInLine=function(r,t,e){var n=this.clippedPos(r,t),s=this.clippedPos(r,e);return this.applyDelta({start:n,end:s,action:"remove",lines:this.getLinesForRange({start:n,end:s})},!0),this.clonePos(n)},o.prototype.removeFullLines=function(r,t){r=Math.min(Math.max(0,r),this.getLength()-1),t=Math.min(Math.max(0,t),this.getLength()-1);var e=t==this.getLength()-1&&r>0,n=t<this.getLength()-1,s=e?r-1:r,h=e?this.getLine(s).length:0,f=n?t+1:t,C=n?0:this.getLine(f).length,v=new l(s,h,f,C),p=this.$lines.slice(r,t+1);return this.applyDelta({start:v.start,end:v.end,action:"remove",lines:this.getLinesForRange(v)}),p},o.prototype.removeNewLine=function(r){r<this.getLength()-1&&r>=0&&this.applyDelta({start:this.pos(r,this.getLine(r).length),end:this.pos(r+1,0),action:"remove",lines:["",""]})},o.prototype.replace=function(r,t){if(r instanceof l||(r=l.fromPoints(r.start,r.end)),t.length===0&&r.isEmpty())return r.start;if(t==this.getTextRange(r))return r.end;this.remove(r);var e;return t?e=this.insert(r.start,t):e=r.start,e},o.prototype.applyDeltas=function(r){for(var t=0;t<r.length;t++)this.applyDelta(r[t])},o.prototype.revertDeltas=function(r){for(var t=r.length-1;t>=0;t--)this.revertDelta(r[t])},o.prototype.applyDelta=function(r,t){var e=r.action=="insert";(e?r.lines.length<=1&&!r.lines[0]:!l.comparePoints(r.start,r.end))||(e&&r.lines.length>2e4?this.$splitAndapplyLargeDelta(r,2e4):(L(this.$lines,r,t),this._signal("change",r)))},o.prototype.$safeApplyDelta=function(r){var t=this.$lines.length;(r.action=="remove"&&r.start.row<t&&r.end.row<t||r.action=="insert"&&r.start.row<=t)&&this.applyDelta(r)},o.prototype.$splitAndapplyLargeDelta=function(r,t){for(var e=r.lines,n=e.length-t+1,s=r.start.row,h=r.start.column,f=0,C=0;f<n;f=C){C+=t-1;var v=e.slice(f,C);v.push(""),this.applyDelta({start:this.pos(s+f,h),end:this.pos(s+C,h=0),action:r.action,lines:v},!0)}r.lines=e.slice(f),r.start.row=s+f,r.start.column=h,this.applyDelta(r,!0)},o.prototype.revertDelta=function(r){this.$safeApplyDelta({start:this.clonePos(r.start),end:this.clonePos(r.end),action:r.action=="insert"?"remove":"insert",lines:r.lines.slice()})},o.prototype.indexToPosition=function(r,t){for(var e=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,s=t||0,h=e.length;s<h;s++)if(r-=e[s].length+n,r<0)return{row:s,column:r+e[s].length+n};return{row:h-1,column:r+e[h-1].length+n}},o.prototype.positionToIndex=function(r,t){for(var e=this.$lines||this.getAllLines(),n=this.getNewLineCharacter().length,s=0,h=Math.min(r.row,e.length),f=t||0;f<h;++f)s+=e[f].length+n;return s+r.column},o.prototype.$split=function(r){return r.split(/\r\n|\r|\n/)},o}();i.prototype.$autoNewLine="",i.prototype.$newLineMode="auto",E.implement(i.prototype,A),k.Document=i}),ace.define("ace/background_tokenizer",["require","exports","module","ace/lib/oop","ace/lib/event_emitter"],function(R,k,z){var E=R("./lib/oop"),L=R("./lib/event_emitter").EventEmitter,A=function(){function l(u,i){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.tokenizer=u;var o=this;this.$worker=function(){if(o.running){for(var r=new Date,t=o.currentLine,e=-1,n=o.doc,s=t;o.lines[t];)t++;var h=n.getLength(),f=0;for(o.running=!1;t<h;){o.$tokenizeRow(t),e=t;do t++;while(o.lines[t]);if(f++,f%5===0&&new Date-r>20){o.running=setTimeout(o.$worker,20);break}}o.currentLine=t,e==-1&&(e=t),s<=e&&o.fireUpdateEvent(s,e)}}}return l.prototype.setTokenizer=function(u){this.tokenizer=u,this.lines=[],this.states=[],this.start(0)},l.prototype.setDocument=function(u){this.doc=u,this.lines=[],this.states=[],this.stop()},l.prototype.fireUpdateEvent=function(u,i){var o={first:u,last:i};this._signal("update",{data:o})},l.prototype.start=function(u){this.currentLine=Math.min(u||0,this.currentLine,this.doc.getLength()),this.lines.splice(this.currentLine,this.lines.length),this.states.splice(this.currentLine,this.states.length),this.stop(),this.running=setTimeout(this.$worker,700)},l.prototype.scheduleStart=function(){this.running||(this.running=setTimeout(this.$worker,700))},l.prototype.$updateOnChange=function(u){var i=u.start.row,o=u.end.row-i;if(o===0)this.lines[i]=null;else if(u.action=="remove")this.lines.splice(i,o+1,null),this.states.splice(i,o+1,null);else{var r=Array(o+1);r.unshift(i,1),this.lines.splice.apply(this.lines,r),this.states.splice.apply(this.states,r)}this.currentLine=Math.min(i,this.currentLine,this.doc.getLength()),this.stop()},l.prototype.stop=function(){this.running&&clearTimeout(this.running),this.running=!1},l.prototype.getTokens=function(u){return this.lines[u]||this.$tokenizeRow(u)},l.prototype.getState=function(u){return this.currentLine==u&&this.$tokenizeRow(u),this.states[u]||"start"},l.prototype.$tokenizeRow=function(u){var i=this.doc.getLine(u),o=this.states[u-1],r=this.tokenizer.getLineTokens(i,o,u);return this.states[u]+""!=r.state+""?(this.states[u]=r.state,this.lines[u+1]=null,this.currentLine>u+1&&(this.currentLine=u+1)):this.currentLine==u&&(this.currentLine=u+1),this.lines[u]=r.tokens},l.prototype.cleanup=function(){this.running=!1,this.lines=[],this.states=[],this.currentLine=0,this.removeAllListeners()},l}();E.implement(A.prototype,L),k.BackgroundTokenizer=A}),ace.define("ace/search_highlight",["require","exports","module","ace/lib/lang","ace/range"],function(R,k,z){var E=R("./lib/lang"),L=R("./range").Range,A=function(){function l(u,i,o){o===void 0&&(o="text"),this.setRegexp(u),this.clazz=i,this.type=o,this.docLen=0}return l.prototype.setRegexp=function(u){this.regExp+""!=u+""&&(this.regExp=u,this.cache=[])},l.prototype.update=function(u,i,o,r){if(this.regExp){for(var t=r.firstRow,e=r.lastRow,n={},s=o.$editor&&o.$editor.$search,h=s&&s.$isMultilineSearch(o.$editor.getLastSearchOptions()),f=t;f<=e;f++){var C=this.cache[f];if(C==null||o.getValue().length!=this.docLen){if(h){C=[];var v=s.$multiLineForward(o,this.regExp,f,e);if(v){var p=v.endRow<=e?v.endRow-1:e;p>f&&(f=p),C.push(new L(v.startRow,v.startCol,v.endRow,v.endCol))}C.length>this.MAX_RANGES&&(C=C.slice(0,this.MAX_RANGES))}else C=E.getMatchOffsets(o.getLine(f),this.regExp),C.length>this.MAX_RANGES&&(C=C.slice(0,this.MAX_RANGES)),C=C.map(function($){return new L(f,$.offset,f,$.offset+$.length)});this.cache[f]=C.length?C:""}if(C.length!==0)for(var a=C.length;a--;){var m=C[a].toScreenRange(o),S=m.toString();n[S]||(n[S]=!0,i.drawSingleLineMarker(u,m,this.clazz,r))}}this.docLen=o.getValue().length}},l}();A.prototype.MAX_RANGES=500,k.SearchHighlight=A}),ace.define("ace/undomanager",["require","exports","module","ace/range"],function(R,k,z){var E=function(){function p(){this.$keepRedoStack,this.$maxRev=0,this.$fromUndo=!1,this.$undoDepth=1/0,this.reset()}return p.prototype.addSession=function(a){this.$session=a},p.prototype.add=function(a,m,S){if(!this.$fromUndo&&a!=this.$lastDelta){if(this.$keepRedoStack||(this.$redoStack.length=0),m===!1||!this.lastDeltas){this.lastDeltas=[];var $=this.$undoStack.length;$>this.$undoDepth-1&&this.$undoStack.splice(0,$-this.$undoDepth+1),this.$undoStack.push(this.lastDeltas),a.id=this.$rev=++this.$maxRev}(a.action=="remove"||a.action=="insert")&&(this.$lastDelta=a),this.lastDeltas.push(a)}},p.prototype.addSelection=function(a,m){this.selections.push({value:a,rev:m||this.$rev})},p.prototype.startNewGroup=function(){return this.lastDeltas=null,this.$rev},p.prototype.markIgnored=function(a,m){m==null&&(m=this.$rev+1);for(var S=this.$undoStack,$=S.length;$--;){var w=S[$][0];if(w.id<=a)break;w.id<m&&(w.ignore=!0)}this.lastDeltas=null},p.prototype.getSelection=function(a,m){for(var S=this.selections,$=S.length;$--;){var w=S[$];if(w.rev<a)return m&&(w=S[$+1]),w}},p.prototype.getRevision=function(){return this.$rev},p.prototype.getDeltas=function(a,m){m==null&&(m=this.$rev+1);for(var S=this.$undoStack,$=null,w=0,T=S.length;T--;){var b=S[T][0];if(b.id<m&&!$&&($=T+1),b.id<=a){w=T+1;break}}return S.slice(w,$)},p.prototype.getChangedRanges=function(a,m){m==null&&(m=this.$rev+1)},p.prototype.getChangedLines=function(a,m){m==null&&(m=this.$rev+1)},p.prototype.undo=function(a,m){this.lastDeltas=null;var S=this.$undoStack;if(L(S,S.length)){a||(a=this.$session),this.$redoStackBaseRev!==this.$rev&&this.$redoStack.length&&(this.$redoStack=[]),this.$fromUndo=!0;var $=S.pop(),w=null;return $&&(w=a.undoChanges($,m),this.$redoStack.push($),this.$syncRev()),this.$fromUndo=!1,w}},p.prototype.redo=function(a,m){if(this.lastDeltas=null,a||(a=this.$session),this.$fromUndo=!0,this.$redoStackBaseRev!=this.$rev){var S=this.getDeltas(this.$redoStackBaseRev,this.$rev+1);v(this.$redoStack,S),this.$redoStackBaseRev=this.$rev,this.$redoStack.forEach(function(T){T[0].id=++this.$maxRev},this)}var $=this.$redoStack.pop(),w=null;return $&&(w=a.redoChanges($,m),this.$undoStack.push($),this.$syncRev()),this.$fromUndo=!1,w},p.prototype.$syncRev=function(){var a=this.$undoStack,m=a[a.length-1],S=m&&m[0].id||0;this.$redoStackBaseRev=S,this.$rev=S},p.prototype.reset=function(){this.lastDeltas=null,this.$lastDelta=null,this.$undoStack=[],this.$redoStack=[],this.$rev=0,this.mark=0,this.$redoStackBaseRev=this.$rev,this.selections=[]},p.prototype.canUndo=function(){return this.$undoStack.length>0},p.prototype.canRedo=function(){return this.$redoStack.length>0},p.prototype.bookmark=function(a){a==null&&(a=this.$rev),this.mark=a},p.prototype.isAtBookmark=function(){return this.$rev===this.mark},p.prototype.toJSON=function(){return{$redoStack:this.$redoStack,$undoStack:this.$undoStack}},p.prototype.fromJSON=function(a){this.reset(),this.$undoStack=a.$undoStack,this.$redoStack=a.$redoStack},p.prototype.$prettyPrint=function(a){return a?o(a):o(this.$undoStack)+`
|
|
192
|
-
---
|
|
193
|
-
`+o(this.$redoStack)},p}();E.prototype.hasUndo=E.prototype.canUndo,E.prototype.hasRedo=E.prototype.canRedo,E.prototype.isClean=E.prototype.isAtBookmark,E.prototype.markClean=E.prototype.bookmark;function L(p,a){for(var m=a;m--;){var S=p[m];if(S&&!S[0].ignore){for(;m<a-1;){var $=e(p[m],p[m+1]);p[m]=$[0],p[m+1]=$[1],m++}return!0}}}var A=R("./range").Range,l=A.comparePoints;A.comparePoints;function u(p){return{row:p.row,column:p.column}}function i(p){return{start:u(p.start),end:u(p.end),action:p.action,lines:p.lines.slice()}}function o(p){if(p=p||this,Array.isArray(p))return p.map(o).join(`
|
|
194
|
-
`);var a="";return p.action?(a=p.action=="insert"?"+":"-",a+="["+p.lines+"]"):p.value&&(Array.isArray(p.value)?a=p.value.map(r).join(`
|
|
195
|
-
`):a=r(p.value)),p.start&&(a+=r(p)),(p.id||p.rev)&&(a+=" ("+(p.id||p.rev)+")"),a}function r(p){return p.start.row+":"+p.start.column+"=>"+p.end.row+":"+p.end.column}function t(p,a){var m=p.action=="insert",S=a.action=="insert";if(m&&S)if(l(a.start,p.end)>=0)s(a,p,-1);else if(l(a.start,p.start)<=0)s(p,a,1);else return null;else if(m&&!S)if(l(a.start,p.end)>=0)s(a,p,-1);else if(l(a.end,p.start)<=0)s(p,a,-1);else return null;else if(!m&&S)if(l(a.start,p.start)>=0)s(a,p,1);else if(l(a.start,p.start)<=0)s(p,a,1);else return null;else if(!m&&!S)if(l(a.start,p.start)>=0)s(a,p,1);else if(l(a.end,p.start)<=0)s(p,a,-1);else return null;return[a,p]}function e(p,a){for(var m=p.length;m--;)for(var S=0;S<a.length;S++)if(!t(p[m],a[S])){for(;m<p.length;){for(;S--;)t(a[S],p[m]);S=a.length,m++}return[p,a]}return p.selectionBefore=a.selectionBefore=p.selectionAfter=a.selectionAfter=null,[a,p]}function n(p,a){var m=p.action=="insert",S=a.action=="insert";if(m&&S)l(p.start,a.start)<0?s(a,p,1):s(p,a,1);else if(m&&!S)l(p.start,a.end)>=0?s(p,a,-1):(l(p.start,a.start)<=0||s(p,A.fromPoints(a.start,p.start),-1),s(a,p,1));else if(!m&&S)l(a.start,p.end)>=0?s(a,p,-1):(l(a.start,p.start)<=0||s(a,A.fromPoints(p.start,a.start),-1),s(p,a,1));else if(!m&&!S)if(l(a.start,p.end)>=0)s(a,p,-1);else if(l(a.end,p.start)<=0)s(p,a,-1);else{var $,w;return l(p.start,a.start)<0&&($=p,p=f(p,a.start)),l(p.end,a.end)>0&&(w=f(p,a.end)),h(a.end,p.start,p.end,-1),w&&!$&&(p.lines=w.lines,p.start=w.start,p.end=w.end,w=p),[a,$,w].filter(Boolean)}return[a,p]}function s(p,a,m){h(p.start,a.start,a.end,m),h(p.end,a.start,a.end,m)}function h(p,a,m,S){p.row==(S==1?a:m).row&&(p.column+=S*(m.column-a.column)),p.row+=S*(m.row-a.row)}function f(p,a){var m=p.lines,S=p.end;p.end=u(a);var $=p.end.row-p.start.row,w=m.splice($,m.length),T=$?a.column:a.column-p.start.column;m.push(w[0].substring(0,T)),w[0]=w[0].substr(T);var b={start:u(a),end:S,lines:w,action:p.action};return b}function C(p,a){a=i(a);for(var m=p.length;m--;){for(var S=p[m],$=0;$<S.length;$++){var w=S[$],T=n(w,a);a=T[0],T.length!=2&&(T[2]?(S.splice($+1,1,T[1],T[2]),$++):T[1]||(S.splice($,1),$--))}S.length||p.splice(m,1)}return p}function v(p,a){for(var m=0;m<a.length;m++)for(var S=a[m],$=0;$<S.length;$++)C(p,S[$])}k.UndoManager=E}),ace.define("ace/edit_session/fold_line",["require","exports","module","ace/range"],function(R,k,z){var E=R("../range").Range,L=function(){function A(l,u){this.foldData=l,Array.isArray(u)?this.folds=u:u=this.folds=[u];var i=u[u.length-1];this.range=new E(u[0].start.row,u[0].start.column,i.end.row,i.end.column),this.start=this.range.start,this.end=this.range.end,this.folds.forEach(function(o){o.setFoldLine(this)},this)}return A.prototype.shiftRow=function(l){this.start.row+=l,this.end.row+=l,this.folds.forEach(function(u){u.start.row+=l,u.end.row+=l})},A.prototype.addFold=function(l){if(l.sameRow){if(l.start.row<this.startRow||l.endRow>this.endRow)throw new Error("Can't add a fold to this FoldLine as it has no connection");this.folds.push(l),this.folds.sort(function(u,i){return-u.range.compareEnd(i.start.row,i.start.column)}),this.range.compareEnd(l.start.row,l.start.column)>0?(this.end.row=l.end.row,this.end.column=l.end.column):this.range.compareStart(l.end.row,l.end.column)<0&&(this.start.row=l.start.row,this.start.column=l.start.column)}else if(l.start.row==this.end.row)this.folds.push(l),this.end.row=l.end.row,this.end.column=l.end.column;else if(l.end.row==this.start.row)this.folds.unshift(l),this.start.row=l.start.row,this.start.column=l.start.column;else throw new Error("Trying to add fold to FoldRow that doesn't have a matching row");l.foldLine=this},A.prototype.containsRow=function(l){return l>=this.start.row&&l<=this.end.row},A.prototype.walk=function(l,u,i){var o=0,r=this.folds,t,e,n,s=!0;u==null&&(u=this.end.row,i=this.end.column);for(var h=0;h<r.length;h++){if(t=r[h],e=t.range.compareStart(u,i),e==-1){l(null,u,i,o,s);return}if(n=l(null,t.start.row,t.start.column,o,s),n=!n&&l(t.placeholder,t.start.row,t.start.column,o),n||e===0)return;s=!t.sameRow,o=t.end.column}l(null,u,i,o,s)},A.prototype.getNextFoldTo=function(l,u){for(var i,o,r=0;r<this.folds.length;r++){if(i=this.folds[r],o=i.range.compareEnd(l,u),o==-1)return{fold:i,kind:"after"};if(o===0)return{fold:i,kind:"inside"}}return null},A.prototype.addRemoveChars=function(l,u,i){var o=this.getNextFoldTo(l,u),r,t;if(o){if(r=o.fold,o.kind=="inside"&&r.start.column!=u&&r.start.row!=l)window.console&&window.console.log(l,u,r);else if(r.start.row==l){t=this.folds;var e=t.indexOf(r);for(e===0&&(this.start.column+=i),e;e<t.length;e++){if(r=t[e],r.start.column+=i,!r.sameRow)return;r.end.column+=i}this.end.column+=i}}},A.prototype.split=function(l,u){var i=this.getNextFoldTo(l,u);if(!i||i.kind=="inside")return null;var o=i.fold,r=this.folds,t=this.foldData,e=r.indexOf(o),n=r[e-1];this.end.row=n.end.row,this.end.column=n.end.column,r=r.splice(e,r.length-e);var s=new A(t,r);return t.splice(t.indexOf(this)+1,0,s),s},A.prototype.merge=function(l){for(var u=l.folds,i=0;i<u.length;i++)this.addFold(u[i]);var o=this.foldData;o.splice(o.indexOf(l),1)},A.prototype.toString=function(){var l=[this.range.toString()+": ["];return this.folds.forEach(function(u){l.push(" "+u.toString())}),l.push("]"),l.join(`
|
|
196
|
-
`)},A.prototype.idxToPosition=function(l){for(var u=0,i=0;i<this.folds.length;i++){var o=this.folds[i];if(l-=o.start.column-u,l<0)return{row:o.start.row,column:o.start.column+l};if(l-=o.placeholder.length,l<0)return o.start;u=o.end.column}return{row:this.end.row,column:this.end.column+l}},A}();k.FoldLine=L}),ace.define("ace/range_list",["require","exports","module","ace/range"],function(R,k,z){var E=R("./range").Range,L=E.comparePoints,A=function(){function l(){this.ranges=[],this.$bias=1}return l.prototype.pointIndex=function(u,i,o){for(var r=this.ranges,t=o||0;t<r.length;t++){var e=r[t],n=L(u,e.end);if(!(n>0)){var s=L(u,e.start);return n===0?i&&s!==0?-t-2:t:s>0||s===0&&!i?t:-t-1}}return-t-1},l.prototype.add=function(u){var i=!u.isEmpty(),o=this.pointIndex(u.start,i);o<0&&(o=-o-1);var r=this.pointIndex(u.end,i,o);return r<0?r=-r-1:r++,this.ranges.splice(o,r-o,u)},l.prototype.addList=function(u){for(var i=[],o=u.length;o--;)i.push.apply(i,this.add(u[o]));return i},l.prototype.substractPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges.splice(i,1)},l.prototype.merge=function(){var u=[],i=this.ranges;i=i.sort(function(n,s){return L(n.start,s.start)});for(var o=i[0],r,t=1;t<i.length;t++){r=o,o=i[t];var e=L(r.end,o.start);e<0||e==0&&!r.isEmpty()&&!o.isEmpty()||(L(r.end,o.end)<0&&(r.end.row=o.end.row,r.end.column=o.end.column),i.splice(t,1),u.push(o),o=r,t--)}return this.ranges=i,u},l.prototype.contains=function(u,i){return this.pointIndex({row:u,column:i})>=0},l.prototype.containsPoint=function(u){return this.pointIndex(u)>=0},l.prototype.rangeAtPoint=function(u){var i=this.pointIndex(u);if(i>=0)return this.ranges[i]},l.prototype.clipRows=function(u,i){var o=this.ranges;if(o[0].start.row>i||o[o.length-1].start.row<u)return[];var r=this.pointIndex({row:u,column:0});r<0&&(r=-r-1);var t=this.pointIndex({row:i,column:0},r);t<0&&(t=-t-1);for(var e=[],n=r;n<t;n++)e.push(o[n]);return e},l.prototype.removeAll=function(){return this.ranges.splice(0,this.ranges.length)},l.prototype.attach=function(u){this.session&&this.detach(),this.session=u,this.onChange=this.$onChange.bind(this),this.session.on("change",this.onChange)},l.prototype.detach=function(){this.session&&(this.session.removeListener("change",this.onChange),this.session=null)},l.prototype.$onChange=function(u){for(var i=u.start,o=u.end,r=i.row,t=o.row,e=this.ranges,n=0,s=e.length;n<s;n++){var h=e[n];if(h.end.row>=r)break}if(u.action=="insert")for(var f=t-r,C=-i.column+o.column;n<s;n++){var h=e[n];if(h.start.row>r)break;if(h.start.row==r&&h.start.column>=i.column&&(h.start.column==i.column&&this.$bias<=0||(h.start.column+=C,h.start.row+=f)),h.end.row==r&&h.end.column>=i.column){if(h.end.column==i.column&&this.$bias<0)continue;h.end.column==i.column&&C>0&&n<s-1&&h.end.column>h.start.column&&h.end.column==e[n+1].start.column&&(h.end.column-=C),h.end.column+=C,h.end.row+=f}}else for(var f=r-t,C=i.column-o.column;n<s;n++){var h=e[n];if(h.start.row>t)break;h.end.row<t&&(r<h.end.row||r==h.end.row&&i.column<h.end.column)?(h.end.row=r,h.end.column=i.column):h.end.row==t?h.end.column<=o.column?(f||h.end.column>i.column)&&(h.end.column=i.column,h.end.row=i.row):(h.end.column+=C,h.end.row+=f):h.end.row>t&&(h.end.row+=f),h.start.row<t&&(r<h.start.row||r==h.start.row&&i.column<h.start.column)?(h.start.row=r,h.start.column=i.column):h.start.row==t?h.start.column<=o.column?(f||h.start.column>i.column)&&(h.start.column=i.column,h.start.row=i.row):(h.start.column+=C,h.start.row+=f):h.start.row>t&&(h.start.row+=f)}if(f!=0&&n<s)for(;n<s;n++){var h=e[n];h.start.row+=f,h.end.row+=f}},l}();A.prototype.comparePoints=L,k.RangeList=A}),ace.define("ace/edit_session/fold",["require","exports","module","ace/range_list"],function(R,k,z){var E=this&&this.__extends||function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,s){n.__proto__=s}||function(n,s){for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(n[h]=s[h])},r(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");r(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),L=R("../range_list").RangeList,A=function(r){E(t,r);function t(e,n){var s=r.call(this)||this;return s.foldLine=null,s.placeholder=n,s.range=e,s.start=e.start,s.end=e.end,s.sameRow=e.start.row==e.end.row,s.subFolds=s.ranges=[],s}return t.prototype.toString=function(){return'"'+this.placeholder+'" '+this.range.toString()},t.prototype.setFoldLine=function(e){this.foldLine=e,this.subFolds.forEach(function(n){n.setFoldLine(e)})},t.prototype.clone=function(){var e=this.range.clone(),n=new t(e,this.placeholder);return this.subFolds.forEach(function(s){n.subFolds.push(s.clone())}),n.collapseChildren=this.collapseChildren,n},t.prototype.addSubFold=function(e){if(!this.range.isEqual(e)){u(e,this.start);for(var C=e.start.row,v=e.start.column,n=0,s=-1;n<this.subFolds.length&&(s=this.subFolds[n].range.compare(C,v),s==1);n++);var h=this.subFolds[n],f=0;if(s==0){if(h.range.containsRange(e))return h.addSubFold(e);f=1}for(var C=e.range.end.row,v=e.range.end.column,p=n,s=-1;p<this.subFolds.length&&(s=this.subFolds[p].range.compare(C,v),s==1);p++);s==0&&p++;for(var a=this.subFolds.splice(n,p-n,e),m=s==0?a.length-1:a.length,S=f;S<m;S++)e.addSubFold(a[S]);return e.setFoldLine(this.foldLine),e}},t.prototype.restoreRange=function(e){return o(e,this.start)},t}(L);function l(r,t){r.row-=t.row,r.row==0&&(r.column-=t.column)}function u(r,t){l(r.start,t),l(r.end,t)}function i(r,t){r.row==0&&(r.column+=t.column),r.row+=t.row}function o(r,t){i(r.start,t),i(r.end,t)}k.Fold=A}),ace.define("ace/edit_session/folding",["require","exports","module","ace/range","ace/edit_session/fold_line","ace/edit_session/fold","ace/token_iterator","ace/mouse/mouse_event"],function(R,k,z){var E=R("../range").Range,L=R("./fold_line").FoldLine,A=R("./fold").Fold,l=R("../token_iterator").TokenIterator,u=R("../mouse/mouse_event").MouseEvent;function i(){this.getFoldAt=function(o,r,t){var e=this.getFoldLine(o);if(!e)return null;for(var n=e.folds,s=0;s<n.length;s++){var h=n[s].range;if(h.contains(o,r)){if(t==1&&h.isEnd(o,r)&&!h.isEmpty())continue;if(t==-1&&h.isStart(o,r)&&!h.isEmpty())continue;return n[s]}}},this.getFoldsInRange=function(o){var r=o.start,t=o.end,e=this.$foldData,n=[];r.column+=1,t.column-=1;for(var s=0;s<e.length;s++){var h=e[s].range.compareRange(o);if(h!=2){if(h==-2)break;for(var f=e[s].folds,C=0;C<f.length;C++){var v=f[C];if(h=v.range.compareRange(o),h==-2)break;if(h==2)continue;if(h==42)break;n.push(v)}}}return r.column-=1,t.column+=1,n},this.getFoldsInRangeList=function(o){if(Array.isArray(o)){var r=[];o.forEach(function(t){r=r.concat(this.getFoldsInRange(t))},this)}else var r=this.getFoldsInRange(o);return r},this.getAllFolds=function(){for(var o=[],r=this.$foldData,t=0;t<r.length;t++)for(var e=0;e<r[t].folds.length;e++)o.push(r[t].folds[e]);return o},this.getFoldStringAt=function(o,r,t,e){if(e=e||this.getFoldLine(o),!e)return null;for(var n={end:{column:0}},s,h,f=0;f<e.folds.length;f++){h=e.folds[f];var C=h.range.compareEnd(o,r);if(C==-1){s=this.getLine(h.start.row).substring(n.end.column,h.start.column);break}else if(C===0)return null;n=h}return s||(s=this.getLine(h.start.row).substring(n.end.column)),t==-1?s.substring(0,r-n.end.column):t==1?s.substring(r-n.end.column):s},this.getFoldLine=function(o,r){var t=this.$foldData,e=0;for(r&&(e=t.indexOf(r)),e==-1&&(e=0),e;e<t.length;e++){var n=t[e];if(n.start.row<=o&&n.end.row>=o)return n;if(n.end.row>o)return null}return null},this.getNextFoldLine=function(o,r){var t=this.$foldData,e=0;for(r&&(e=t.indexOf(r)),e==-1&&(e=0),e;e<t.length;e++){var n=t[e];if(n.end.row>=o)return n}return null},this.getFoldedRowCount=function(o,r){for(var t=this.$foldData,e=r-o+1,n=0;n<t.length;n++){var s=t[n],h=s.end.row,f=s.start.row;if(h>=r){f<r&&(f>=o?e-=r-f:e=0);break}else h>=o&&(f>=o?e-=h-f:e-=h-o+1)}return e},this.$addFoldLine=function(o){return this.$foldData.push(o),this.$foldData.sort(function(r,t){return r.start.row-t.start.row}),o},this.addFold=function(o,r){var t=this.$foldData,e=!1,n;o instanceof A?n=o:(n=new A(r,o),n.collapseChildren=r.collapseChildren),this.$clipRangeToDocument(n.range);var s=n.start.row,h=n.start.column,f=n.end.row,C=n.end.column,v=this.getFoldAt(s,h,1),p=this.getFoldAt(f,C,-1);if(v&&p==v)return v.addSubFold(n);v&&!v.range.isStart(s,h)&&this.removeFold(v),p&&!p.range.isEnd(f,C)&&this.removeFold(p);var a=this.getFoldsInRange(n.range);a.length>0&&(this.removeFolds(a),n.collapseChildren||a.forEach(function(w){n.addSubFold(w)}));for(var m=0;m<t.length;m++){var S=t[m];if(f==S.start.row){S.addFold(n),e=!0;break}else if(s==S.end.row){if(S.addFold(n),e=!0,!n.sameRow){var $=t[m+1];if($&&$.start.row==f){S.merge($);break}}break}else if(f<=S.start.row)break}return e||(S=this.$addFoldLine(new L(this.$foldData,n))),this.$useWrapMode?this.$updateWrapData(S.start.row,S.start.row):this.$updateRowLengthCache(S.start.row,S.start.row),this.$modified=!0,this._signal("changeFold",{data:n,action:"add"}),n},this.addFolds=function(o){o.forEach(function(r){this.addFold(r)},this)},this.removeFold=function(o){var r=o.foldLine,t=r.start.row,e=r.end.row,n=this.$foldData,s=r.folds;if(s.length==1)n.splice(n.indexOf(r),1);else if(r.range.isEnd(o.end.row,o.end.column))s.pop(),r.end.row=s[s.length-1].end.row,r.end.column=s[s.length-1].end.column;else if(r.range.isStart(o.start.row,o.start.column))s.shift(),r.start.row=s[0].start.row,r.start.column=s[0].start.column;else if(o.sameRow)s.splice(s.indexOf(o),1);else{var h=r.split(o.start.row,o.start.column);s=h.folds,s.shift(),h.start.row=s[0].start.row,h.start.column=s[0].start.column}this.$updating||(this.$useWrapMode?this.$updateWrapData(t,e):this.$updateRowLengthCache(t,e)),this.$modified=!0,this._signal("changeFold",{data:o,action:"remove"})},this.removeFolds=function(o){for(var r=[],t=0;t<o.length;t++)r.push(o[t]);r.forEach(function(e){this.removeFold(e)},this),this.$modified=!0},this.expandFold=function(o){this.removeFold(o),o.subFolds.forEach(function(r){o.restoreRange(r),this.addFold(r)},this),o.collapseChildren>0&&this.foldAll(o.start.row+1,o.end.row,o.collapseChildren-1),o.subFolds=[]},this.expandFolds=function(o){o.forEach(function(r){this.expandFold(r)},this)},this.unfold=function(o,r){var t,e;if(o==null)t=new E(0,0,this.getLength(),0),r==null&&(r=!0);else if(typeof o=="number")t=new E(o,0,o,this.getLine(o).length);else if("row"in o)t=E.fromPoints(o,o);else{if(Array.isArray(o))return e=[],o.forEach(function(s){e=e.concat(this.unfold(s))},this),e;t=o}e=this.getFoldsInRangeList(t);for(var n=e;e.length==1&&E.comparePoints(e[0].start,t.start)<0&&E.comparePoints(e[0].end,t.end)>0;)this.expandFolds(e),e=this.getFoldsInRangeList(t);if(r!=!1?this.removeFolds(e):this.expandFolds(e),n.length)return n},this.isRowFolded=function(o,r){return!!this.getFoldLine(o,r)},this.getRowFoldEnd=function(o,r){var t=this.getFoldLine(o,r);return t?t.end.row:o},this.getRowFoldStart=function(o,r){var t=this.getFoldLine(o,r);return t?t.start.row:o},this.getFoldDisplayLine=function(o,r,t,e,n){e==null&&(e=o.start.row),n==null&&(n=0),r==null&&(r=o.end.row),t==null&&(t=this.getLine(r).length);var s=this.doc,h="";return o.walk(function(f,C,v,p){if(!(C<e)){if(C==e){if(v<n)return;p=Math.max(n,p)}f!=null?h+=f:h+=s.getLine(C).substring(p,v)}},r,t),h},this.getDisplayLine=function(o,r,t,e){var n=this.getFoldLine(o);if(n)return this.getFoldDisplayLine(n,o,r,t,e);var s;return s=this.doc.getLine(o),s.substring(e||0,r||s.length)},this.$cloneFoldData=function(){var o=[];return o=this.$foldData.map(function(r){var t=r.folds.map(function(e){return e.clone()});return new L(o,t)}),o},this.toggleFold=function(o){var r=this.selection,t=r.getRange(),e,n;if(t.isEmpty()){var s=t.start;if(e=this.getFoldAt(s.row,s.column),e){this.expandFold(e);return}else if(o){var h=this.getFoldLine(s.row);h&&this.expandFolds(h.folds);return}else(n=this.findMatchingBracket(s))?t.comparePoint(n)==1?t.end=n:(t.start=n,t.start.column++,t.end.column--):(n=this.findMatchingBracket({row:s.row,column:s.column+1}))?(t.comparePoint(n)==1?t.end=n:t.start=n,t.start.column++):t=this.getCommentFoldRange(s.row,s.column)||t}else{var f=this.getFoldsInRange(t);if(o&&f.length){this.expandFolds(f);return}else f.length==1&&(e=f[0])}if(e||(e=this.getFoldAt(t.start.row,t.start.column)),e&&e.range.toString()==t.toString()){this.expandFold(e);return}var C="...";if(!t.isMultiLine()){if(C=this.getTextRange(t),C.length<4)return;C=C.trim().substring(0,2)+".."}this.addFold(C,t)},this.getCommentFoldRange=function(o,r,t){var e=new l(this,o,r),n=e.getCurrentToken(),s=n&&n.type;if(n&&/^comment|string/.test(s)){s=s.match(/comment|string/)[0],s=="comment"&&(s+="|doc-start|\\.doc");var h=new RegExp(s),f=new E;if(t!=1){do n=e.stepBackward();while(n&&h.test(n.type));n=e.stepForward()}f.start.row=e.getCurrentTokenRow(),f.start.column=e.getCurrentTokenColumn()+n.value.length,e=new l(this,o,r);var C=this.getState(e.$row);if(t!=-1){var v=-1;do if(n=e.stepForward(),v==-1){var p=this.getState(e.$row);C.toString()!==p.toString()&&(v=e.$row)}else if(e.$row>v)break;while(n&&h.test(n.type));n=e.stepBackward()}else n=e.getCurrentToken();return f.end.row=e.getCurrentTokenRow(),f.end.column=e.getCurrentTokenColumn(),f.start.row==f.end.row&&f.start.column>f.end.column?void 0:f}},this.foldAll=function(o,r,t,e){t==null&&(t=1e5);var n=this.foldWidgets;if(n){r=r||this.getLength(),o=o||0;for(var s=o;s<r;s++)if(n[s]==null&&(n[s]=this.getFoldWidget(s)),n[s]=="start"&&!(e&&!e(s))){var h=this.getFoldWidgetRange(s);h&&h.isMultiLine()&&h.end.row<=r&&h.start.row>=o&&(s=h.end.row,h.collapseChildren=t,this.addFold("...",h))}}},this.foldToLevel=function(o){for(this.foldAll();o-- >0;)this.unfold(null,!1)},this.foldAllComments=function(){var o=this;this.foldAll(null,null,null,function(r){for(var t=o.getTokens(r),e=0;e<t.length;e++){var n=t[e];if(!(n.type=="text"&&/^\s+$/.test(n.value)))return!!/comment/.test(n.type)}})},this.$foldStyles={manual:1,markbegin:1,markbeginend:1},this.$foldStyle="markbegin",this.setFoldStyle=function(o){if(!this.$foldStyles[o])throw new Error("invalid fold style: "+o+"["+Object.keys(this.$foldStyles).join(", ")+"]");if(this.$foldStyle!=o){this.$foldStyle=o,o=="manual"&&this.unfold();var r=this.$foldMode;this.$setFolding(null),this.$setFolding(r)}},this.$setFolding=function(o){if(this.$foldMode!=o){if(this.$foldMode=o,this.off("change",this.$updateFoldWidgets),this.off("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets),this._signal("changeAnnotation"),!o||this.$foldStyle=="manual"){this.foldWidgets=null;return}this.foldWidgets=[],this.getFoldWidget=o.getFoldWidget.bind(o,this,this.$foldStyle),this.getFoldWidgetRange=o.getFoldWidgetRange.bind(o,this,this.$foldStyle),this.$updateFoldWidgets=this.updateFoldWidgets.bind(this),this.$tokenizerUpdateFoldWidgets=this.tokenizerUpdateFoldWidgets.bind(this),this.on("change",this.$updateFoldWidgets),this.on("tokenizerUpdate",this.$tokenizerUpdateFoldWidgets)}},this.getParentFoldRangeData=function(o,r){var t=this.foldWidgets;if(!t||r&&t[o])return{};for(var e=o-1,n;e>=0;){var s=t[e];if(s==null&&(s=t[e]=this.getFoldWidget(e)),s=="start"){var h=this.getFoldWidgetRange(e);if(n||(n=h),h&&h.end.row>=o)break}e--}return{range:e!==-1&&h,firstRange:n}},this.onFoldWidgetClick=function(o,r){r instanceof u&&(r=r.domEvent);var t={children:r.shiftKey,all:r.ctrlKey||r.metaKey,siblings:r.altKey},e=this.$toggleFoldWidget(o,t);if(!e){var n=r.target||r.srcElement;n&&/ace_fold-widget/.test(n.className)&&(n.className+=" ace_invalid")}},this.$toggleFoldWidget=function(o,r){if(this.getFoldWidget){var t=this.getFoldWidget(o),e=this.getLine(o),n=t==="end"?-1:1,s=this.getFoldAt(o,n===-1?0:e.length,n);if(s)return r.children||r.all?this.removeFold(s):this.expandFold(s),s;var h=this.getFoldWidgetRange(o,!0);if(h&&!h.isMultiLine()&&(s=this.getFoldAt(h.start.row,h.start.column,1),s&&h.isEqual(s.range)))return this.removeFold(s),s;if(r.siblings){var f=this.getParentFoldRangeData(o);if(f.range)var C=f.range.start.row+1,v=f.range.end.row;this.foldAll(C,v,r.all?1e4:0)}else r.children?(v=h?h.end.row:this.getLength(),this.foldAll(o+1,v,r.all?1e4:0)):h&&(r.all&&(h.collapseChildren=1e4),this.addFold("...",h));return h}},this.toggleFoldWidget=function(o){var r=this.selection.getCursor().row;r=this.getRowFoldStart(r);var t=this.$toggleFoldWidget(r,{});if(!t){var e=this.getParentFoldRangeData(r,!0);if(t=e.range||e.firstRange,t){r=t.start.row;var n=this.getFoldAt(r,this.getLine(r).length,1);n?this.removeFold(n):this.addFold("...",t)}}},this.updateFoldWidgets=function(o){var r=o.start.row,t=o.end.row-r;if(t===0)this.foldWidgets[r]=null;else if(o.action=="remove")this.foldWidgets.splice(r,t+1,null);else{var e=Array(t+1);e.unshift(r,1),this.foldWidgets.splice.apply(this.foldWidgets,e)}},this.tokenizerUpdateFoldWidgets=function(o){var r=o.data;r.first!=r.last&&this.foldWidgets.length>r.first&&this.foldWidgets.splice(r.first,this.foldWidgets.length)}}k.Folding=i}),ace.define("ace/edit_session/bracket_match",["require","exports","module","ace/token_iterator","ace/range"],function(R,k,z){var E=R("../token_iterator").TokenIterator,L=R("../range").Range;function A(){this.findMatchingBracket=function(l,u){if(l.column==0)return null;var i=u||this.getLine(l.row).charAt(l.column-1);if(i=="")return null;var o=i.match(/([\(\[\{])|([\)\]\}])/);return o?o[1]?this.$findClosingBracket(o[1],l):this.$findOpeningBracket(o[2],l):null},this.getBracketRange=function(l){var u=this.getLine(l.row),i=!0,o,r=u.charAt(l.column-1),t=r&&r.match(/([\(\[\{])|([\)\]\}])/);if(t||(r=u.charAt(l.column),l={row:l.row,column:l.column+1},t=r&&r.match(/([\(\[\{])|([\)\]\}])/),i=!1),!t)return null;if(t[1]){var e=this.$findClosingBracket(t[1],l);if(!e)return null;o=L.fromPoints(l,e),i||(o.end.column++,o.start.column--),o.cursor=o.end}else{var e=this.$findOpeningBracket(t[2],l);if(!e)return null;o=L.fromPoints(e,l),i||(o.start.column++,o.end.column--),o.cursor=o.start}return o},this.getMatchingBracketRanges=function(l,u){var i=this.getLine(l.row),o=/([\(\[\{])|([\)\]\}])/,r=!u&&i.charAt(l.column-1),t=r&&r.match(o);if(t||(r=(u===void 0||u)&&i.charAt(l.column),l={row:l.row,column:l.column+1},t=r&&r.match(o)),!t)return null;var e=new L(l.row,l.column-1,l.row,l.column),n=t[1]?this.$findClosingBracket(t[1],l):this.$findOpeningBracket(t[2],l);if(!n)return[e];var s=new L(n.row,n.column,n.row,n.column+1);return[e,s]},this.$brackets={")":"(","(":")","]":"[","[":"]","{":"}","}":"{","<":">",">":"<"},this.$findOpeningBracket=function(l,u,i){var o=this.$brackets[l],r=1,t=new E(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){i||(i=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("rparen",".paren").replace(/\b(?:end)\b/,"(?:start|begin|end)").replace(/-close\b/,"-(close|open)")+")+"));for(var n=u.column-t.getCurrentTokenColumn()-2,s=e.value;;){for(;n>=0;){var h=s.charAt(n);if(h==o){if(r-=1,r==0)return{row:t.getCurrentTokenRow(),column:n+t.getCurrentTokenColumn()}}else h==l&&(r+=1);n-=1}do e=t.stepBackward();while(e&&!i.test(e.type));if(e==null)break;s=e.value,n=s.length-1}return null}},this.$findClosingBracket=function(l,u,i){var o=this.$brackets[l],r=1,t=new E(this,u.row,u.column),e=t.getCurrentToken();if(e||(e=t.stepForward()),!!e){i||(i=new RegExp("(\\.?"+e.type.replace(".","\\.").replace("lparen",".paren").replace(/\b(?:start|begin)\b/,"(?:start|begin|end)").replace(/-open\b/,"-(close|open)")+")+"));for(var n=u.column-t.getCurrentTokenColumn();;){for(var s=e.value,h=s.length;n<h;){var f=s.charAt(n);if(f==o){if(r-=1,r==0)return{row:t.getCurrentTokenRow(),column:n+t.getCurrentTokenColumn()}}else f==l&&(r+=1);n+=1}do e=t.stepForward();while(e&&!i.test(e.type));if(e==null)break;n=0}return null}},this.getMatchingTags=function(l){var u=new E(this,l.row,l.column),i=this.$findTagName(u);if(i){var o=u.stepBackward();return o.value==="<"?this.$findClosingTag(u,i):this.$findOpeningTag(u,i)}},this.$findTagName=function(l){var u=l.getCurrentToken(),i=!1,o=!1;if(u&&u.type.indexOf("tag-name")===-1)do o?u=l.stepBackward():u=l.stepForward(),u&&(u.value==="/>"?o=!0:u.type.indexOf("tag-name")!==-1&&(i=!0));while(u&&!i);return u},this.$findClosingTag=function(l,u){var i,o=u.value,r=u.value,t=0,e=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);u=l.stepForward();var n=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length),s=!1;do{if(i=u,i.type.indexOf("tag-close")!==-1&&!s){var h=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);s=!0}if(u=l.stepForward(),u){if(u.value===">"&&!s){var h=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);s=!0}if(u.type.indexOf("tag-name")!==-1){if(o=u.value,r===o){if(i.value==="<")t++;else if(i.value==="</"&&(t--,t<0)){l.stepBackward();var f=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2);u=l.stepForward();var C=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=l.stepForward()),u&&u.value===">")var v=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);else return}}}else if(r===o&&u.value==="/>"&&(t--,t<0))var f=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+2),C=f,v=C,h=new L(n.end.row,n.end.column,n.end.row,n.end.column+1)}}while(u&&t>=0);if(e&&h&&f&&v&&n&&C)return{openTag:new L(e.start.row,e.start.column,h.end.row,h.end.column),closeTag:new L(f.start.row,f.start.column,v.end.row,v.end.column),openTagName:n,closeTagName:C}},this.$findOpeningTag=function(l,u){var i=l.getCurrentToken(),o=u.value,r=0,t=l.getCurrentTokenRow(),e=l.getCurrentTokenColumn(),n=e+2,s=new L(t,e,t,n);l.stepForward();var h=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+u.value.length);if(u.type.indexOf("tag-close")===-1&&(u=l.stepForward()),!(!u||u.value!==">")){var f=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);l.stepBackward(),l.stepBackward();do if(u=i,t=l.getCurrentTokenRow(),e=l.getCurrentTokenColumn(),n=e+u.value.length,i=l.stepBackward(),u){if(u.type.indexOf("tag-name")!==-1){if(o===u.value)if(i.value==="<"){if(r++,r>0){var C=new L(t,e,t,n),v=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1);do u=l.stepForward();while(u&&u.value!==">");var p=new L(l.getCurrentTokenRow(),l.getCurrentTokenColumn(),l.getCurrentTokenRow(),l.getCurrentTokenColumn()+1)}}else i.value==="</"&&r--}else if(u.value==="/>"){for(var a=0,m=i;m;){if(m.type.indexOf("tag-name")!==-1&&m.value===o){r--;break}else if(m.value==="<")break;m=l.stepBackward(),a++}for(var S=0;S<a;S++)l.stepForward()}}while(i&&r<=0);if(v&&p&&s&&f&&C&&h)return{openTag:new L(v.start.row,v.start.column,p.end.row,p.end.column),closeTag:new L(s.start.row,s.start.column,f.end.row,f.end.column),openTagName:C,closeTagName:h}}}}k.BracketMatch=A}),ace.define("ace/edit_session",["require","exports","module","ace/lib/oop","ace/lib/lang","ace/bidihandler","ace/config","ace/lib/event_emitter","ace/selection","ace/mode/text","ace/range","ace/line_widgets","ace/document","ace/background_tokenizer","ace/search_highlight","ace/undomanager","ace/edit_session/folding","ace/edit_session/bracket_match"],function(R,k,z){var E=R("./lib/oop"),L=R("./lib/lang"),A=R("./bidihandler").BidiHandler,l=R("./config"),u=R("./lib/event_emitter").EventEmitter,i=R("./selection").Selection,o=R("./mode/text").Mode,r=R("./range").Range,t=R("./line_widgets").LineWidgets,e=R("./document").Document,n=R("./background_tokenizer").BackgroundTokenizer,s=R("./search_highlight").SearchHighlight,h=R("./undomanager").UndoManager,f=function(){function b(g,d){this.doc,this.$breakpoints=[],this.$decorations=[],this.$frontMarkers={},this.$backMarkers={},this.$markerId=1,this.$undoSelect=!0,this.$editor=null,this.prevOp={},this.$foldData=[],this.id="session"+ ++b.$uid,this.$foldData.toString=function(){return this.join(`
|
|
197
|
-
`)},this.$gutterCustomWidgets={},this.bgTokenizer=new n(new o().getTokenizer(),this);var c=this;this.bgTokenizer.on("update",function(y){c._signal("tokenizerUpdate",y)}),this.on("changeFold",this.onChangeFold.bind(this)),this.$onChange=this.onChange.bind(this),(typeof g!="object"||!g.getLine)&&(g=new e(g)),this.setDocument(g),this.selection=new i(this),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.selection.on("changeCursor",this.$onSelectionChange),this.$bidiHandler=new A(this),l.resetOptions(this),this.setMode(d),l._signal("session",this),this.destroyed=!1,this.$initOperationListeners()}return b.prototype.$initOperationListeners=function(){var g=this;this.curOp=null,this.on("change",function(){g.curOp||(g.startOperation(),g.curOp.selectionBefore=g.$lastSel),g.curOp.docChanged=!0},!0),this.on("changeSelection",function(){g.curOp||(g.startOperation(),g.curOp.selectionBefore=g.$lastSel),g.curOp.selectionChanged=!0},!0),this.$operationResetTimer=L.delayedCall(this.endOperation.bind(this,!0))},b.prototype.startOperation=function(g){if(this.curOp){if(!g||this.curOp.command)return;this.prevOp=this.curOp}g||(g={}),this.$operationResetTimer.schedule(),this.curOp={command:g.command||{},args:g.args},this.curOp.selectionBefore=this.selection.toJSON(),this._signal("startOperation",g)},b.prototype.endOperation=function(g){if(this.curOp){if(g&&g.returnValue===!1){this.curOp=null,this._signal("endOperation",g);return}if(g==!0&&this.curOp.command&&this.curOp.command.name=="mouse")return;var d=this.selection.toJSON();this.curOp.selectionAfter=d,this.$lastSel=this.selection.toJSON(),this.getUndoManager().addSelection(d),this._signal("beforeEndOperation"),this.prevOp=this.curOp,this.curOp=null,this._signal("endOperation",g)}},b.prototype.setDocument=function(g){this.doc&&this.doc.off("change",this.$onChange),this.doc=g,g.on("change",this.$onChange,!0),this.bgTokenizer.setDocument(this.getDocument()),this.resetCaches()},b.prototype.getDocument=function(){return this.doc},Object.defineProperty(b.prototype,"widgetManager",{get:function(){var g=new t(this);return this.widgetManager=g,this.$editor&&g.attach(this.$editor),g},set:function(g){Object.defineProperty(this,"widgetManager",{writable:!0,enumerable:!0,configurable:!0,value:g})},enumerable:!1,configurable:!0}),b.prototype.$resetRowCache=function(g){if(!g){this.$docRowCache=[],this.$screenRowCache=[];return}var d=this.$docRowCache.length,c=this.$getRowCacheIndex(this.$docRowCache,g)+1;d>c&&(this.$docRowCache.splice(c,d),this.$screenRowCache.splice(c,d))},b.prototype.$getRowCacheIndex=function(g,d){for(var c=0,y=g.length-1;c<=y;){var M=c+y>>1,x=g[M];if(d>x)c=M+1;else if(d<x)y=M-1;else return M}return c-1},b.prototype.resetCaches=function(){this.$modified=!0,this.$wrapData=[],this.$rowLengthCache=[],this.$resetRowCache(0),this.destroyed||this.bgTokenizer.start(0)},b.prototype.onChangeFold=function(g){var d=g.data;this.$resetRowCache(d.start.row)},b.prototype.onChange=function(g){this.$modified=!0,this.$bidiHandler.onChange(g),this.$resetRowCache(g.start.row);var d=this.$updateInternalDataOnChange(g);!this.$fromUndo&&this.$undoManager&&(d&&d.length&&(this.$undoManager.add({action:"removeFolds",folds:d},this.mergeUndoDeltas),this.mergeUndoDeltas=!0),this.$undoManager.add(g,this.mergeUndoDeltas),this.mergeUndoDeltas=!0,this.$informUndoManager.schedule()),this.bgTokenizer.$updateOnChange(g),this._signal("change",g)},b.prototype.onSelectionChange=function(){this._signal("changeSelection")},b.prototype.setValue=function(g){this.doc.setValue(g),this.selection.moveTo(0,0),this.$resetRowCache(0),this.setUndoManager(this.$undoManager),this.getUndoManager().reset()},b.fromJSON=function(g){typeof g=="string"&&(g=JSON.parse(g));var d=new h;d.$undoStack=g.history.undo,d.$redoStack=g.history.redo,d.mark=g.history.mark,d.$rev=g.history.rev;var c=new b(g.value);return g.folds.forEach(function(y){c.addFold("...",r.fromPoints(y.start,y.end))}),c.setAnnotations(g.annotations),c.setBreakpoints(g.breakpoints),c.setMode(g.mode),c.setScrollLeft(g.scrollLeft),c.setScrollTop(g.scrollTop),c.setUndoManager(d),c.selection.fromJSON(g.selection),c},b.prototype.toJSON=function(){return{annotations:this.$annotations,breakpoints:this.$breakpoints,folds:this.getAllFolds().map(function(g){return g.range}),history:this.getUndoManager(),mode:this.$mode.$id,scrollLeft:this.$scrollLeft,scrollTop:this.$scrollTop,selection:this.selection.toJSON(),value:this.doc.getValue()}},b.prototype.toString=function(){return this.doc.getValue()},b.prototype.getSelection=function(){return this.selection},b.prototype.getState=function(g){return this.bgTokenizer.getState(g)},b.prototype.getTokens=function(g){return this.bgTokenizer.getTokens(g)},b.prototype.getTokenAt=function(g,d){var c=this.bgTokenizer.getTokens(g),y,M=0;if(d==null){var x=c.length-1;M=this.getLine(g).length}else for(var x=0;x<c.length&&(M+=c[x].value.length,!(M>=d));x++);return y=c[x],y?(y.index=x,y.start=M-y.value.length,y):null},b.prototype.setUndoManager=function(g){if(this.$undoManager=g,this.$informUndoManager&&this.$informUndoManager.cancel(),g){var d=this;g.addSession(this),this.$syncInformUndoManager=function(){d.$informUndoManager.cancel(),d.mergeUndoDeltas=!1},this.$informUndoManager=L.delayedCall(this.$syncInformUndoManager)}else this.$syncInformUndoManager=function(){}},b.prototype.markUndoGroup=function(){this.$syncInformUndoManager&&this.$syncInformUndoManager()},b.prototype.getUndoManager=function(){return this.$undoManager||this.$defaultUndoManager},b.prototype.getTabString=function(){return this.getUseSoftTabs()?L.stringRepeat(" ",this.getTabSize()):" "},b.prototype.setUseSoftTabs=function(g){this.setOption("useSoftTabs",g)},b.prototype.getUseSoftTabs=function(){return this.$useSoftTabs&&!this.$mode.$indentWithTabs},b.prototype.setTabSize=function(g){this.setOption("tabSize",g)},b.prototype.getTabSize=function(){return this.$tabSize},b.prototype.isTabStop=function(g){return this.$useSoftTabs&&g.column%this.$tabSize===0},b.prototype.setNavigateWithinSoftTabs=function(g){this.setOption("navigateWithinSoftTabs",g)},b.prototype.getNavigateWithinSoftTabs=function(){return this.$navigateWithinSoftTabs},b.prototype.setOverwrite=function(g){this.setOption("overwrite",g)},b.prototype.getOverwrite=function(){return this.$overwrite},b.prototype.toggleOverwrite=function(){this.setOverwrite(!this.$overwrite)},b.prototype.addGutterDecoration=function(g,d){this.$decorations[g]||(this.$decorations[g]=""),this.$decorations[g]+=" "+d,this._signal("changeBreakpoint",{})},b.prototype.removeGutterCustomWidget=function(g){this.$editor&&this.$editor.renderer.$gutterLayer.$removeCustomWidget(g)},b.prototype.addGutterCustomWidget=function(g,d){this.$editor&&this.$editor.renderer.$gutterLayer.$addCustomWidget(g,d)},b.prototype.removeGutterDecoration=function(g,d){this.$decorations[g]=(this.$decorations[g]||"").replace(" "+d,""),this._signal("changeBreakpoint",{})},b.prototype.getBreakpoints=function(){return this.$breakpoints},b.prototype.setBreakpoints=function(g){this.$breakpoints=[];for(var d=0;d<g.length;d++)this.$breakpoints[g[d]]="ace_breakpoint";this._signal("changeBreakpoint",{})},b.prototype.clearBreakpoints=function(){this.$breakpoints=[],this._signal("changeBreakpoint",{})},b.prototype.setBreakpoint=function(g,d){d===void 0&&(d="ace_breakpoint"),d?this.$breakpoints[g]=d:delete this.$breakpoints[g],this._signal("changeBreakpoint",{})},b.prototype.clearBreakpoint=function(g){delete this.$breakpoints[g],this._signal("changeBreakpoint",{})},b.prototype.addMarker=function(g,d,c,y){var M=this.$markerId++,x={range:g,type:c||"line",renderer:typeof c=="function"?c:null,clazz:d,inFront:!!y,id:M};return y?(this.$frontMarkers[M]=x,this._signal("changeFrontMarker")):(this.$backMarkers[M]=x,this._signal("changeBackMarker")),M},b.prototype.addDynamicMarker=function(g,d){if(g.update){var c=this.$markerId++;return g.id=c,g.inFront=!!d,d?(this.$frontMarkers[c]=g,this._signal("changeFrontMarker")):(this.$backMarkers[c]=g,this._signal("changeBackMarker")),g}},b.prototype.removeMarker=function(g){var d=this.$frontMarkers[g]||this.$backMarkers[g];if(d){var c=d.inFront?this.$frontMarkers:this.$backMarkers;delete c[g],this._signal(d.inFront?"changeFrontMarker":"changeBackMarker")}},b.prototype.getMarkers=function(g){return g?this.$frontMarkers:this.$backMarkers},b.prototype.highlight=function(g){if(!this.$searchHighlight){var d=new s(null,"ace_selected-word","text");this.$searchHighlight=this.addDynamicMarker(d)}this.$searchHighlight.setRegexp(g)},b.prototype.highlightLines=function(g,d,c,y){typeof d!="number"&&(c=d,d=g),c||(c="ace_step");var M=new r(g,0,d,1/0);return M.id=this.addMarker(M,c,"fullLine",y),M},b.prototype.setAnnotations=function(g){this.$annotations=g,this._signal("changeAnnotation",{})},b.prototype.getAnnotations=function(){return this.$annotations||[]},b.prototype.clearAnnotations=function(){this.setAnnotations([])},b.prototype.$detectNewLine=function(g){var d=g.match(/^.*?(\r?\n)/m);d?this.$autoNewLine=d[1]:this.$autoNewLine=`
|
|
198
|
-
`},b.prototype.getWordRange=function(g,d){var c=this.getLine(g),y=!1;if(d>0&&(y=!!c.charAt(d-1).match(this.tokenRe)),y||(y=!!c.charAt(d).match(this.tokenRe)),y)var M=this.tokenRe;else if(/^\s+$/.test(c.slice(d-1,d+1)))var M=/\s/;else var M=this.nonTokenRe;var x=d;if(x>0){do x--;while(x>=0&&c.charAt(x).match(M));x++}for(var I=d;I<c.length&&c.charAt(I).match(M);)I++;return new r(g,x,g,I)},b.prototype.getAWordRange=function(g,d){for(var c=this.getWordRange(g,d),y=this.getLine(c.end.row);y.charAt(c.end.column).match(/[ \t]/);)c.end.column+=1;return c},b.prototype.setNewLineMode=function(g){this.doc.setNewLineMode(g)},b.prototype.getNewLineMode=function(){return this.doc.getNewLineMode()},b.prototype.setUseWorker=function(g){this.setOption("useWorker",g)},b.prototype.getUseWorker=function(){return this.$useWorker},b.prototype.onReloadTokenizer=function(g){var d=g.data;this.bgTokenizer.start(d.first),this._signal("tokenizerUpdate",g)},b.prototype.setMode=function(g,d){if(g&&typeof g=="object"){if(g.getTokenizer)return this.$onChangeMode(g);var c=g,y=c.path}else y=g||"ace/mode/text";if(this.$modes["ace/mode/text"]||(this.$modes["ace/mode/text"]=new o),this.$modes[y]&&!c){this.$onChangeMode(this.$modes[y]),d&&d();return}this.$modeId=y,l.loadModule(["mode",y],(function(M){if(!this.destroyed){if(this.$modeId!==y)return d&&d();this.$modes[y]&&!c?this.$onChangeMode(this.$modes[y]):M&&M.Mode&&(M=new M.Mode(c),c||(this.$modes[y]=M,M.$id=y),this.$onChangeMode(M)),d&&d()}}).bind(this)),this.$mode||this.$onChangeMode(this.$modes["ace/mode/text"],!0)},b.prototype.$onChangeMode=function(g,d){if(d||(this.$modeId=g.$id),this.$mode!==g){var c=this.$mode;this.$mode=g,this.$stopWorker(),this.$useWorker&&this.$startWorker();var y=g.getTokenizer();if(y.on!==void 0){var M=this.onReloadTokenizer.bind(this);y.on("update",M)}this.bgTokenizer.setTokenizer(y),this.bgTokenizer.setDocument(this.getDocument()),this.tokenRe=g.tokenRe,this.nonTokenRe=g.nonTokenRe,d||(g.attachToSession&&g.attachToSession(this),this.$options.wrapMethod.set.call(this,this.$wrapMethod),this.$setFolding(g.foldingRules),this.bgTokenizer.start(0),this._emit("changeMode",{oldMode:c,mode:g}))}},b.prototype.$stopWorker=function(){this.$worker&&(this.$worker.terminate(),this.$worker=null)},b.prototype.$startWorker=function(){try{this.$worker=this.$mode.createWorker(this)}catch(g){l.warn("Could not load worker",g),this.$worker=null}},b.prototype.getMode=function(){return this.$mode},b.prototype.setScrollTop=function(g){this.$scrollTop===g||isNaN(g)||(this.$scrollTop=g,this._signal("changeScrollTop",g))},b.prototype.getScrollTop=function(){return this.$scrollTop},b.prototype.setScrollLeft=function(g){this.$scrollLeft===g||isNaN(g)||(this.$scrollLeft=g,this._signal("changeScrollLeft",g))},b.prototype.getScrollLeft=function(){return this.$scrollLeft},b.prototype.getScreenWidth=function(){return this.$computeWidth(),this.lineWidgets?Math.max(this.getLineWidgetMaxWidth(),this.screenWidth):this.screenWidth},b.prototype.getLineWidgetMaxWidth=function(){if(this.lineWidgetsWidth!=null)return this.lineWidgetsWidth;var g=0;return this.lineWidgets.forEach(function(d){d&&d.screenWidth>g&&(g=d.screenWidth)}),this.lineWidgetWidth=g},b.prototype.$computeWidth=function(g){if(this.$modified||g){if(this.$modified=!1,this.$useWrapMode)return this.screenWidth=this.$wrapLimit;for(var d=this.doc.getAllLines(),c=this.$rowLengthCache,y=0,M=0,x=this.$foldData[M],I=x?x.start.row:1/0,_=d.length,D=0;D<_;D++){if(D>I){if(D=x.end.row+1,D>=_)break;x=this.$foldData[M++],I=x?x.start.row:1/0}c[D]==null&&(c[D]=this.$getStringScreenWidth(d[D])[0]),c[D]>y&&(y=c[D])}this.screenWidth=y}},b.prototype.getLine=function(g){return this.doc.getLine(g)},b.prototype.getLines=function(g,d){return this.doc.getLines(g,d)},b.prototype.getLength=function(){return this.doc.getLength()},b.prototype.getTextRange=function(g){return this.doc.getTextRange(g||this.selection.getRange())},b.prototype.insert=function(g,d){return this.doc.insert(g,d)},b.prototype.remove=function(g){return this.doc.remove(g)},b.prototype.removeFullLines=function(g,d){return this.doc.removeFullLines(g,d)},b.prototype.undoChanges=function(g,d){if(g.length){this.$fromUndo=!0;for(var c=g.length-1;c!=-1;c--){var y=g[c];y.action=="insert"||y.action=="remove"?this.doc.revertDelta(y):y.folds&&this.addFolds(y.folds)}!d&&this.$undoSelect&&(g.selectionBefore?this.selection.fromJSON(g.selectionBefore):this.selection.setRange(this.$getUndoSelection(g,!0))),this.$fromUndo=!1}},b.prototype.redoChanges=function(g,d){if(g.length){this.$fromUndo=!0;for(var c=0;c<g.length;c++){var y=g[c];(y.action=="insert"||y.action=="remove")&&this.doc.$safeApplyDelta(y)}!d&&this.$undoSelect&&(g.selectionAfter?this.selection.fromJSON(g.selectionAfter):this.selection.setRange(this.$getUndoSelection(g,!1))),this.$fromUndo=!1}},b.prototype.setUndoSelect=function(g){this.$undoSelect=g},b.prototype.$getUndoSelection=function(g,d){function c(_){return d?_.action!=="insert":_.action==="insert"}for(var y,M,x=0;x<g.length;x++){var I=g[x];if(I.start){if(!y){c(I)?y=r.fromPoints(I.start,I.end):y=r.fromPoints(I.start,I.start);continue}c(I)?(M=I.start,y.compare(M.row,M.column)==-1&&y.setStart(M),M=I.end,y.compare(M.row,M.column)==1&&y.setEnd(M)):(M=I.start,y.compare(M.row,M.column)==-1&&(y=r.fromPoints(I.start,I.start)))}}return y},b.prototype.replace=function(g,d){return this.doc.replace(g,d)},b.prototype.moveText=function(g,d,c){var y=this.getTextRange(g),M=this.getFoldsInRange(g),x=r.fromPoints(d,d);if(!c){this.remove(g);var I=g.start.row-g.end.row,_=I?-g.end.column:g.start.column-g.end.column;_&&(x.start.row==g.end.row&&x.start.column>g.end.column&&(x.start.column+=_),x.end.row==g.end.row&&x.end.column>g.end.column&&(x.end.column+=_)),I&&x.start.row>=g.end.row&&(x.start.row+=I,x.end.row+=I)}if(x.end=this.insert(x.start,y),M.length){var D=g.start,H=x.start,I=H.row-D.row,_=H.column-D.column;this.addFolds(M.map(function(F){return F=F.clone(),F.start.row==D.row&&(F.start.column+=_),F.end.row==D.row&&(F.end.column+=_),F.start.row+=I,F.end.row+=I,F}))}return x},b.prototype.indentRows=function(g,d,c){c=c.replace(/\t/g,this.getTabString());for(var y=g;y<=d;y++)this.doc.insertInLine({row:y,column:0},c)},b.prototype.outdentRows=function(g){for(var d=g.collapseRows(),c=new r(0,0,0,0),y=this.getTabSize(),M=d.start.row;M<=d.end.row;++M){var x=this.getLine(M);c.start.row=M,c.end.row=M;for(var I=0;I<y&&x.charAt(I)==" ";++I);I<y&&x.charAt(I)==" "?(c.start.column=I,c.end.column=I+1):(c.start.column=0,c.end.column=I),this.remove(c)}},b.prototype.$moveLines=function(g,d,c){if(g=this.getRowFoldStart(g),d=this.getRowFoldEnd(d),c<0){var y=this.getRowFoldStart(g+c);if(y<0)return 0;var M=y-g}else if(c>0){var y=this.getRowFoldEnd(d+c);if(y>this.doc.getLength()-1)return 0;var M=y-d}else{g=this.$clipRowToDocument(g),d=this.$clipRowToDocument(d);var M=d-g+1}var x=new r(g,0,d,Number.MAX_VALUE),I=this.getFoldsInRange(x).map(function(D){return D=D.clone(),D.start.row+=M,D.end.row+=M,D}),_=c==0?this.doc.getLines(g,d):this.doc.removeFullLines(g,d);return this.doc.insertFullLines(g+M,_),I.length&&this.addFolds(I),M},b.prototype.moveLinesUp=function(g,d){return this.$moveLines(g,d,-1)},b.prototype.moveLinesDown=function(g,d){return this.$moveLines(g,d,1)},b.prototype.duplicateLines=function(g,d){return this.$moveLines(g,d,0)},b.prototype.$clipRowToDocument=function(g){return Math.max(0,Math.min(g,this.doc.getLength()-1))},b.prototype.$clipColumnToRow=function(g,d){return d<0?0:Math.min(this.doc.getLine(g).length,d)},b.prototype.$clipPositionToDocument=function(g,d){if(d=Math.max(0,d),g<0)g=0,d=0;else{var c=this.doc.getLength();g>=c?(g=c-1,d=this.doc.getLine(c-1).length):d=Math.min(this.doc.getLine(g).length,d)}return{row:g,column:d}},b.prototype.$clipRangeToDocument=function(g){g.start.row<0?(g.start.row=0,g.start.column=0):g.start.column=this.$clipColumnToRow(g.start.row,g.start.column);var d=this.doc.getLength()-1;return g.end.row>d?(g.end.row=d,g.end.column=this.doc.getLine(d).length):g.end.column=this.$clipColumnToRow(g.end.row,g.end.column),g},b.prototype.setUseWrapMode=function(g){if(g!=this.$useWrapMode){if(this.$useWrapMode=g,this.$modified=!0,this.$resetRowCache(0),g){var d=this.getLength();this.$wrapData=Array(d),this.$updateWrapData(0,d-1)}this._signal("changeWrapMode")}},b.prototype.getUseWrapMode=function(){return this.$useWrapMode},b.prototype.setWrapLimitRange=function(g,d){(this.$wrapLimitRange.min!==g||this.$wrapLimitRange.max!==d)&&(this.$wrapLimitRange={min:g,max:d},this.$modified=!0,this.$bidiHandler.markAsDirty(),this.$useWrapMode&&this._signal("changeWrapMode"))},b.prototype.adjustWrapLimit=function(g,d){var c=this.$wrapLimitRange;c.max<0&&(c={min:d,max:d});var y=this.$constrainWrapLimit(g,c.min,c.max);return y!=this.$wrapLimit&&y>1?(this.$wrapLimit=y,this.$modified=!0,this.$useWrapMode&&(this.$updateWrapData(0,this.getLength()-1),this.$resetRowCache(0),this._signal("changeWrapLimit")),!0):!1},b.prototype.$constrainWrapLimit=function(g,d,c){return d&&(g=Math.max(d,g)),c&&(g=Math.min(c,g)),g},b.prototype.getWrapLimit=function(){return this.$wrapLimit},b.prototype.setWrapLimit=function(g){this.setWrapLimitRange(g,g)},b.prototype.getWrapLimitRange=function(){return{min:this.$wrapLimitRange.min,max:this.$wrapLimitRange.max}},b.prototype.$updateInternalDataOnChange=function(g){var d=this.$useWrapMode,c=g.action,y=g.start,M=g.end,x=y.row,I=M.row,_=I-x,D=null;if(this.$updating=!0,_!=0)if(c==="remove"){this[d?"$wrapData":"$rowLengthCache"].splice(x,_);var H=this.$foldData;D=this.getFoldsInRange(g),this.removeFolds(D);var N=this.getFoldLine(M.row),O=0;if(N){N.addRemoveChars(M.row,M.column,y.column-M.column),N.shiftRow(-_);var F=this.getFoldLine(x);F&&F!==N&&(F.merge(N),N=F),O=H.indexOf(N)+1}for(O;O<H.length;O++){var N=H[O];N.start.row>=M.row&&N.shiftRow(-_)}I=x}else{var W=Array(_);W.unshift(x,0);var B=d?this.$wrapData:this.$rowLengthCache;B.splice.apply(B,W);var H=this.$foldData,N=this.getFoldLine(x),O=0;if(N){var P=N.range.compareInside(y.row,y.column);P==0?(N=N.split(y.row,y.column),N&&(N.shiftRow(_),N.addRemoveChars(I,0,M.column-y.column))):P==-1&&(N.addRemoveChars(x,0,M.column-y.column),N.shiftRow(_)),O=H.indexOf(N)+1}for(O;O<H.length;O++){var N=H[O];N.start.row>=x&&N.shiftRow(_)}}else{_=Math.abs(g.start.column-g.end.column),c==="remove"&&(D=this.getFoldsInRange(g),this.removeFolds(D),_=-_);var N=this.getFoldLine(x);N&&N.addRemoveChars(x,y.column,_)}return d&&this.$wrapData.length!=this.doc.getLength()&&console.error("doc.getLength() and $wrapData.length have to be the same!"),this.$updating=!1,d?this.$updateWrapData(x,I):this.$updateRowLengthCache(x,I),D},b.prototype.$updateRowLengthCache=function(g,d){this.$rowLengthCache[g]=null,this.$rowLengthCache[d]=null},b.prototype.$updateWrapData=function(g,d){var c=this.doc.getAllLines(),y=this.getTabSize(),M=this.$wrapData,x=this.$wrapLimit,I,_,D=g;for(d=Math.min(d,c.length-1);D<=d;)_=this.getFoldLine(D,_),_?(I=[],_.walk((function(H,N,O,F){var W;if(H!=null){W=this.$getDisplayTokens(H,I.length),W[0]=p;for(var B=1;B<W.length;B++)W[B]=a}else W=this.$getDisplayTokens(c[N].substring(F,O),I.length);I=I.concat(W)}).bind(this),_.end.row,c[_.end.row].length+1),M[_.start.row]=this.$computeWrapSplits(I,x,y),D=_.end.row+1):(I=this.$getDisplayTokens(c[D]),M[D]=this.$computeWrapSplits(I,x,y),D++)},b.prototype.$computeWrapSplits=function(g,d,c){if(g.length==0)return[];var y=[],M=g.length,x=0,I=0,_=this.$wrapAsCode,D=this.$indentedSoftWrap,H=d<=Math.max(2*c,8)||D===!1?0:Math.floor(d/2);function N(){var P=0;if(H===0)return P;if(D)for(var V=0;V<g.length;V++){var G=g[V];if(G==S)P+=1;else if(G==$)P+=c;else{if(G==w)continue;break}}return _&&D!==!1&&(P+=c),Math.min(P,H)}function O(P){for(var V=P-x,G=x;G<P;G++){var Y=g[G];(Y===12||Y===2)&&(V-=1)}y.length||(F=N(),y.indent=F),I+=V,y.push(I),x=P}for(var F=0;M-x>d-F;){var W=x+d-F;if(g[W-1]>=S&&g[W]>=S){O(W);continue}if(g[W]==p||g[W]==a){for(W;W!=x-1&&g[W]!=p;W--);if(W>x){O(W);continue}for(W=x+d,W;W<g.length&&g[W]==a;W++);if(W==g.length)break;O(W);continue}for(var B=Math.max(W-(d-(d>>2)),x-1);W>B&&g[W]<p;)W--;if(_){for(;W>B&&g[W]<p;)W--;for(;W>B&&g[W]==m;)W--}else for(;W>B&&g[W]<S;)W--;if(W>B){O(++W);continue}W=x+d,g[W]==v&&W--,O(W-F)}return y},b.prototype.$getDisplayTokens=function(g,d){var c=[],y;d=d||0;for(var M=0;M<g.length;M++){var x=g.charCodeAt(M);if(x==9){y=this.getScreenTabSize(c.length+d),c.push($);for(var I=1;I<y;I++)c.push(w)}else x==32?c.push(S):x>39&&x<48||x>57&&x<64?c.push(m):x>=4352&&T(x)?c.push(C,v):c.push(C)}return c},b.prototype.$getStringScreenWidth=function(g,d,c){if(d==0)return[0,0];d==null&&(d=1/0),c=c||0;var y,M;for(M=0;M<g.length&&(y=g.charCodeAt(M),y==9?c+=this.getScreenTabSize(c):y>=4352&&T(y)?c+=2:c+=1,!(c>d));M++);return[c,M]},b.prototype.getRowLength=function(g){var d=1;return this.lineWidgets&&(d+=this.lineWidgets[g]&&this.lineWidgets[g].rowCount||0),!this.$useWrapMode||!this.$wrapData[g]?d:this.$wrapData[g].length+d},b.prototype.getRowLineCount=function(g){return!this.$useWrapMode||!this.$wrapData[g]?1:this.$wrapData[g].length+1},b.prototype.getRowWrapIndent=function(g){if(this.$useWrapMode){var d=this.screenToDocumentPosition(g,Number.MAX_VALUE),c=this.$wrapData[d.row];return c.length&&c[0]<d.column?c.indent:0}else return 0},b.prototype.getScreenLastRowColumn=function(g){var d=this.screenToDocumentPosition(g,Number.MAX_VALUE);return this.documentToScreenColumn(d.row,d.column)},b.prototype.getDocumentLastRowColumn=function(g,d){var c=this.documentToScreenRow(g,d);return this.getScreenLastRowColumn(c)},b.prototype.getDocumentLastRowColumnPosition=function(g,d){var c=this.documentToScreenRow(g,d);return this.screenToDocumentPosition(c,Number.MAX_VALUE/10)},b.prototype.getRowSplitData=function(g){if(this.$useWrapMode)return this.$wrapData[g]},b.prototype.getScreenTabSize=function(g){return this.$tabSize-(g%this.$tabSize|0)},b.prototype.screenToDocumentRow=function(g,d){return this.screenToDocumentPosition(g,d).row},b.prototype.screenToDocumentColumn=function(g,d){return this.screenToDocumentPosition(g,d).column},b.prototype.screenToDocumentPosition=function(g,d,c){if(g<0)return{row:0,column:0};var y,M=0,x=0,I,_=0,D=0,H=this.$screenRowCache,N=this.$getRowCacheIndex(H,g),O=H.length;if(O&&N>=0)var _=H[N],M=this.$docRowCache[N],F=g>H[O-1];else var F=!O;for(var W=this.getLength()-1,B=this.getNextFoldLine(M),P=B?B.start.row:1/0;_<=g&&(D=this.getRowLength(M),!(_+D>g||M>=W));)_+=D,M++,M>P&&(M=B.end.row+1,B=this.getNextFoldLine(M,B),P=B?B.start.row:1/0),F&&(this.$docRowCache.push(M),this.$screenRowCache.push(_));if(B&&B.start.row<=M)y=this.getFoldDisplayLine(B),M=B.start.row;else{if(_+D<=g||M>W)return{row:W,column:this.getLine(W).length};y=this.getLine(M),B=null}var V=0,G=Math.floor(g-_);if(this.$useWrapMode){var Y=this.$wrapData[M];Y&&(I=Y[G],G>0&&Y.length&&(V=Y.indent,x=Y[G-1]||Y[Y.length-1],y=y.substring(x)))}return c!==void 0&&this.$bidiHandler.isBidiRow(_+G,M,G)&&(d=this.$bidiHandler.offsetToCol(c)),x+=this.$getStringScreenWidth(y,d-V)[1],this.$useWrapMode&&x>=I&&(x=I-1),B?B.idxToPosition(x):{row:M,column:x}},b.prototype.documentToScreenPosition=function(g,d){if(typeof d>"u")var c=this.$clipPositionToDocument(g.row,g.column);else c=this.$clipPositionToDocument(g,d);g=c.row,d=c.column;var y=0,M=null,x=null;x=this.getFoldAt(g,d,1),x&&(g=x.start.row,d=x.start.column);var I,_=0,D=this.$docRowCache,H=this.$getRowCacheIndex(D,g),N=D.length;if(N&&H>=0)var _=D[H],y=this.$screenRowCache[H],O=g>D[N-1];else var O=!N;for(var F=this.getNextFoldLine(_),W=F?F.start.row:1/0;_<g;){if(_>=W){if(I=F.end.row+1,I>g)break;F=this.getNextFoldLine(I,F),W=F?F.start.row:1/0}else I=_+1;y+=this.getRowLength(_),_=I,O&&(this.$docRowCache.push(_),this.$screenRowCache.push(y))}var B="";F&&_>=W?(B=this.getFoldDisplayLine(F,g,d),M=F.start.row):(B=this.getLine(g).substring(0,d),M=g);var P=0;if(this.$useWrapMode){var V=this.$wrapData[M];if(V){for(var G=0;B.length>=V[G];)y++,G++;B=B.substring(V[G-1]||0,B.length),P=G>0?V.indent:0}}return this.lineWidgets&&this.lineWidgets[_]&&this.lineWidgets[_].rowsAbove&&(y+=this.lineWidgets[_].rowsAbove),{row:y,column:P+this.$getStringScreenWidth(B)[0]}},b.prototype.documentToScreenColumn=function(g,d){return this.documentToScreenPosition(g,d).column},b.prototype.documentToScreenRow=function(g,d){return this.documentToScreenPosition(g,d).row},b.prototype.getScreenLength=function(){var g=0,d=null;if(this.$useWrapMode)for(var M=this.$wrapData.length,x=0,y=0,d=this.$foldData[y++],I=d?d.start.row:1/0;x<M;){var _=this.$wrapData[x];g+=_?_.length+1:1,x++,x>I&&(x=d.end.row+1,d=this.$foldData[y++],I=d?d.start.row:1/0)}else{g=this.getLength();for(var c=this.$foldData,y=0;y<c.length;y++)d=c[y],g-=d.end.row-d.start.row}return this.lineWidgets&&(g+=this.$getWidgetScreenLength()),g},b.prototype.$setFontMetrics=function(g){this.$enableVarChar&&(this.$getStringScreenWidth=function(d,c,y){if(c===0)return[0,0];c||(c=1/0),y=y||0;var M,x;for(x=0;x<d.length&&(M=d.charAt(x),M===" "?y+=this.getScreenTabSize(y):y+=g.getCharacterWidth(M),!(y>c));x++);return[y,x]})},b.prototype.getPrecedingCharacter=function(){var g=this.selection.getCursor();if(g.column===0)return g.row===0?"":this.doc.getNewLineCharacter();var d=this.getLine(g.row);return d[g.column-1]},b.prototype.destroy=function(){this.destroyed||(this.bgTokenizer.setDocument(null),this.bgTokenizer.cleanup(),this.destroyed=!0),this.endOperation(),this.$stopWorker(),this.removeAllListeners(),this.doc&&this.doc.off("change",this.$onChange),this.selection&&(this.selection.off("changeCursor",this.$onSelectionChange),this.selection.off("changeSelection",this.$onSelectionChange)),this.selection.detach()},b}();f.$uid=0,f.prototype.$modes=l.$modes,f.prototype.getValue=f.prototype.toString,f.prototype.$defaultUndoManager={undo:function(){},redo:function(){},hasUndo:function(){},hasRedo:function(){},reset:function(){},add:function(){},addSelection:function(){},startNewGroup:function(){},addSession:function(){}},f.prototype.$overwrite=!1,f.prototype.$mode=null,f.prototype.$modeId=null,f.prototype.$scrollTop=0,f.prototype.$scrollLeft=0,f.prototype.$wrapLimit=80,f.prototype.$useWrapMode=!1,f.prototype.$wrapLimitRange={min:null,max:null},f.prototype.lineWidgets=null,f.prototype.isFullWidth=T,E.implement(f.prototype,u);var C=1,v=2,p=3,a=4,m=9,S=10,$=11,w=12;function T(b){return b<4352?!1:b>=4352&&b<=4447||b>=4515&&b<=4519||b>=4602&&b<=4607||b>=9001&&b<=9002||b>=11904&&b<=11929||b>=11931&&b<=12019||b>=12032&&b<=12245||b>=12272&&b<=12283||b>=12288&&b<=12350||b>=12353&&b<=12438||b>=12441&&b<=12543||b>=12549&&b<=12589||b>=12593&&b<=12686||b>=12688&&b<=12730||b>=12736&&b<=12771||b>=12784&&b<=12830||b>=12832&&b<=12871||b>=12880&&b<=13054||b>=13056&&b<=19903||b>=19968&&b<=42124||b>=42128&&b<=42182||b>=43360&&b<=43388||b>=44032&&b<=55203||b>=55216&&b<=55238||b>=55243&&b<=55291||b>=63744&&b<=64255||b>=65040&&b<=65049||b>=65072&&b<=65106||b>=65108&&b<=65126||b>=65128&&b<=65131||b>=65281&&b<=65376||b>=65504&&b<=65510}R("./edit_session/folding").Folding.call(f.prototype),R("./edit_session/bracket_match").BracketMatch.call(f.prototype),l.defineOptions(f.prototype,"session",{wrap:{set:function(b){if(!b||b=="off"?b=!1:b=="free"?b=!0:b=="printMargin"?b=-1:typeof b=="string"&&(b=parseInt(b,10)||!1),this.$wrap!=b)if(this.$wrap=b,!b)this.setUseWrapMode(!1);else{var g=typeof b=="number"?b:null;this.setWrapLimitRange(g,g),this.setUseWrapMode(!0)}},get:function(){return this.getUseWrapMode()?this.$wrap==-1?"printMargin":this.getWrapLimitRange().min?this.$wrap:"free":"off"},handlesSet:!0},wrapMethod:{set:function(b){b=b=="auto"?this.$mode.type!="text":b!="text",b!=this.$wrapAsCode&&(this.$wrapAsCode=b,this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0)))},initialValue:"auto"},indentedSoftWrap:{set:function(){this.$useWrapMode&&(this.$useWrapMode=!1,this.setUseWrapMode(!0))},initialValue:!0},firstLineNumber:{set:function(){this._signal("changeBreakpoint")},initialValue:1},useWorker:{set:function(b){this.$useWorker=b,this.$stopWorker(),b&&this.$startWorker()},initialValue:!0},useSoftTabs:{initialValue:!0},tabSize:{set:function(b){b=parseInt(b),b>0&&this.$tabSize!==b&&(this.$modified=!0,this.$rowLengthCache=[],this.$tabSize=b,this._signal("changeTabSize"))},initialValue:4,handlesSet:!0},navigateWithinSoftTabs:{initialValue:!1},foldStyle:{set:function(b){this.setFoldStyle(b)},handlesSet:!0},overwrite:{set:function(b){this._signal("changeOverwrite")},initialValue:!1},newLineMode:{set:function(b){this.doc.setNewLineMode(b)},get:function(){return this.doc.getNewLineMode()},handlesSet:!0},mode:{set:function(b){this.setMode(b)},get:function(){return this.$modeId},handlesSet:!0}}),k.EditSession=f}),ace.define("ace/search",["require","exports","module","ace/lib/lang","ace/lib/oop","ace/range"],function(R,k,z){var E=R("./lib/lang"),L=R("./lib/oop"),A=R("./range").Range,l=function(){function r(){this.$options={}}return r.prototype.set=function(t){return L.mixin(this.$options,t),this},r.prototype.getOptions=function(){return E.copyObject(this.$options)},r.prototype.setOptions=function(t){this.$options=t},r.prototype.find=function(t){var e=this.$options,n=this.$matchIterator(t,e);if(!n)return!1;var s=null;return n.forEach(function(h,f,C,v){return s=new A(h,f,C,v),f==v&&e.start&&e.start.start&&e.skipCurrent!=!1&&s.isEqual(e.start)?(s=null,!1):!0}),s},r.prototype.findAll=function(t){var e=this.$options;if(!e.needle)return[];this.$assembleRegExp(e);var n=e.range,s=n?t.getLines(n.start.row,n.end.row):t.doc.getAllLines(),h=[],f=e.re;if(e.$isMultiLine){var C=f.length,v=s.length-C,p;e:for(var a=f.offset||0;a<=v;a++){for(var m=0;m<C;m++)if(s[a+m].search(f[m])==-1)continue e;var S=s[a],$=s[a+C-1],w=S.length-S.match(f[0])[0].length,T=$.match(f[C-1])[0].length;p&&p.end.row===a&&p.end.column>w||(h.push(p=new A(a,w,a+C-1,T)),C>2&&(a=a+C-2))}}else for(var b,g=0;g<s.length;g++)if(this.$isMultilineSearch(e)){var d=s.length-1;if(b=this.$multiLineForward(t,f,g,d),b){var c=b.endRow<=d?b.endRow-1:d;c>g&&(g=c),h.push(new A(b.startRow,b.startCol,b.endRow,b.endCol))}}else{b=E.getMatchOffsets(s[g],f);for(var m=0;m<b.length;m++){var y=b[m];h.push(new A(g,y.offset,g,y.offset+y.length))}}if(n){for(var M=n.start.column,x=n.end.column,g=0,m=h.length-1;g<m&&h[g].start.column<M&&h[g].start.row==0;)g++;for(var I=n.end.row-n.start.row;g<m&&h[m].end.column>x&&h[m].end.row==I;)m--;for(h=h.slice(g,m+1),g=0,m=h.length;g<m;g++)h[g].start.row+=n.start.row,h[g].end.row+=n.start.row}return h},r.prototype.parseReplaceString=function(t){for(var e={DollarSign:36,Ampersand:38,Digit0:48,Digit1:49,Digit9:57,Backslash:92,n:110,t:116},n="",s=0,h=t.length;s<h;s++){var f=t.charCodeAt(s);if(f===e.Backslash){if(s++,s>=h){n+="\\";break}var C=t.charCodeAt(s);switch(C){case e.Backslash:n+="\\";break;case e.n:n+=`
|
|
199
|
-
`;break;case e.t:n+=" ";break}continue}if(f===e.DollarSign){if(s++,s>=h){n+="$";break}var v=t.charCodeAt(s);if(v===e.DollarSign){n+="$$";continue}if(v===e.Digit0||v===e.Ampersand){n+="$&";continue}if(e.Digit1<=v&&v<=e.Digit9){n+="$"+t[s];continue}}n+=t[s]}return n||t},r.prototype.replace=function(t,e){var n=this.$options,s=this.$assembleRegExp(n);if(n.$isMultiLine)return e;if(s){var h=this.$isMultilineSearch(n);h&&(t=t.replace(/\r\n|\r|\n/g,`
|
|
200
|
-
`));var f=s.exec(t);if(!f||!h&&f[0].length!=t.length)return null;if(e=n.regExp?this.parseReplaceString(e):e.replace(/\$/g,"$$$$"),e=t.replace(s,e),n.preserveCase){e=e.split("");for(var C=Math.min(t.length,t.length);C--;){var v=t[C];v&&v.toLowerCase()!=v?e[C]=e[C].toUpperCase():e[C]=e[C].toLowerCase()}e=e.join("")}return e}},r.prototype.$assembleRegExp=function(t,e){if(t.needle instanceof RegExp)return t.re=t.needle;var n=t.needle;if(!t.needle)return t.re=!1;t.regExp||(n=E.escapeRegExp(n));var s=t.caseSensitive?"gm":"gmi";try{new RegExp(n,"u"),t.$supportsUnicodeFlag=!0,s+="u"}catch{t.$supportsUnicodeFlag=!1}if(t.wholeWord&&(n=u(n,t)),t.$isMultiLine=!e&&/[\n\r]/.test(n),t.$isMultiLine)return t.re=this.$assembleMultilineRegExp(n,s);try{var h=new RegExp(n,s)}catch{h=!1}return t.re=h},r.prototype.$assembleMultilineRegExp=function(t,e){for(var n=t.replace(/\r\n|\r|\n/g,`$
|
|
201
|
-
^`).split(`
|
|
202
|
-
`),s=[],h=0;h<n.length;h++)try{s.push(new RegExp(n[h],e))}catch{return!1}return s},r.prototype.$isMultilineSearch=function(t){return t.re&&/\\r\\n|\\r|\\n/.test(t.re.source)&&t.regExp&&!t.$isMultiLine},r.prototype.$multiLineForward=function(t,e,n,s){for(var h,f=o(t,n),C=n;C<=s;){for(var v=0;v<f&&!(C>s);v++){var p=t.getLine(C++);h=h==null?p:h+`
|
|
203
|
-
`+p}var a=e.exec(h);if(e.lastIndex=0,a){var m=h.slice(0,a.index).split(`
|
|
204
|
-
`),S=a[0].split(`
|
|
205
|
-
`),$=n+m.length-1,w=m[m.length-1].length,T=$+S.length-1,b=S.length==1?w+S[0].length:S[S.length-1].length;return{startRow:$,startCol:w,endRow:T,endCol:b}}}return null},r.prototype.$multiLineBackward=function(t,e,n,s,h){for(var f,C=o(t,s),v=t.getLine(s).length-n,p=s;p>=h;){for(var a=0;a<C&&p>=h;a++){var m=t.getLine(p--);f=f==null?m:m+`
|
|
206
|
-
`+f}var S=i(f,e,v);if(S){var $=f.slice(0,S.index).split(`
|
|
207
|
-
`),w=S[0].split(`
|
|
208
|
-
`),T=p+$.length,b=$[$.length-1].length,g=T+w.length-1,d=w.length==1?b+w[0].length:w[w.length-1].length;return{startRow:T,startCol:b,endRow:g,endCol:d}}}return null},r.prototype.$matchIterator=function(t,e){var n=this.$assembleRegExp(e);if(!n)return!1;var s=this.$isMultilineSearch(e),h=this.$multiLineForward,f=this.$multiLineBackward,C=e.backwards==!0,v=e.skipCurrent!=!1,p=n.unicode,a=e.range,m=e.start;m||(m=a?a[C?"end":"start"]:t.selection.getRange()),m.start&&(m=m[v!=C?"end":"start"]);var S=a?a.start.row:0,$=a?a.end.row:t.getLength()-1;if(C)var w=function(g){var d=m.row;if(!b(d,m.column,g)){for(d--;d>=S;d--)if(b(d,Number.MAX_VALUE,g))return;if(e.wrap!=!1){for(d=$,S=m.row;d>=S;d--)if(b(d,Number.MAX_VALUE,g))return}}};else var w=function(d){var c=m.row;if(!b(c,m.column,d)){for(c=c+1;c<=$;c++)if(b(c,0,d))return;if(e.wrap!=!1){for(c=S,$=m.row;c<=$;c++)if(b(c,0,d))return}}};if(e.$isMultiLine)var T=n.length,b=function(g,d,c){var y=C?g-T+1:g;if(!(y<0||y+T>t.getLength())){var M=t.getLine(y),x=M.search(n[0]);if(!(!C&&x<d||x===-1)){for(var I=1;I<T;I++)if(M=t.getLine(y+I),M.search(n[I])==-1)return;var _=M.match(n[T-1])[0].length;if(!(C&&_>d)&&c(y,x,y+T-1,_))return!0}}};else if(C)var b=function(d,c,y){if(s){var M=f(t,n,c,d,S);if(!M)return!1;if(y(M.startRow,M.startCol,M.endRow,M.endCol))return!0}else{var x=t.getLine(d),I=[],_,D=0;for(n.lastIndex=0;_=n.exec(x);){var H=_[0].length;if(D=_.index,!H){if(D>=x.length)break;n.lastIndex=D+=E.skipEmptyMatch(x,D,p)}if(_.index+H>c)break;I.push(_.index,H)}for(var N=I.length-1;N>=0;N-=2){var O=I[N-1],H=I[N];if(y(d,O,d,O+H))return!0}}};else var b=function(d,c,y){if(n.lastIndex=c,s){var M=h(t,n,d,$);if(M){var x=M.endRow<=$?M.endRow-1:$;x>d&&(d=x)}if(!M)return!1;if(y(M.startRow,M.startCol,M.endRow,M.endCol))return!0}else for(var I=t.getLine(d),_,D;D=n.exec(I);){var H=D[0].length;if(_=D.index,y(d,_,d,_+H))return!0;if(!H&&(n.lastIndex=_+=E.skipEmptyMatch(I,_,p),_>=I.length))return!1}};return{forEach:w}},r}();function u(r,t){var e=E.supportsLookbehind();function n(C,v){v===void 0&&(v=!0);var p=e&&t.$supportsUnicodeFlag?new RegExp("[\\p{L}\\p{N}_]","u"):new RegExp("\\w");return p.test(C)||t.regExp?e&&t.$supportsUnicodeFlag?v?"(?<=^|[^\\p{L}\\p{N}_])":"(?=[^\\p{L}\\p{N}_]|$)":"\\b":""}var s=Array.from(r),h=s[0],f=s[s.length-1];return n(h)+r+n(f,!1)}function i(r,t,e){for(var n=null,s=0;s<=r.length;){t.lastIndex=s;var h=t.exec(r);if(!h)break;var f=h.index+h[0].length;if(f>r.length-e)break;(!n||f>n.index+n[0].length)&&(n=h),s=h.index+1}return n}function o(r,t){var e=5e3,n={row:t,column:0},s=r.doc.positionToIndex(n),h=s+e,f=r.doc.indexToPosition(h),C=f.row;return C+1}k.Search=l}),ace.define("ace/keyboard/hash_handler",["require","exports","module","ace/lib/keys","ace/lib/useragent"],function(R,k,z){var E=this&&this.__extends||function(){var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,s){n.__proto__=s}||function(n,s){for(var h in s)Object.prototype.hasOwnProperty.call(s,h)&&(n[h]=s[h])},r(t,e)};return function(t,e){if(typeof e!="function"&&e!==null)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");r(t,e);function n(){this.constructor=t}t.prototype=e===null?Object.create(e):(n.prototype=e.prototype,new n)}}(),L=R("../lib/keys"),A=R("../lib/useragent"),l=L.KEY_MODS,u=function(){function r(t,e){this.$init(t,e,!1)}return r.prototype.$init=function(t,e,n){this.platform=e||(A.isMac?"mac":"win"),this.commands={},this.commandKeyBinding={},this.addCommands(t),this.$singleCommand=n},r.prototype.addCommand=function(t){this.commands[t.name]&&this.removeCommand(t),this.commands[t.name]=t,t.bindKey&&this._buildKeyHash(t)},r.prototype.removeCommand=function(t,e){var n=t&&(typeof t=="string"?t:t.name);t=this.commands[n],e||delete this.commands[n];var s=this.commandKeyBinding;for(var h in s){var f=s[h];if(f==t)delete s[h];else if(Array.isArray(f)){var C=f.indexOf(t);C!=-1&&(f.splice(C,1),f.length==1&&(s[h]=f[0]))}}},r.prototype.bindKey=function(t,e,n){if(typeof t=="object"&&t&&(n==null&&(n=t.position),t=t[this.platform]),!!t){if(typeof e=="function")return this.addCommand({exec:e,bindKey:t,name:e.name||t});t.split("|").forEach(function(s){var h="";if(s.indexOf(" ")!=-1){var f=s.split(/\s+/);s=f.pop(),f.forEach(function(p){var a=this.parseKeys(p),m=l[a.hashId]+a.key;h+=(h?" ":"")+m,this._addCommandToBinding(h,"chainKeys")},this),h+=" "}var C=this.parseKeys(s),v=l[C.hashId]+C.key;this._addCommandToBinding(h+v,e,n)},this)}},r.prototype._addCommandToBinding=function(t,e,n){var s=this.commandKeyBinding,h;if(!e)delete s[t];else if(!s[t]||this.$singleCommand)s[t]=e;else{Array.isArray(s[t])?(h=s[t].indexOf(e))!=-1&&s[t].splice(h,1):s[t]=[s[t]],typeof n!="number"&&(n=i(e));var f=s[t];for(h=0;h<f.length;h++){var C=f[h],v=i(C);if(v>n)break}f.splice(h,0,e)}},r.prototype.addCommands=function(t){t&&Object.keys(t).forEach(function(e){var n=t[e];if(n){if(typeof n=="string")return this.bindKey(n,e);typeof n=="function"&&(n={exec:n}),typeof n=="object"&&(n.name||(n.name=e),this.addCommand(n))}},this)},r.prototype.removeCommands=function(t){Object.keys(t).forEach(function(e){this.removeCommand(t[e])},this)},r.prototype.bindKeys=function(t){Object.keys(t).forEach(function(e){this.bindKey(e,t[e])},this)},r.prototype._buildKeyHash=function(t){this.bindKey(t.bindKey,t)},r.prototype.parseKeys=function(t){var e=t.toLowerCase().split(/[\-\+]([\-\+])?/).filter(function(v){return v}),n=e.pop(),s=L[n];if(L.FUNCTION_KEYS[s])n=L.FUNCTION_KEYS[s].toLowerCase();else if(e.length){if(e.length==1&&e[0]=="shift")return{key:n.toUpperCase(),hashId:-1}}else return{key:n,hashId:-1};for(var h=0,f=e.length;f--;){var C=L.KEY_MODS[e[f]];if(C==null)return typeof console<"u"&&console.error("invalid modifier "+e[f]+" in "+t),!1;h|=C}return{key:n,hashId:h}},r.prototype.findKeyCommand=function(t,e){var n=l[t]+e;return this.commandKeyBinding[n]},r.prototype.handleKeyboard=function(t,e,n,s){if(!(s<0)){var h=l[e]+n,f=this.commandKeyBinding[h];return t.$keyChain&&(t.$keyChain+=" "+h,f=this.commandKeyBinding[t.$keyChain]||f),f&&(f=="chainKeys"||f[f.length-1]=="chainKeys")?(t.$keyChain=t.$keyChain||h,{command:"null"}):(t.$keyChain&&((!e||e==4)&&n.length==1?t.$keyChain=t.$keyChain.slice(0,-h.length-1):(e==-1||s>0)&&(t.$keyChain="")),{command:f})}},r.prototype.getStatusText=function(t,e){return e.$keyChain||""},r}();function i(r){return typeof r=="object"&&r.bindKey&&r.bindKey.position||(r.isDefault?-100:0)}var o=function(r){E(t,r);function t(e,n){var s=r.call(this,e,n)||this;return s.$singleCommand=!0,s}return t}(u);o.call=function(r,t,e){u.prototype.$init.call(r,t,e,!0)},u.call=function(r,t,e){u.prototype.$init.call(r,t,e,!1)},k.HashHandler=o,k.MultiHashHandler=u}),ace.define("ace/commands/command_manager",["require","exports","module","ace/lib/oop","ace/keyboard/hash_handler","ace/lib/event_emitter"],function(R,k,z){var E=this&&this.__extends||function(){var i=function(o,r){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},i(o,r)};return function(o,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");i(o,r);function t(){this.constructor=o}o.prototype=r===null?Object.create(r):(t.prototype=r.prototype,new t)}}(),L=R("../lib/oop"),A=R("../keyboard/hash_handler").MultiHashHandler,l=R("../lib/event_emitter").EventEmitter,u=function(i){E(o,i);function o(r,t){var e=i.call(this,t,r)||this;return e.byName=e.commands,e.setDefaultHandler("exec",function(n){return n.args?n.command.exec(n.editor,n.args,n.event,!1):n.command.exec(n.editor,{},n.event,!0)}),e}return o.prototype.exec=function(r,t,e){if(Array.isArray(r)){for(var n=r.length;n--;)if(this.exec(r[n],t,e))return!0;return!1}typeof r=="string"&&(r=this.commands[r]);var s={editor:t,command:r,args:e};return this.canExecute(r,t)?(s.returnValue=this._emit("exec",s),this._signal("afterExec",s),s.returnValue!==!1):(this._signal("commandUnavailable",s),!1)},o.prototype.canExecute=function(r,t){return typeof r=="string"&&(r=this.commands[r]),!(!r||t&&t.$readOnly&&!r.readOnly||this.$checkCommandState!=!1&&r.isAvailable&&!r.isAvailable(t))},o.prototype.toggleRecording=function(r){if(!this.$inReplay)return r&&r._emit("changeStatus"),this.recording?(this.macro.pop(),this.off("exec",this.$addCommandToMacro),this.macro.length||(this.macro=this.oldMacro),this.recording=!1):(this.$addCommandToMacro||(this.$addCommandToMacro=(function(t){this.macro.push([t.command,t.args])}).bind(this)),this.oldMacro=this.macro,this.macro=[],this.on("exec",this.$addCommandToMacro),this.recording=!0)},o.prototype.replay=function(r){if(!(this.$inReplay||!this.macro)){if(this.recording)return this.toggleRecording(r);try{this.$inReplay=!0,this.macro.forEach(function(t){typeof t=="string"?this.exec(t,r):this.exec(t[0],r,t[1])},this)}finally{this.$inReplay=!1}}},o.prototype.trimMacro=function(r){return r.map(function(t){return typeof t[0]!="string"&&(t[0]=t[0].name),t[1]||(t=t[0]),t})},o}(A);L.implement(u.prototype,l),k.CommandManager=u}),ace.define("ace/commands/default_commands",["require","exports","module","ace/lib/lang","ace/config","ace/range"],function(R,k,z){var E=R("../lib/lang"),L=R("../config"),A=R("../range").Range;function l(i,o){return{win:i,mac:o}}k.commands=[{name:"showSettingsMenu",description:"Show settings menu",bindKey:l("Ctrl-,","Command-,"),exec:function(i){L.loadModule("ace/ext/settings_menu",function(o){o.init(i),i.showSettingsMenu()})},readOnly:!0},{name:"goToNextError",description:"Go to next error",bindKey:l("Alt-E","F4"),exec:function(i){L.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(i,1)})},scrollIntoView:"animate",readOnly:!0},{name:"goToPreviousError",description:"Go to previous error",bindKey:l("Alt-Shift-E","Shift-F4"),exec:function(i){L.loadModule("ace/ext/error_marker",function(o){o.showErrorMarker(i,-1)})},scrollIntoView:"animate",readOnly:!0},{name:"selectall",description:"Select all",bindKey:l("Ctrl-A","Command-A"),exec:function(i){i.selectAll()},readOnly:!0},{name:"centerselection",description:"Center selection",bindKey:l(null,"Ctrl-L"),exec:function(i){i.centerSelection()},readOnly:!0},{name:"gotoline",description:"Go to line...",bindKey:l("Ctrl-L","Command-L"),exec:function(i,o){typeof o=="number"&&!isNaN(o)&&i.gotoLine(o),i.prompt({$type:"gotoLine"})},readOnly:!0},{name:"fold",bindKey:l("Alt-L|Ctrl-F1","Command-Alt-L|Command-F1"),exec:function(i){i.session.toggleFold(!1)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"unfold",bindKey:l("Alt-Shift-L|Ctrl-Shift-F1","Command-Alt-Shift-L|Command-Shift-F1"),exec:function(i){i.session.toggleFold(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleFoldWidget",description:"Toggle fold widget",bindKey:l("F2","F2"),exec:function(i){i.session.toggleFoldWidget()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"toggleParentFoldWidget",description:"Toggle parent fold widget",bindKey:l("Alt-F2","Alt-F2"),exec:function(i){i.session.toggleFoldWidget(!0)},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"foldall",description:"Fold all",bindKey:l(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAll()},scrollIntoView:"center",readOnly:!0},{name:"foldAllComments",description:"Fold all comments",bindKey:l(null,"Ctrl-Command-Option-0"),exec:function(i){i.session.foldAllComments()},scrollIntoView:"center",readOnly:!0},{name:"foldOther",description:"Fold other",bindKey:l("Alt-0","Command-Option-0"),exec:function(i){i.session.foldAll(),i.session.unfold(i.selection.getAllRanges())},scrollIntoView:"center",readOnly:!0},{name:"unfoldall",description:"Unfold all",bindKey:l("Alt-Shift-0","Command-Option-Shift-0"),exec:function(i){i.session.unfold()},scrollIntoView:"center",readOnly:!0},{name:"findnext",description:"Find next",bindKey:l("Ctrl-K","Command-G"),exec:function(i){i.findNext()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"findprevious",description:"Find previous",bindKey:l("Ctrl-Shift-K","Command-Shift-G"),exec:function(i){i.findPrevious()},multiSelectAction:"forEach",scrollIntoView:"center",readOnly:!0},{name:"selectOrFindNext",description:"Select or find next",bindKey:l("Alt-K","Ctrl-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findNext()},readOnly:!0},{name:"selectOrFindPrevious",description:"Select or find previous",bindKey:l("Alt-Shift-K","Ctrl-Shift-G"),exec:function(i){i.selection.isEmpty()?i.selection.selectWord():i.findPrevious()},readOnly:!0},{name:"find",description:"Find",bindKey:l("Ctrl-F","Command-F"),exec:function(i){L.loadModule("ace/ext/searchbox",function(o){o.Search(i)})},readOnly:!0},{name:"overwrite",description:"Overwrite",bindKey:"Insert",exec:function(i){i.toggleOverwrite()},readOnly:!0},{name:"selecttostart",description:"Select to start",bindKey:l("Ctrl-Shift-Home","Command-Shift-Home|Command-Shift-Up"),exec:function(i){i.getSelection().selectFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotostart",description:"Go to start",bindKey:l("Ctrl-Home","Command-Home|Command-Up"),exec:function(i){i.navigateFileStart()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectup",description:"Select up",bindKey:l("Shift-Up","Shift-Up|Ctrl-Shift-P"),exec:function(i){i.getSelection().selectUp()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golineup",description:"Go line up",bindKey:l("Up","Up|Ctrl-P"),exec:function(i,o){i.navigateUp(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttoend",description:"Select to end",bindKey:l("Ctrl-Shift-End","Command-Shift-End|Command-Shift-Down"),exec:function(i){i.getSelection().selectFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"gotoend",description:"Go to end",bindKey:l("Ctrl-End","Command-End|Command-Down"),exec:function(i){i.navigateFileEnd()},multiSelectAction:"forEach",readOnly:!0,scrollIntoView:"animate",aceCommandGroup:"fileJump"},{name:"selectdown",description:"Select down",bindKey:l("Shift-Down","Shift-Down|Ctrl-Shift-N"),exec:function(i){i.getSelection().selectDown()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"golinedown",description:"Go line down",bindKey:l("Down","Down|Ctrl-N"),exec:function(i,o){i.navigateDown(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordleft",description:"Select word left",bindKey:l("Ctrl-Shift-Left","Option-Shift-Left"),exec:function(i){i.getSelection().selectWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordleft",description:"Go to word left",bindKey:l("Ctrl-Left","Option-Left"),exec:function(i){i.navigateWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolinestart",description:"Select to line start",bindKey:l("Alt-Shift-Left","Command-Shift-Left|Ctrl-Shift-A"),exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolinestart",description:"Go to line start",bindKey:l("Alt-Left|Home","Command-Left|Home|Ctrl-A"),exec:function(i){i.navigateLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectleft",description:"Select left",bindKey:l("Shift-Left","Shift-Left|Ctrl-Shift-B"),exec:function(i){i.getSelection().selectLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoleft",description:"Go to left",bindKey:l("Left","Left|Ctrl-B"),exec:function(i,o){i.navigateLeft(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectwordright",description:"Select word right",bindKey:l("Ctrl-Shift-Right","Option-Shift-Right"),exec:function(i){i.getSelection().selectWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotowordright",description:"Go to word right",bindKey:l("Ctrl-Right","Option-Right"),exec:function(i){i.navigateWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selecttolineend",description:"Select to line end",bindKey:l("Alt-Shift-Right","Command-Shift-Right|Shift-End|Ctrl-Shift-E"),exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotolineend",description:"Go to line end",bindKey:l("Alt-Right|End","Command-Right|End|Ctrl-E"),exec:function(i){i.navigateLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectright",description:"Select right",bindKey:l("Shift-Right","Shift-Right"),exec:function(i){i.getSelection().selectRight()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"gotoright",description:"Go to right",bindKey:l("Right","Right|Ctrl-F"),exec:function(i,o){i.navigateRight(o.times)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectpagedown",description:"Select page down",bindKey:"Shift-PageDown",exec:function(i){i.selectPageDown()},readOnly:!0},{name:"pagedown",description:"Page down",bindKey:l(null,"Option-PageDown"),exec:function(i){i.scrollPageDown()},readOnly:!0},{name:"gotopagedown",description:"Go to page down",bindKey:l("PageDown","PageDown|Ctrl-V"),exec:function(i){i.gotoPageDown()},readOnly:!0},{name:"selectpageup",description:"Select page up",bindKey:"Shift-PageUp",exec:function(i){i.selectPageUp()},readOnly:!0},{name:"pageup",description:"Page up",bindKey:l(null,"Option-PageUp"),exec:function(i){i.scrollPageUp()},readOnly:!0},{name:"gotopageup",description:"Go to page up",bindKey:"PageUp",exec:function(i){i.gotoPageUp()},readOnly:!0},{name:"scrollup",description:"Scroll up",bindKey:l("Ctrl-Up",null),exec:function(i){i.renderer.scrollBy(0,-2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"scrolldown",description:"Scroll down",bindKey:l("Ctrl-Down",null),exec:function(i){i.renderer.scrollBy(0,2*i.renderer.layerConfig.lineHeight)},readOnly:!0},{name:"selectlinestart",description:"Select line start",bindKey:"Shift-Home",exec:function(i){i.getSelection().selectLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"selectlineend",description:"Select line end",bindKey:"Shift-End",exec:function(i){i.getSelection().selectLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"togglerecording",description:"Toggle recording",bindKey:l("Ctrl-Alt-E","Command-Option-E"),exec:function(i){i.commands.toggleRecording(i)},readOnly:!0},{name:"replaymacro",description:"Replay macro",bindKey:l("Ctrl-Shift-E","Command-Shift-E"),exec:function(i){i.commands.replay(i)},readOnly:!0},{name:"jumptomatching",description:"Jump to matching",bindKey:l("Ctrl-\\|Ctrl-P","Command-\\"),exec:function(i){i.jumpToMatching()},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"selecttomatching",description:"Select to matching",bindKey:l("Ctrl-Shift-\\|Ctrl-Shift-P","Command-Shift-\\"),exec:function(i){i.jumpToMatching(!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"expandToMatching",description:"Expand to matching",bindKey:l("Ctrl-Shift-M","Ctrl-Shift-M"),exec:function(i){i.jumpToMatching(!0,!0)},multiSelectAction:"forEach",scrollIntoView:"animate",readOnly:!0},{name:"passKeysToBrowser",description:"Pass keys to browser",bindKey:l(null,null),exec:function(){},passEvent:!0,readOnly:!0},{name:"copy",description:"Copy",exec:function(i){},readOnly:!0},{name:"cut",description:"Cut",exec:function(i){var o=i.$copyWithEmptySelection&&i.selection.isEmpty(),r=o?i.selection.getLineRange():i.selection.getRange();i._emit("cut",r),r.isEmpty()||i.session.remove(r),i.clearSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"paste",description:"Paste",exec:function(i,o){i.$handlePaste(o)},scrollIntoView:"cursor"},{name:"removeline",description:"Remove line",bindKey:l("Ctrl-D","Command-D"),exec:function(i){i.removeLines()},scrollIntoView:"cursor",multiSelectAction:"forEachLine"},{name:"duplicateSelection",description:"Duplicate selection",bindKey:l("Ctrl-Shift-D","Command-Shift-D"),exec:function(i){i.duplicateSelection()},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"sortlines",description:"Sort lines",bindKey:l("Ctrl-Alt-S","Command-Alt-S"),exec:function(i){i.sortLines()},scrollIntoView:"selection",multiSelectAction:"forEachLine"},{name:"togglecomment",description:"Toggle comment",bindKey:l("Ctrl-/","Command-/"),exec:function(i){i.toggleCommentLines()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"toggleBlockComment",description:"Toggle block comment",bindKey:l("Ctrl-Shift-/","Command-Shift-/"),exec:function(i){i.toggleBlockComment()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"modifyNumberUp",description:"Modify number up",bindKey:l("Ctrl-Shift-Up","Alt-Shift-Up"),exec:function(i){i.modifyNumber(1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"modifyNumberDown",description:"Modify number down",bindKey:l("Ctrl-Shift-Down","Alt-Shift-Down"),exec:function(i){i.modifyNumber(-1)},scrollIntoView:"cursor",multiSelectAction:"forEach"},{name:"replace",description:"Replace",bindKey:l("Ctrl-H","Command-Option-F"),exec:function(i){L.loadModule("ace/ext/searchbox",function(o){o.Search(i,!0)})}},{name:"undo",description:"Undo",bindKey:l("Ctrl-Z","Command-Z"),exec:function(i){i.undo()}},{name:"redo",description:"Redo",bindKey:l("Ctrl-Shift-Z|Ctrl-Y","Command-Shift-Z|Command-Y"),exec:function(i){i.redo()}},{name:"copylinesup",description:"Copy lines up",bindKey:l("Alt-Shift-Up","Command-Option-Up"),exec:function(i){i.copyLinesUp()},scrollIntoView:"cursor"},{name:"movelinesup",description:"Move lines up",bindKey:l("Alt-Up","Option-Up"),exec:function(i){i.moveLinesUp()},scrollIntoView:"cursor"},{name:"copylinesdown",description:"Copy lines down",bindKey:l("Alt-Shift-Down","Command-Option-Down"),exec:function(i){i.copyLinesDown()},scrollIntoView:"cursor"},{name:"movelinesdown",description:"Move lines down",bindKey:l("Alt-Down","Option-Down"),exec:function(i){i.moveLinesDown()},scrollIntoView:"cursor"},{name:"del",description:"Delete",bindKey:l("Delete","Delete|Ctrl-D|Shift-Delete"),exec:function(i){i.remove("right")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"backspace",description:"Backspace",bindKey:l("Shift-Backspace|Backspace","Ctrl-Backspace|Shift-Backspace|Backspace|Ctrl-H"),exec:function(i){i.remove("left")},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"cut_or_delete",description:"Cut or delete",bindKey:l("Shift-Delete",null),exec:function(i){if(i.selection.isEmpty())i.remove("left");else return!1},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestart",description:"Remove to line start",bindKey:l("Alt-Backspace","Command-Backspace"),exec:function(i){i.removeToLineStart()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineend",description:"Remove to line end",bindKey:l("Alt-Delete","Ctrl-K|Command-Delete"),exec:function(i){i.removeToLineEnd()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolinestarthard",description:"Remove to line start hard",bindKey:l("Ctrl-Shift-Backspace",null),exec:function(i){var o=i.selection.getRange();o.start.column=0,i.session.remove(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removetolineendhard",description:"Remove to line end hard",bindKey:l("Ctrl-Shift-Delete",null),exec:function(i){var o=i.selection.getRange();o.end.column=Number.MAX_VALUE,i.session.remove(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordleft",description:"Remove word left",bindKey:l("Ctrl-Backspace","Alt-Backspace|Ctrl-Alt-Backspace"),exec:function(i){i.removeWordLeft()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"removewordright",description:"Remove word right",bindKey:l("Ctrl-Delete","Alt-Delete"),exec:function(i){i.removeWordRight()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"outdent",description:"Outdent",bindKey:l("Shift-Tab","Shift-Tab"),exec:function(i){i.blockOutdent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"indent",description:"Indent",bindKey:l("Tab","Tab"),exec:function(i){i.indent()},multiSelectAction:"forEach",scrollIntoView:"selectionPart"},{name:"blockoutdent",description:"Block outdent",bindKey:l("Ctrl-[","Ctrl-["),exec:function(i){i.blockOutdent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"blockindent",description:"Block indent",bindKey:l("Ctrl-]","Ctrl-]"),exec:function(i){i.blockIndent()},multiSelectAction:"forEachLine",scrollIntoView:"selectionPart"},{name:"insertstring",description:"Insert string",exec:function(i,o){i.insert(o)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"inserttext",description:"Insert text",exec:function(i,o){i.insert(E.stringRepeat(o.text||"",o.times||1))},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"splitline",description:"Split line",bindKey:l(null,"Ctrl-O"),exec:function(i){i.splitLine()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"transposeletters",description:"Transpose letters",bindKey:l("Alt-Shift-X","Ctrl-T"),exec:function(i){i.transposeLetters()},multiSelectAction:function(i){i.transposeSelections(1)},scrollIntoView:"cursor"},{name:"touppercase",description:"To uppercase",bindKey:l("Ctrl-U","Ctrl-U"),exec:function(i){i.toUpperCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"tolowercase",description:"To lowercase",bindKey:l("Ctrl-Shift-U","Ctrl-Shift-U"),exec:function(i){i.toLowerCase()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"autoindent",description:"Auto Indent",bindKey:l(null,null),exec:function(i){i.autoIndent()},scrollIntoView:"animate"},{name:"expandtoline",description:"Expand to line",bindKey:l("Ctrl-Shift-L","Command-Shift-L"),exec:function(i){var o=i.selection.getRange();o.start.column=o.end.column=0,o.end.row++,i.selection.setRange(o,!1)},multiSelectAction:"forEach",scrollIntoView:"cursor",readOnly:!0},{name:"openlink",bindKey:l("Ctrl+F3","F3"),exec:function(i){i.openLink()}},{name:"joinlines",description:"Join lines",bindKey:l(null,null),exec:function(i){for(var o=i.selection.isBackwards(),r=o?i.selection.getSelectionLead():i.selection.getSelectionAnchor(),t=o?i.selection.getSelectionAnchor():i.selection.getSelectionLead(),e=i.session.doc.getLine(r.row).length,n=i.session.doc.getTextRange(i.selection.getRange()),s=n.replace(/\n\s*/," ").length,h=i.session.doc.getLine(r.row),f=r.row+1;f<=t.row+1;f++){var C=E.stringTrimLeft(E.stringTrimRight(i.session.doc.getLine(f)));C.length!==0&&(C=" "+C),h+=C}t.row+1<i.session.doc.getLength()-1&&(h+=i.session.doc.getNewLineCharacter()),i.clearSelection(),i.session.doc.replace(new A(r.row,0,t.row+2,0),h),s>0?(i.selection.moveCursorTo(r.row,r.column),i.selection.selectTo(r.row,r.column+s)):(e=i.session.doc.getLine(r.row).length>e?e+1:e,i.selection.moveCursorTo(r.row,e))},multiSelectAction:"forEach",readOnly:!0},{name:"invertSelection",description:"Invert selection",bindKey:l(null,null),exec:function(i){var o=i.session.doc.getLength()-1,r=i.session.doc.getLine(o).length,t=i.selection.rangeList.ranges,e=[];t.length<1&&(t=[i.selection.getRange()]);for(var n=0;n<t.length;n++)n==t.length-1&&(t[n].end.row===o&&t[n].end.column===r||e.push(new A(t[n].end.row,t[n].end.column,o,r))),n===0?t[n].start.row===0&&t[n].start.column===0||e.push(new A(0,0,t[n].start.row,t[n].start.column)):e.push(new A(t[n-1].end.row,t[n-1].end.column,t[n].start.row,t[n].start.column));i.exitMultiSelectMode(),i.clearSelection();for(var n=0;n<e.length;n++)i.selection.addRange(e[n],!1)},readOnly:!0,scrollIntoView:"none"},{name:"addLineAfter",description:"Add new line after the current line",exec:function(i){i.selection.clearSelection(),i.navigateLineEnd(),i.insert(`
|
|
209
|
-
`)},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"addLineBefore",description:"Add new line before the current line",exec:function(i){i.selection.clearSelection();var o=i.getCursorPosition();i.selection.moveTo(o.row-1,Number.MAX_VALUE),i.insert(`
|
|
210
|
-
`),o.row===0&&i.navigateUp()},multiSelectAction:"forEach",scrollIntoView:"cursor"},{name:"openCommandPallete",exec:function(i){console.warn("This is an obsolete command. Please use `openCommandPalette` instead."),i.prompt({$type:"commands"})},readOnly:!0},{name:"openCommandPalette",description:"Open command palette",bindKey:l("F1","F1"),exec:function(i){i.prompt({$type:"commands"})},readOnly:!0},{name:"modeSelect",description:"Change language mode...",bindKey:l(null,null),exec:function(i){i.prompt({$type:"modes"})},readOnly:!0}];for(var u=1;u<9;u++)k.commands.push({name:"foldToLevel"+u,description:"Fold To Level "+u,level:u,exec:function(i){i.session.foldToLevel(this.level)},scrollIntoView:"center",readOnly:!0})}),ace.define("ace/keyboard/gutter_handler",["require","exports","module","ace/lib/keys","ace/mouse/default_gutter_handler"],function(R,k,z){var E=R("../lib/keys"),L=R("../mouse/default_gutter_handler").GutterTooltip,A=function(){function u(i){this.editor=i,this.gutterLayer=i.renderer.$gutterLayer,this.element=i.renderer.$gutter,this.lines=i.renderer.$gutterLayer.$lines,this.activeRowIndex=null,this.activeLane=null,this.annotationTooltip=new L(this.editor)}return u.prototype.addListener=function(){this.element.addEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.addEventListener("focusout",this.$blurGutter.bind(this)),this.editor.on("mousewheel",this.$blurGutter.bind(this))},u.prototype.removeListener=function(){this.element.removeEventListener("keydown",this.$onGutterKeyDown.bind(this)),this.element.removeEventListener("focusout",this.$blurGutter.bind(this)),this.editor.off("mousewheel",this.$blurGutter.bind(this))},u.prototype.$onGutterKeyDown=function(i){if(this.annotationTooltip.isOpen){i.preventDefault(),i.keyCode===E.escape&&this.annotationTooltip.hideTooltip();return}if(i.target===this.element){if(i.keyCode!=E.enter)return;i.preventDefault();var o=this.editor.getCursorPosition().row;this.editor.isRowVisible(o)||this.editor.scrollToLine(o,!0,!0),setTimeout((function(){var r=this.$rowToRowIndex(this.gutterLayer.$cursorCell.row),t=this.$findNearestFoldLaneWidget(r),e=this.$findNearestAnnotation(r);if(!(t===null&&e===null)){var n=this.$findClosestNumber(t,e,r);if(n===t)if(this.activeLane="fold",this.activeRowIndex=t,this.$isCustomWidgetVisible(t)){this.$focusCustomWidget(this.activeRowIndex);return}else{this.$focusFoldWidget(this.activeRowIndex);return}else{this.activeRowIndex=e,this.activeLane="annotation",this.$focusAnnotation(this.activeRowIndex);return}}}).bind(this),10);return}this.$handleGutterKeyboardInteraction(i),setTimeout((function(){this.editor._signal("gutterkeydown",new l(i,this))}).bind(this),10)},u.prototype.$handleGutterKeyboardInteraction=function(i){if(i.keyCode===E.tab){i.preventDefault();return}if(i.keyCode===E.escape){i.preventDefault(),this.$blurGutter(),this.element.focus(),this.lane=null;return}if(i.keyCode===E.up){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetUp();break;case"annotation":this.$moveAnnotationUp();break}return}if(i.keyCode===E.down){switch(i.preventDefault(),this.activeLane){case"fold":this.$moveFoldWidgetDown();break;case"annotation":this.$moveAnnotationDown();break}return}if(i.keyCode===E.left){i.preventDefault(),this.$switchLane("annotation");return}if(i.keyCode===E.right){i.preventDefault(),this.$switchLane("fold");return}if(i.keyCode===E.enter||i.keyCode===E.space){switch(i.preventDefault(),this.activeLane){case"fold":var o=this.$rowIndexToRow(this.activeRowIndex),r=this.editor.session.$gutterCustomWidgets[o];if(r)r.callbacks&&r.callbacks.onClick&&r.callbacks.onClick(i,o);else if(this.gutterLayer.session.foldWidgets[o]==="start"){this.editor.session.onFoldWidgetClick(this.$rowIndexToRow(this.activeRowIndex),i),setTimeout((function(){this.$rowIndexToRow(this.activeRowIndex)!==o&&(this.$blurFoldWidget(this.activeRowIndex),this.activeRowIndex=this.$rowToRowIndex(o),this.$focusFoldWidget(this.activeRowIndex))}).bind(this),10);break}else if(this.gutterLayer.session.foldWidgets[this.$rowIndexToRow(this.activeRowIndex)]==="end")break;return;case"annotation":var t=this.lines.cells[this.activeRowIndex].element.childNodes[2],e=t.getBoundingClientRect(),n=this.annotationTooltip.getElement().style;n.left=e.right+"px",n.top=e.bottom+"px",this.annotationTooltip.showTooltip(this.$rowIndexToRow(this.activeRowIndex));break}return}},u.prototype.$blurGutter=function(){if(this.activeRowIndex!==null)switch(this.activeLane){case"fold":this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex);break;case"annotation":this.$blurAnnotation(this.activeRowIndex);break}this.annotationTooltip.isOpen&&this.annotationTooltip.hideTooltip()},u.prototype.$isFoldWidgetVisible=function(i){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=this.$getFoldWidget(i).style.display!=="none";return o&&r},u.prototype.$isCustomWidgetVisible=function(i){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=!!this.$getCustomWidget(i);return o&&r},u.prototype.$isAnnotationVisible=function(i){var o=this.editor.isRowFullyVisible(this.$rowIndexToRow(i)),r=this.$getAnnotation(i).style.display!=="none";return o&&r},u.prototype.$getFoldWidget=function(i){var o=this.lines.get(i),r=o.element;return r.childNodes[1]},u.prototype.$getCustomWidget=function(i){var o=this.lines.get(i),r=o.element;return r.childNodes[3]},u.prototype.$getAnnotation=function(i){var o=this.lines.get(i),r=o.element;return r.childNodes[2]},u.prototype.$findNearestFoldLaneWidget=function(i){if(this.$isCustomWidgetVisible(i)||this.$isFoldWidgetVisible(i))return i;for(var o=0;i-o>0||i+o<this.lines.getLength()-1;){if(o++,i-o>=0&&this.$isCustomWidgetVisible(i-o))return i-o;if(i+o<=this.lines.getLength()-1&&this.$isCustomWidgetVisible(i+o))return i+o;if(i-o>=0&&this.$isFoldWidgetVisible(i-o))return i-o;if(i+o<=this.lines.getLength()-1&&this.$isFoldWidgetVisible(i+o))return i+o}return null},u.prototype.$findNearestAnnotation=function(i){if(this.$isAnnotationVisible(i))return i;for(var o=0;i-o>0||i+o<this.lines.getLength()-1;){if(o++,i-o>=0&&this.$isAnnotationVisible(i-o))return i-o;if(i+o<=this.lines.getLength()-1&&this.$isAnnotationVisible(i+o))return i+o}return null},u.prototype.$focusFoldWidget=function(i){if(i!=null){var o=this.$getFoldWidget(i);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},u.prototype.$focusCustomWidget=function(i){if(i!=null){var o=this.$getCustomWidget(i);o&&(o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus())}},u.prototype.$focusAnnotation=function(i){if(i!=null){var o=this.$getAnnotation(i);o.classList.add(this.editor.renderer.keyboardFocusClassName),o.focus()}},u.prototype.$blurFoldWidget=function(i){var o=this.$getFoldWidget(i);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},u.prototype.$blurCustomWidget=function(i){var o=this.$getCustomWidget(i);o&&(o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur())},u.prototype.$blurAnnotation=function(i){var o=this.$getAnnotation(i);o.classList.remove(this.editor.renderer.keyboardFocusClassName),o.blur()},u.prototype.$moveFoldWidgetUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isFoldWidgetVisible(i)||this.$isCustomWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=i,this.$isFoldWidgetVisible(i)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},u.prototype.$moveFoldWidgetDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isFoldWidgetVisible(i)||this.$isCustomWidgetVisible(i)){this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=i,this.$isFoldWidgetVisible(i)?this.$focusFoldWidget(this.activeRowIndex):this.$focusCustomWidget(this.activeRowIndex);return}},u.prototype.$moveAnnotationUp=function(){for(var i=this.activeRowIndex;i>0;)if(i--,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$moveAnnotationDown=function(){for(var i=this.activeRowIndex;i<this.lines.getLength()-1;)if(i++,this.$isAnnotationVisible(i)){this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=i,this.$focusAnnotation(this.activeRowIndex);return}},u.prototype.$findClosestNumber=function(i,o,r){return i===null?o:o===null||Math.abs(r-i)<=Math.abs(r-o)?i:o},u.prototype.$switchLane=function(i){switch(i){case"annotation":if(this.activeLane==="annotation")break;var o=this.$findNearestAnnotation(this.activeRowIndex);if(o==null)break;this.activeLane="annotation",this.$blurFoldWidget(this.activeRowIndex),this.$blurCustomWidget(this.activeRowIndex),this.activeRowIndex=o,this.$focusAnnotation(this.activeRowIndex);break;case"fold":if(this.activeLane==="fold")break;var r=this.$findNearestFoldLaneWidget(this.activeRowIndex);if(r===null)break;this.activeLane="fold",this.$blurAnnotation(this.activeRowIndex),this.activeRowIndex=r,this.$isCustomWidgetVisible(r)?this.$focusCustomWidget(this.activeRowIndex):this.$focusFoldWidget(this.activeRowIndex);break}},u.prototype.$rowIndexToRow=function(i){var o=this.lines.get(i);return o?o.row:null},u.prototype.$rowToRowIndex=function(i){for(var o=0;o<this.lines.getLength();o++){var r=this.lines.get(o);if(r.row==i)return o}return null},u}();k.GutterKeyboardHandler=A;var l=function(){function u(i,o){this.gutterKeyboardHandler=o,this.domEvent=i}return u.prototype.getKey=function(){return E.keyCodeToString(this.domEvent.keyCode)},u.prototype.getRow=function(){return this.gutterKeyboardHandler.$rowIndexToRow(this.gutterKeyboardHandler.activeRowIndex)},u.prototype.isInAnnotationLane=function(){return this.gutterKeyboardHandler.activeLane==="annotation"},u.prototype.isInFoldLane=function(){return this.gutterKeyboardHandler.activeLane==="fold"},u}();k.GutterKeyboardEvent=l}),ace.define("ace/editor",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/useragent","ace/keyboard/textinput","ace/mouse/mouse_handler","ace/mouse/fold_handler","ace/keyboard/keybinding","ace/edit_session","ace/search","ace/range","ace/lib/event_emitter","ace/commands/command_manager","ace/commands/default_commands","ace/config","ace/token_iterator","ace/keyboard/gutter_handler","ace/config","ace/clipboard","ace/lib/keys","ace/lib/event","ace/tooltip"],function(R,k,z){var E=this&&this.__values||function(d){var c=typeof Symbol=="function"&&Symbol.iterator,y=c&&d[c],M=0;if(y)return y.call(d);if(d&&typeof d.length=="number")return{next:function(){return d&&M>=d.length&&(d=void 0),{value:d&&d[M++],done:!d}}};throw new TypeError(c?"Object is not iterable.":"Symbol.iterator is not defined.")},L=R("./lib/oop"),A=R("./lib/dom"),l=R("./lib/lang"),u=R("./lib/useragent"),i=R("./keyboard/textinput").TextInput,o=R("./mouse/mouse_handler").MouseHandler,r=R("./mouse/fold_handler").FoldHandler,t=R("./keyboard/keybinding").KeyBinding,e=R("./edit_session").EditSession,n=R("./search").Search,s=R("./range").Range,h=R("./lib/event_emitter").EventEmitter,f=R("./commands/command_manager").CommandManager,C=R("./commands/default_commands").commands,v=R("./config"),p=R("./token_iterator").TokenIterator,a=R("./keyboard/gutter_handler").GutterKeyboardHandler,m=R("./config").nls,S=R("./clipboard"),$=R("./lib/keys"),w=R("./lib/event"),T=R("./tooltip").HoverTooltip,b=function(){function d(c,y,M){this.id="editor"+ ++d.$uid,this.session,this.$toDestroy=[];var x=c.getContainerElement();this.container=x,this.renderer=c,this.commands=new f(u.isMac?"mac":"win",C),typeof document=="object"&&(this.textInput=new i(c.getTextAreaContainer(),this),this.renderer.textarea=this.textInput.getElement(),this.$mouseHandler=new o(this),new r(this)),this.keyBinding=new t(this),this.$search=new n().set({wrap:!0}),this.$historyTracker=this.$historyTracker.bind(this),this.commands.on("exec",this.$historyTracker),this.$initOperationListeners(),this._$emitInputEvent=l.delayedCall((function(){this._signal("input",{}),this.session&&!this.session.destroyed&&this.session.bgTokenizer.scheduleStart()}).bind(this)),this.on("change",function(I,_){_._$emitInputEvent.schedule(31)}),this.setSession(y||M&&M.session||new e("")),v.resetOptions(this),M&&this.setOptions(M),v._signal("editor",this)}return d.prototype.$initOperationListeners=function(){this.commands.on("exec",this.startOperation.bind(this),!0),this.commands.on("afterExec",this.endOperation.bind(this),!0)},d.prototype.startOperation=function(c){this.session.startOperation(c)},d.prototype.endOperation=function(c){this.session.endOperation(c)},d.prototype.onStartOperation=function(c){this.curOp=this.session.curOp,this.curOp.scrollTop=this.renderer.scrollTop,this.prevOp=this.session.prevOp,c||(this.previousCommand=null)},d.prototype.onEndOperation=function(c){if(this.curOp&&this.session){if(c&&c.returnValue===!1){this.curOp=null;return}if(this._signal("beforeEndOperation"),!this.curOp)return;var y=this.curOp.command,M=y&&y.scrollIntoView;if(M){switch(M){case"center-animate":M="animate";case"center":this.renderer.scrollCursorIntoView(null,.5);break;case"animate":case"cursor":this.renderer.scrollCursorIntoView();break;case"selectionPart":var x=this.selection.getRange(),I=this.renderer.layerConfig;(x.start.row>=I.lastRow||x.end.row<=I.firstRow)&&this.renderer.scrollSelectionIntoView(this.selection.anchor,this.selection.lead);break}M=="animate"&&this.renderer.animateScrolling(this.curOp.scrollTop)}this.$lastSel=this.session.selection.toJSON(),this.prevOp=this.curOp,this.curOp=null}},d.prototype.$historyTracker=function(c){if(this.$mergeUndoDeltas){var y=this.prevOp,M=this.$mergeableCommands,x=y.command&&c.command.name==y.command.name;if(c.command.name=="insertstring"){var I=c.args;this.mergeNextCommand===void 0&&(this.mergeNextCommand=!0),x=x&&this.mergeNextCommand&&(!/\s/.test(I)||/\s/.test(y.args)),this.mergeNextCommand=!0}else x=x&&M.indexOf(c.command.name)!==-1;this.$mergeUndoDeltas!="always"&&Date.now()-this.sequenceStartTime>2e3&&(x=!1),x?this.session.mergeUndoDeltas=!0:M.indexOf(c.command.name)!==-1&&(this.sequenceStartTime=Date.now())}},d.prototype.setKeyboardHandler=function(c,y){if(c&&typeof c=="string"&&c!="ace"){this.$keybindingId=c;var M=this;v.loadModule(["keybinding",c],function(x){M.$keybindingId==c&&M.keyBinding.setKeyboardHandler(x&&x.handler),y&&y()})}else this.$keybindingId=null,this.keyBinding.setKeyboardHandler(c),y&&y()},d.prototype.getKeyboardHandler=function(){return this.keyBinding.getKeyboardHandler()},d.prototype.setSession=function(c){if(this.session!=c){this.curOp&&this.endOperation(),this.curOp={};var y=this.session;if(y){this.session.off("change",this.$onDocumentChange),this.session.off("changeMode",this.$onChangeMode),this.session.off("tokenizerUpdate",this.$onTokenizerUpdate),this.session.off("changeTabSize",this.$onChangeTabSize),this.session.off("changeWrapLimit",this.$onChangeWrapLimit),this.session.off("changeWrapMode",this.$onChangeWrapMode),this.session.off("changeFold",this.$onChangeFold),this.session.off("changeFrontMarker",this.$onChangeFrontMarker),this.session.off("changeBackMarker",this.$onChangeBackMarker),this.session.off("changeBreakpoint",this.$onChangeBreakpoint),this.session.off("changeAnnotation",this.$onChangeAnnotation),this.session.off("changeOverwrite",this.$onCursorChange),this.session.off("changeScrollTop",this.$onScrollTopChange),this.session.off("changeScrollLeft",this.$onScrollLeftChange),this.session.off("startOperation",this.$onStartOperation),this.session.off("endOperation",this.$onEndOperation);var M=this.session.getSelection();M.off("changeCursor",this.$onCursorChange),M.off("changeSelection",this.$onSelectionChange)}this.session=c,c?(this.$onDocumentChange=this.onDocumentChange.bind(this),c.on("change",this.$onDocumentChange),this.renderer.setSession(c),this.$onChangeMode=this.onChangeMode.bind(this),c.on("changeMode",this.$onChangeMode),this.$onTokenizerUpdate=this.onTokenizerUpdate.bind(this),c.on("tokenizerUpdate",this.$onTokenizerUpdate),this.$onChangeTabSize=this.renderer.onChangeTabSize.bind(this.renderer),c.on("changeTabSize",this.$onChangeTabSize),this.$onChangeWrapLimit=this.onChangeWrapLimit.bind(this),c.on("changeWrapLimit",this.$onChangeWrapLimit),this.$onChangeWrapMode=this.onChangeWrapMode.bind(this),c.on("changeWrapMode",this.$onChangeWrapMode),this.$onChangeFold=this.onChangeFold.bind(this),c.on("changeFold",this.$onChangeFold),this.$onChangeFrontMarker=this.onChangeFrontMarker.bind(this),this.session.on("changeFrontMarker",this.$onChangeFrontMarker),this.$onChangeBackMarker=this.onChangeBackMarker.bind(this),this.session.on("changeBackMarker",this.$onChangeBackMarker),this.$onChangeBreakpoint=this.onChangeBreakpoint.bind(this),this.session.on("changeBreakpoint",this.$onChangeBreakpoint),this.$onChangeAnnotation=this.onChangeAnnotation.bind(this),this.session.on("changeAnnotation",this.$onChangeAnnotation),this.$onCursorChange=this.onCursorChange.bind(this),this.session.on("changeOverwrite",this.$onCursorChange),this.$onScrollTopChange=this.onScrollTopChange.bind(this),this.session.on("changeScrollTop",this.$onScrollTopChange),this.$onScrollLeftChange=this.onScrollLeftChange.bind(this),this.session.on("changeScrollLeft",this.$onScrollLeftChange),this.selection=c.getSelection(),this.selection.on("changeCursor",this.$onCursorChange),this.$onSelectionChange=this.onSelectionChange.bind(this),this.selection.on("changeSelection",this.$onSelectionChange),this.$onStartOperation=this.onStartOperation.bind(this),this.session.on("startOperation",this.$onStartOperation),this.$onEndOperation=this.onEndOperation.bind(this),this.session.on("endOperation",this.$onEndOperation),this.onChangeMode(),this.onCursorChange(),this.onScrollTopChange(),this.onScrollLeftChange(),this.onSelectionChange(),this.onChangeFrontMarker(),this.onChangeBackMarker(),this.onChangeBreakpoint(),this.onChangeAnnotation(),this.session.getUseWrapMode()&&this.renderer.adjustWrapLimit(),this.renderer.updateFull()):(this.selection=null,this.renderer.setSession(c)),this._signal("changeSession",{session:c,oldSession:y}),this.curOp=null,y&&y._signal("changeEditor",{oldEditor:this}),y&&(y.$editor=null),c&&c._signal("changeEditor",{editor:this}),c&&(c.$editor=this),c&&!c.destroyed&&c.bgTokenizer.scheduleStart()}},d.prototype.getSession=function(){return this.session},d.prototype.setValue=function(c,y){return this.session.doc.setValue(c),y?y==1?this.navigateFileEnd():y==-1&&this.navigateFileStart():this.selectAll(),c},d.prototype.getValue=function(){return this.session.getValue()},d.prototype.getSelection=function(){return this.selection},d.prototype.resize=function(c){this.renderer.onResize(c)},d.prototype.setTheme=function(c,y){this.renderer.setTheme(c,y)},d.prototype.getTheme=function(){return this.renderer.getTheme()},d.prototype.setStyle=function(c,y){this.renderer.setStyle(c,y)},d.prototype.unsetStyle=function(c){this.renderer.unsetStyle(c)},d.prototype.getFontSize=function(){return this.getOption("fontSize")||A.computedStyle(this.container).fontSize},d.prototype.setFontSize=function(c){this.setOption("fontSize",c)},d.prototype.$highlightBrackets=function(){if(!this.$highlightPending){var c=this;this.$highlightPending=!0,setTimeout(function(){c.$highlightPending=!1;var y=c.session;if(!(!y||y.destroyed)){y.$bracketHighlight&&(y.$bracketHighlight.markerIds.forEach(function(F){y.removeMarker(F)}),y.$bracketHighlight=null);var M=c.getCursorPosition(),x=c.getKeyboardHandler(),I=x&&x.$getDirectionForHighlight&&x.$getDirectionForHighlight(c),_=y.getMatchingBracketRanges(M,I);if(!_){var D=new p(y,M.row,M.column),H=D.getCurrentToken();if(H&&/\b(?:tag-open|tag-name)/.test(H.type)){var N=y.getMatchingTags(M);N&&(_=[N.openTagName.isEmpty()?N.openTag:N.openTagName,N.closeTagName.isEmpty()?N.closeTag:N.closeTagName])}}if(!_&&y.$mode.getMatching&&(_=y.$mode.getMatching(c.session)),!_){c.getHighlightIndentGuides()&&c.renderer.$textLayer.$highlightIndentGuide();return}var O="ace_bracket";Array.isArray(_)?_.length==1&&(O="ace_error_bracket"):_=[_],_.length==2&&(s.comparePoints(_[0].end,_[1].start)==0?_=[s.fromPoints(_[0].start,_[1].end)]:s.comparePoints(_[0].start,_[1].end)==0&&(_=[s.fromPoints(_[1].start,_[0].end)])),y.$bracketHighlight={ranges:_,markerIds:_.map(function(F){return y.addMarker(F,O,"text")})},c.getHighlightIndentGuides()&&c.renderer.$textLayer.$highlightIndentGuide()}},50)}},d.prototype.focus=function(){this.textInput.focus()},d.prototype.isFocused=function(){return this.textInput.isFocused()},d.prototype.blur=function(){this.textInput.blur()},d.prototype.onFocus=function(c){this.$isFocused||(this.$isFocused=!0,this.renderer.showCursor(),this.renderer.visualizeFocus(),this._emit("focus",c))},d.prototype.onBlur=function(c){this.$isFocused&&(this.$isFocused=!1,this.renderer.hideCursor(),this.renderer.visualizeBlur(),this._emit("blur",c))},d.prototype.$cursorChange=function(){this.renderer.updateCursor(),this.$highlightBrackets(),this.$updateHighlightActiveLine()},d.prototype.onDocumentChange=function(c){var y=this.session.$useWrapMode,M=c.start.row==c.end.row?c.end.row:1/0;this.renderer.updateLines(c.start.row,M,y),this._signal("change",c),this.$cursorChange()},d.prototype.onTokenizerUpdate=function(c){var y=c.data;this.renderer.updateLines(y.first,y.last)},d.prototype.onScrollTopChange=function(){this.renderer.scrollToY(this.session.getScrollTop())},d.prototype.onScrollLeftChange=function(){this.renderer.scrollToX(this.session.getScrollLeft())},d.prototype.onCursorChange=function(){this.$cursorChange(),this._signal("changeSelection")},d.prototype.$updateHighlightActiveLine=function(){var c=this.getSession(),y;if(this.$highlightActiveLine&&((this.$selectionStyle!="line"||!this.selection.isMultiLine())&&(y=this.getCursorPosition()),this.renderer.theme&&this.renderer.theme.$selectionColorConflict&&!this.selection.isEmpty()&&(y=!1),this.renderer.$maxLines&&this.session.getLength()===1&&!(this.renderer.$minLines>1)&&(y=!1)),c.$highlightLineMarker&&!y)c.removeMarker(c.$highlightLineMarker.id),c.$highlightLineMarker=null;else if(!c.$highlightLineMarker&&y){var M=new s(y.row,y.column,y.row,1/0);M.id=c.addMarker(M,"ace_active-line","screenLine"),c.$highlightLineMarker=M}else y&&(c.$highlightLineMarker.start.row=y.row,c.$highlightLineMarker.end.row=y.row,c.$highlightLineMarker.start.column=y.column,c._signal("changeBackMarker"))},d.prototype.onSelectionChange=function(c){var y=this.session;if(y.$selectionMarker&&y.removeMarker(y.$selectionMarker),y.$selectionMarker=null,this.selection.isEmpty())this.$updateHighlightActiveLine();else{var M=this.selection.getRange(),x=this.getSelectionStyle();y.$selectionMarker=y.addMarker(M,"ace_selection",x)}var I=this.$highlightSelectedWord&&this.$getSelectionHighLightRegexp();this.session.highlight(I),this._signal("changeSelection")},d.prototype.$getSelectionHighLightRegexp=function(){var c=this.session,y=this.getSelectionRange();if(!(y.isEmpty()||y.isMultiLine())){var M=y.start.column,x=y.end.column,I=c.getLine(y.start.row),_=I.substring(M,x);if(!(_.length>5e3||!/[\w\d]/.test(_))){var D=this.$search.$assembleRegExp({wholeWord:!0,caseSensitive:!0,needle:_}),H=I.substring(M-1,x+1);if(D.test(H))return D}}},d.prototype.onChangeFrontMarker=function(){this.renderer.updateFrontMarkers()},d.prototype.onChangeBackMarker=function(){this.renderer.updateBackMarkers()},d.prototype.onChangeBreakpoint=function(){this.renderer.updateBreakpoints()},d.prototype.onChangeAnnotation=function(){this.renderer.setAnnotations(this.session.getAnnotations())},d.prototype.onChangeMode=function(c){this.renderer.updateText(),this._emit("changeMode",c)},d.prototype.onChangeWrapLimit=function(){this.renderer.updateFull()},d.prototype.onChangeWrapMode=function(){this.renderer.onResize(!0)},d.prototype.onChangeFold=function(){this.$updateHighlightActiveLine(),this.renderer.updateFull()},d.prototype.getSelectedText=function(){return this.session.getTextRange(this.getSelectionRange())},d.prototype.getCopyText=function(){var c=this.getSelectedText(),y=this.session.doc.getNewLineCharacter(),M=!1;if(!c&&this.$copyWithEmptySelection){M=!0;for(var x=this.selection.getAllRanges(),I=0;I<x.length;I++){var _=x[I];I&&x[I-1].start.row==_.start.row||(c+=this.session.getLine(_.start.row)+y)}}var D={text:c};return this._signal("copy",D),S.lineMode=M?D.text:!1,D.text},d.prototype.onCopy=function(){this.commands.exec("copy",this)},d.prototype.onCut=function(){this.commands.exec("cut",this)},d.prototype.onPaste=function(c,y){var M={text:c,event:y};this.commands.exec("paste",this,M)},d.prototype.$handlePaste=function(c){typeof c=="string"&&(c={text:c}),this._signal("paste",c);var y=c.text,M=y===S.lineMode,x=this.session;if(!this.inMultiSelectMode||this.inVirtualSelectionMode)M?x.insert({row:this.selection.lead.row,column:0},y):this.insert(y);else if(M)this.selection.rangeList.ranges.forEach(function(O){x.insert({row:O.start.row,column:0},y)});else{var I=y.split(/\r\n|\r|\n/),_=this.selection.rangeList.ranges,D=I.length==2&&(!I[0]||!I[1]);if(I.length!=_.length||D)return this.commands.exec("insertstring",this,y);for(var H=_.length;H--;){var N=_[H];N.isEmpty()||x.remove(N),x.insert(N.start,I[H])}}},d.prototype.execCommand=function(c,y){return this.commands.exec(c,this,y)},d.prototype.insert=function(c,y){var M=this.session,x=M.getMode(),I=this.getCursorPosition();if(this.getBehavioursEnabled()&&!y){var _=x.transformAction(M.getState(I.row),"insertion",this,M,c);_&&(c!==_.text&&(this.inVirtualSelectionMode||(this.session.mergeUndoDeltas=!1,this.mergeNextCommand=!1)),c=_.text)}if(c==" "&&(c=this.session.getTabString()),this.selection.isEmpty()){if(this.session.getOverwrite()&&c.indexOf(`
|
|
211
|
-
`)==-1){var D=s.fromPoints(I,I);D.end.column+=c.length,this.session.remove(D)}}else{var D=this.getSelectionRange();I=this.session.remove(D),this.clearSelection()}if(c==`
|
|
212
|
-
`||c==`\r
|
|
213
|
-
`){var F=M.getLine(I.row);if(I.column>F.search(/\S|$/)){var H=F.substr(I.column).search(/\S|$/);M.doc.removeInLine(I.row,I.column,I.column+H)}}this.clearSelection();var N=I.column,O=M.getState(I.row),F=M.getLine(I.row),W=x.checkOutdent(O,F,c);if(M.insert(I,c),_&&_.selection&&(_.selection.length==2?this.selection.setSelectionRange(new s(I.row,N+_.selection[0],I.row,N+_.selection[1])):this.selection.setSelectionRange(new s(I.row+_.selection[0],_.selection[1],I.row+_.selection[2],_.selection[3]))),this.$enableAutoIndent){if(M.getDocument().isNewLine(c)){var B=x.getNextLineIndent(O,F.slice(0,I.column),M.getTabString());M.insert({row:I.row+1,column:0},B)}W&&x.autoOutdent(O,M,I.row)}},d.prototype.autoIndent=function(){for(var c=this.session,y=c.getMode(),M=this.selection.isEmpty()?[new s(0,0,c.doc.getLength()-1,0)]:this.selection.getAllRanges(),x="",I="",_="",D=c.getTabString(),H=0;H<M.length;H++)for(var N=M[H].start.row,O=M[H].end.row,F=N;F<=O;F++){F>0&&(x=c.getState(F-1),I=c.getLine(F-1),_=y.getNextLineIndent(x,I,D));var W=c.getLine(F),B=y.$getIndent(W);if(_!==B){if(B.length>0){var P=new s(F,0,F,B.length);c.remove(P)}_.length>0&&c.insert({row:F,column:0},_)}y.autoOutdent(x,c,F)}},d.prototype.onTextInput=function(c,y){if(!y)return this.keyBinding.onTextInput(c);this.startOperation({command:{name:"insertstring"}});var M=this.applyComposition.bind(this,c,y);this.selection.rangeCount?this.forEachSelection(M):M(),this.endOperation()},d.prototype.applyComposition=function(c,y){if(y.extendLeft||y.extendRight){var M=this.selection.getRange();M.start.column-=y.extendLeft,M.end.column+=y.extendRight,M.start.column<0&&(M.start.row--,M.start.column+=this.session.getLine(M.start.row).length+1),this.selection.setRange(M),!c&&!M.isEmpty()&&this.remove()}if((c||!this.selection.isEmpty())&&this.insert(c,!0),y.restoreStart||y.restoreEnd){var M=this.selection.getRange();M.start.column-=y.restoreStart,M.end.column-=y.restoreEnd,this.selection.setRange(M)}},d.prototype.onCommandKey=function(c,y,M){return this.keyBinding.onCommandKey(c,y,M)},d.prototype.setOverwrite=function(c){this.session.setOverwrite(c)},d.prototype.getOverwrite=function(){return this.session.getOverwrite()},d.prototype.toggleOverwrite=function(){this.session.toggleOverwrite()},d.prototype.setScrollSpeed=function(c){this.setOption("scrollSpeed",c)},d.prototype.getScrollSpeed=function(){return this.getOption("scrollSpeed")},d.prototype.setDragDelay=function(c){this.setOption("dragDelay",c)},d.prototype.getDragDelay=function(){return this.getOption("dragDelay")},d.prototype.setSelectionStyle=function(c){this.setOption("selectionStyle",c)},d.prototype.getSelectionStyle=function(){return this.getOption("selectionStyle")},d.prototype.setHighlightActiveLine=function(c){this.setOption("highlightActiveLine",c)},d.prototype.getHighlightActiveLine=function(){return this.getOption("highlightActiveLine")},d.prototype.setHighlightGutterLine=function(c){this.setOption("highlightGutterLine",c)},d.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},d.prototype.setHighlightSelectedWord=function(c){this.setOption("highlightSelectedWord",c)},d.prototype.getHighlightSelectedWord=function(){return this.$highlightSelectedWord},d.prototype.setAnimatedScroll=function(c){this.renderer.setAnimatedScroll(c)},d.prototype.getAnimatedScroll=function(){return this.renderer.getAnimatedScroll()},d.prototype.setShowInvisibles=function(c){this.renderer.setShowInvisibles(c)},d.prototype.getShowInvisibles=function(){return this.renderer.getShowInvisibles()},d.prototype.setDisplayIndentGuides=function(c){this.renderer.setDisplayIndentGuides(c)},d.prototype.getDisplayIndentGuides=function(){return this.renderer.getDisplayIndentGuides()},d.prototype.setHighlightIndentGuides=function(c){this.renderer.setHighlightIndentGuides(c)},d.prototype.getHighlightIndentGuides=function(){return this.renderer.getHighlightIndentGuides()},d.prototype.setShowPrintMargin=function(c){this.renderer.setShowPrintMargin(c)},d.prototype.getShowPrintMargin=function(){return this.renderer.getShowPrintMargin()},d.prototype.setPrintMarginColumn=function(c){this.renderer.setPrintMarginColumn(c)},d.prototype.getPrintMarginColumn=function(){return this.renderer.getPrintMarginColumn()},d.prototype.setReadOnly=function(c){this.setOption("readOnly",c)},d.prototype.getReadOnly=function(){return this.getOption("readOnly")},d.prototype.setBehavioursEnabled=function(c){this.setOption("behavioursEnabled",c)},d.prototype.getBehavioursEnabled=function(){return this.getOption("behavioursEnabled")},d.prototype.setWrapBehavioursEnabled=function(c){this.setOption("wrapBehavioursEnabled",c)},d.prototype.getWrapBehavioursEnabled=function(){return this.getOption("wrapBehavioursEnabled")},d.prototype.setShowFoldWidgets=function(c){this.setOption("showFoldWidgets",c)},d.prototype.getShowFoldWidgets=function(){return this.getOption("showFoldWidgets")},d.prototype.setFadeFoldWidgets=function(c){this.setOption("fadeFoldWidgets",c)},d.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},d.prototype.remove=function(c){this.selection.isEmpty()&&(c=="left"?this.selection.selectLeft():this.selection.selectRight());var y=this.getSelectionRange();if(this.getBehavioursEnabled()){var M=this.session,x=M.getState(y.start.row),I=M.getMode().transformAction(x,"deletion",this,M,y);if(y.end.column===0){var _=M.getTextRange(y);if(_[_.length-1]==`
|
|
214
|
-
`){var D=M.getLine(y.end.row);/^\s+$/.test(D)&&(y.end.column=D.length)}}I&&(y=I)}this.session.remove(y),this.clearSelection()},d.prototype.removeWordRight=function(){this.selection.isEmpty()&&this.selection.selectWordRight(),this.session.remove(this.getSelectionRange()),this.clearSelection()},d.prototype.removeWordLeft=function(){this.selection.isEmpty()&&this.selection.selectWordLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},d.prototype.removeToLineStart=function(){this.selection.isEmpty()&&this.selection.selectLineStart(),this.selection.isEmpty()&&this.selection.selectLeft(),this.session.remove(this.getSelectionRange()),this.clearSelection()},d.prototype.removeToLineEnd=function(){this.selection.isEmpty()&&this.selection.selectLineEnd();var c=this.getSelectionRange();c.start.column==c.end.column&&c.start.row==c.end.row&&(c.end.column=0,c.end.row++),this.session.remove(c),this.clearSelection()},d.prototype.splitLine=function(){this.selection.isEmpty()||(this.session.remove(this.getSelectionRange()),this.clearSelection());var c=this.getCursorPosition();this.insert(`
|
|
215
|
-
`),this.moveCursorToPosition(c)},d.prototype.setGhostText=function(c,y){this.renderer.setGhostText(c,y)},d.prototype.removeGhostText=function(){this.renderer.removeGhostText()},d.prototype.transposeLetters=function(){if(this.selection.isEmpty()){var c=this.getCursorPosition(),y=c.column;if(y!==0){var M=this.session.getLine(c.row),x,I;y<M.length?(x=M.charAt(y)+M.charAt(y-1),I=new s(c.row,y-1,c.row,y+1)):(x=M.charAt(y-1)+M.charAt(y-2),I=new s(c.row,y-2,c.row,y)),this.session.replace(I,x),this.session.selection.moveToPosition(I.end)}}},d.prototype.toLowerCase=function(){var c=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var y=this.getSelectionRange(),M=this.session.getTextRange(y);this.session.replace(y,M.toLowerCase()),this.selection.setSelectionRange(c)},d.prototype.toUpperCase=function(){var c=this.getSelectionRange();this.selection.isEmpty()&&this.selection.selectWord();var y=this.getSelectionRange(),M=this.session.getTextRange(y);this.session.replace(y,M.toUpperCase()),this.selection.setSelectionRange(c)},d.prototype.indent=function(){var c=this.session,y=this.getSelectionRange();if(y.start.row<y.end.row){var M=this.$getSelectedRows();c.indentRows(M.first,M.last," ");return}else if(y.start.column<y.end.column){var x=c.getTextRange(y);if(!/^\s+$/.test(x)){var M=this.$getSelectedRows();c.indentRows(M.first,M.last," ");return}}var I=c.getLine(y.start.row),_=y.start,D=c.getTabSize(),H=c.documentToScreenColumn(_.row,_.column);if(this.session.getUseSoftTabs())var N=D-H%D,O=l.stringRepeat(" ",N);else{for(var N=H%D;I[y.start.column-1]==" "&&N;)y.start.column--,N--;this.selection.setSelectionRange(y),O=" "}return this.insert(O)},d.prototype.blockIndent=function(){var c=this.$getSelectedRows();this.session.indentRows(c.first,c.last," ")},d.prototype.blockOutdent=function(){var c=this.session.getSelection();this.session.outdentRows(c.getRange())},d.prototype.sortLines=function(){for(var c=this.$getSelectedRows(),y=this.session,M=[],x=c.first;x<=c.last;x++)M.push(y.getLine(x));M.sort(function(D,H){return D.toLowerCase()<H.toLowerCase()?-1:D.toLowerCase()>H.toLowerCase()?1:0});for(var I=new s(0,0,0,0),x=c.first;x<=c.last;x++){var _=y.getLine(x);I.start.row=x,I.end.row=x,I.end.column=_.length,y.replace(I,M[x-c.first])}},d.prototype.toggleCommentLines=function(){var c=this.session.getState(this.getCursorPosition().row),y=this.$getSelectedRows();this.session.getMode().toggleCommentLines(c,this.session,y.first,y.last)},d.prototype.toggleBlockComment=function(){var c=this.getCursorPosition(),y=this.session.getState(c.row),M=this.getSelectionRange();this.session.getMode().toggleBlockComment(y,this.session,M,c)},d.prototype.getNumberAt=function(c,y){var M=/[\-]?[0-9]+(?:\.[0-9]+)?/g;M.lastIndex=0;for(var x=this.session.getLine(c);M.lastIndex<y;){var I=M.exec(x);if(I.index<=y&&I.index+I[0].length>=y){var _={value:I[0],start:I.index,end:I.index+I[0].length};return _}}return null},d.prototype.modifyNumber=function(c){var y=this.selection.getCursor().row,M=this.selection.getCursor().column,x=new s(y,M-1,y,M),I=this.session.getTextRange(x);if(!isNaN(parseFloat(I))&&isFinite(I)){var _=this.getNumberAt(y,M);if(_){var D=_.value.indexOf(".")>=0?_.start+_.value.indexOf(".")+1:_.end,H=_.start+_.value.length-D,N=parseFloat(_.value);N*=Math.pow(10,H),D!==_.end&&M<D?c*=Math.pow(10,_.end-M-1):c*=Math.pow(10,_.end-M),N+=c,N/=Math.pow(10,H);var O=N.toFixed(H),F=new s(y,_.start,y,_.end);this.session.replace(F,O),this.moveCursorTo(y,Math.max(_.start+1,M+O.length-_.value.length))}}else this.toggleWord()},d.prototype.toggleWord=function(){var c=this.selection.getCursor().row,y=this.selection.getCursor().column;this.selection.selectWord();var M=this.getSelectedText(),x=this.selection.getWordRange().start.column,I=M.replace(/([a-z]+|[A-Z]+)(?=[A-Z_]|$)/g,"$1 ").split(/\s/),_=y-x-1;_<0&&(_=0);var D=0,H=0,N=this;M.match(/[A-Za-z0-9_]+/)&&I.forEach(function(X,q){H=D+X.length,_>=D&&_<=H&&(M=X,N.selection.clearSelection(),N.moveCursorTo(c,D+x),N.selection.selectTo(c,H+x)),D=H});for(var O=this.$toggleWordPairs,F,W=0;W<O.length;W++)for(var B=O[W],P=0;P<=1;P++){var V=+!P,G=M.match(new RegExp("^\\s?_?("+l.escapeRegExp(B[P])+")\\s?$","i"));if(G){var Y=M.match(new RegExp("([_]|^|\\s)("+l.escapeRegExp(G[1])+")($|\\s)","g"));Y&&(F=M.replace(new RegExp(l.escapeRegExp(B[P]),"i"),function(X){var q=B[V];return X.toUpperCase()==X?q=q.toUpperCase():X.charAt(0).toUpperCase()==X.charAt(0)&&(q=q.substr(0,0)+B[V].charAt(0).toUpperCase()+q.substr(1)),q}),this.insert(F),F="")}}},d.prototype.findLinkAt=function(c,y){var M,x,I=this.session.getLine(c),_=I.split(/((?:https?|ftp):\/\/[\S]+)/),D=y;D<0&&(D=0);var H=0,N=0,O;try{for(var F=E(_),W=F.next();!W.done;W=F.next()){var B=W.value;if(N=H+B.length,D>=H&&D<=N&&B.match(/((?:https?|ftp):\/\/[\S]+)/)){O=B.replace(/[\s:.,'";}\]]+$/,"");break}H=N}}catch(P){M={error:P}}finally{try{W&&!W.done&&(x=F.return)&&x.call(F)}finally{if(M)throw M.error}}return O},d.prototype.openLink=function(){var c=this.selection.getCursor(),y=this.findLinkAt(c.row,c.column);return y&&window.open(y,"_blank"),y!=null},d.prototype.removeLines=function(){var c=this.$getSelectedRows();this.session.removeFullLines(c.first,c.last),this.clearSelection()},d.prototype.duplicateSelection=function(){var c=this.selection,y=this.session,M=c.getRange(),x=c.isBackwards();if(M.isEmpty()){var I=M.start.row;y.duplicateLines(I,I)}else{var _=x?M.start:M.end,D=y.insert(_,y.getTextRange(M));M.start=_,M.end=D,c.setSelectionRange(M,x)}},d.prototype.moveLinesDown=function(){this.$moveLines(1,!1)},d.prototype.moveLinesUp=function(){this.$moveLines(-1,!1)},d.prototype.moveText=function(c,y,M){return this.session.moveText(c,y,M)},d.prototype.copyLinesUp=function(){this.$moveLines(-1,!0)},d.prototype.copyLinesDown=function(){this.$moveLines(1,!0)},d.prototype.$moveLines=function(c,y){var M,x,I=this.selection;if(!I.inMultiSelectMode||this.inVirtualSelectionMode){var _=I.toOrientedRange();M=this.$getSelectedRows(_),x=this.session.$moveLines(M.first,M.last,y?0:c),y&&c==-1&&(x=0),_.moveBy(x,0),I.fromOrientedRange(_)}else{var D=I.rangeList.ranges;I.rangeList.detach(this.session),this.inVirtualSelectionMode=!0;for(var H=0,N=0,O=D.length,F=0;F<O;F++){var W=F;D[F].moveBy(H,0),M=this.$getSelectedRows(D[F]);for(var B=M.first,P=M.last;++F<O;){N&&D[F].moveBy(N,0);var V=this.$getSelectedRows(D[F]);if(y&&V.first!=P)break;if(!y&&V.first>P+1)break;P=V.last}for(F--,H=this.session.$moveLines(B,P,y?0:c),y&&c==-1&&(W=F+1);W<=F;)D[W].moveBy(H,0),W++;y||(H=0),N+=H}I.fromOrientedRange(I.ranges[0]),I.rangeList.attach(this.session),this.inVirtualSelectionMode=!1}},d.prototype.$getSelectedRows=function(c){return c=(c||this.getSelectionRange()).collapseRows(),{first:this.session.getRowFoldStart(c.start.row),last:this.session.getRowFoldEnd(c.end.row)}},d.prototype.onCompositionStart=function(c){this.renderer.showComposition(c)},d.prototype.onCompositionUpdate=function(c){this.renderer.setCompositionText(c)},d.prototype.onCompositionEnd=function(){this.renderer.hideComposition()},d.prototype.getFirstVisibleRow=function(){return this.renderer.getFirstVisibleRow()},d.prototype.getLastVisibleRow=function(){return this.renderer.getLastVisibleRow()},d.prototype.isRowVisible=function(c){return c>=this.getFirstVisibleRow()&&c<=this.getLastVisibleRow()},d.prototype.isRowFullyVisible=function(c){return c>=this.renderer.getFirstFullyVisibleRow()&&c<=this.renderer.getLastFullyVisibleRow()},d.prototype.$getVisibleRowCount=function(){return this.renderer.getScrollBottomRow()-this.renderer.getScrollTopRow()+1},d.prototype.$moveByPage=function(c,y){var M=this.renderer,x=this.renderer.layerConfig,I=c*Math.floor(x.height/x.lineHeight);y===!0?this.selection.$moveSelection(function(){this.moveCursorBy(I,0)}):y===!1&&(this.selection.moveCursorBy(I,0),this.selection.clearSelection());var _=M.scrollTop;M.scrollBy(0,I*x.lineHeight),y!=null&&M.scrollCursorIntoView(null,.5),M.animateScrolling(_)},d.prototype.selectPageDown=function(){this.$moveByPage(1,!0)},d.prototype.selectPageUp=function(){this.$moveByPage(-1,!0)},d.prototype.gotoPageDown=function(){this.$moveByPage(1,!1)},d.prototype.gotoPageUp=function(){this.$moveByPage(-1,!1)},d.prototype.scrollPageDown=function(){this.$moveByPage(1)},d.prototype.scrollPageUp=function(){this.$moveByPage(-1)},d.prototype.scrollToRow=function(c){this.renderer.scrollToRow(c)},d.prototype.scrollToLine=function(c,y,M,x){this.renderer.scrollToLine(c,y,M,x)},d.prototype.centerSelection=function(){var c=this.getSelectionRange(),y={row:Math.floor(c.start.row+(c.end.row-c.start.row)/2),column:Math.floor(c.start.column+(c.end.column-c.start.column)/2)};this.renderer.alignCursor(y,.5)},d.prototype.getCursorPosition=function(){return this.selection.getCursor()},d.prototype.getCursorPositionScreen=function(){return this.session.documentToScreenPosition(this.getCursorPosition())},d.prototype.getSelectionRange=function(){return this.selection.getRange()},d.prototype.selectAll=function(){this.selection.selectAll()},d.prototype.clearSelection=function(){this.selection.clearSelection()},d.prototype.moveCursorTo=function(c,y){this.selection.moveCursorTo(c,y)},d.prototype.moveCursorToPosition=function(c){this.selection.moveCursorToPosition(c)},d.prototype.jumpToMatching=function(c,y){var M=this.getCursorPosition(),x=new p(this.session,M.row,M.column),I=x.getCurrentToken(),_=0;I&&I.type.indexOf("tag-name")!==-1&&(I=x.stepBackward());var D=I||x.stepForward();if(D){var H,N=!1,O={},F=M.column-D.start,W,B={")":"(","(":"(","]":"[","[":"[","{":"{","}":"{"};do{if(D.value.match(/[{}()\[\]]/g)){for(;F<D.value.length&&!N;F++)if(B[D.value[F]])switch(W=B[D.value[F]]+"."+D.type.replace("rparen","lparen"),isNaN(O[W])&&(O[W]=0),D.value[F]){case"(":case"[":case"{":O[W]++;break;case")":case"]":case"}":O[W]--,O[W]===-1&&(H="bracket",N=!0);break}}else D.type.indexOf("tag-name")!==-1&&(isNaN(O[D.value])&&(O[D.value]=0),I.value==="<"&&_>1?O[D.value]++:I.value==="</"&&O[D.value]--,O[D.value]===-1&&(H="tag",N=!0));N||(I=D,_++,D=x.stepForward(),F=0)}while(D&&!N);if(H){var P,V;if(H==="bracket")P=this.session.getBracketRange(M),P||(P=new s(x.getCurrentTokenRow(),x.getCurrentTokenColumn()+F-1,x.getCurrentTokenRow(),x.getCurrentTokenColumn()+F-1),V=P.start,(y||V.row===M.row&&Math.abs(V.column-M.column)<2)&&(P=this.session.getBracketRange(V)));else if(H==="tag"){if(!D||D.type.indexOf("tag-name")===-1)return;if(P=new s(x.getCurrentTokenRow(),x.getCurrentTokenColumn()-2,x.getCurrentTokenRow(),x.getCurrentTokenColumn()-2),P.compare(M.row,M.column)===0){var G=this.session.getMatchingTags(M);G&&(G.openTag.contains(M.row,M.column)?(P=G.closeTag,V=P.start):(P=G.openTag,G.closeTag.start.row===M.row&&G.closeTag.start.column===M.column?V=P.end:V=P.start))}V=V||P.start}V=P&&P.cursor||V,V&&(c?P&&y?this.selection.setRange(P):P&&P.isEqual(this.getSelectionRange())?this.clearSelection():this.selection.selectTo(V.row,V.column):this.selection.moveTo(V.row,V.column))}}},d.prototype.gotoLine=function(c,y,M){this.selection.clearSelection(),this.session.unfold({row:c-1,column:y||0}),this.exitMultiSelectMode&&this.exitMultiSelectMode(),this.moveCursorTo(c-1,y||0),this.isRowFullyVisible(c-1)||this.scrollToLine(c-1,!0,M)},d.prototype.navigateTo=function(c,y){this.selection.moveTo(c,y)},d.prototype.navigateUp=function(c){if(this.selection.isMultiLine()&&!this.selection.isBackwards()){var y=this.selection.anchor.getPosition();return this.moveCursorToPosition(y)}this.selection.clearSelection(),this.selection.moveCursorBy(-c||-1,0)},d.prototype.navigateDown=function(c){if(this.selection.isMultiLine()&&this.selection.isBackwards()){var y=this.selection.anchor.getPosition();return this.moveCursorToPosition(y)}this.selection.clearSelection(),this.selection.moveCursorBy(c||1,0)},d.prototype.navigateLeft=function(c){if(this.selection.isEmpty())for(c=c||1;c--;)this.selection.moveCursorLeft();else{var y=this.getSelectionRange().start;this.moveCursorToPosition(y)}this.clearSelection()},d.prototype.navigateRight=function(c){if(this.selection.isEmpty())for(c=c||1;c--;)this.selection.moveCursorRight();else{var y=this.getSelectionRange().end;this.moveCursorToPosition(y)}this.clearSelection()},d.prototype.navigateLineStart=function(){this.selection.moveCursorLineStart(),this.clearSelection()},d.prototype.navigateLineEnd=function(){this.selection.moveCursorLineEnd(),this.clearSelection()},d.prototype.navigateFileEnd=function(){this.selection.moveCursorFileEnd(),this.clearSelection()},d.prototype.navigateFileStart=function(){this.selection.moveCursorFileStart(),this.clearSelection()},d.prototype.navigateWordRight=function(){this.selection.moveCursorWordRight(),this.clearSelection()},d.prototype.navigateWordLeft=function(){this.selection.moveCursorWordLeft(),this.clearSelection()},d.prototype.replace=function(c,y){y&&this.$search.set(y);var M=this.$search.find(this.session),x=0;return M&&(this.$tryReplace(M,c)&&(x=1),this.selection.setSelectionRange(M),this.renderer.scrollSelectionIntoView(M.start,M.end)),x},d.prototype.replaceAll=function(c,y){y&&this.$search.set(y);var M=this.$search.findAll(this.session),x=0;if(!M.length)return x;var I=this.getSelectionRange();this.selection.moveTo(0,0);for(var _=M.length-1;_>=0;--_)this.$tryReplace(M[_],c)&&x++;return this.selection.setSelectionRange(I),x},d.prototype.$tryReplace=function(c,y){var M=this.session.getTextRange(c);return y=this.$search.replace(M,y),y!==null?(c.end=this.session.replace(c,y),c):null},d.prototype.getLastSearchOptions=function(){return this.$search.getOptions()},d.prototype.find=function(c,y,M){y||(y={}),typeof c=="string"||c instanceof RegExp?y.needle=c:typeof c=="object"&&L.mixin(y,c);var x=this.selection.getRange();y.needle==null&&(c=this.session.getTextRange(x)||this.$search.$options.needle,c||(x=this.session.getWordRange(x.start.row,x.start.column),c=this.session.getTextRange(x)),this.$search.set({needle:c})),this.$search.set(y),y.start||this.$search.set({start:x});var I=this.$search.find(this.session);if(y.preventScroll)return I;if(I)return this.revealRange(I,M),I;y.backwards?x.start=x.end:x.end=x.start,this.selection.setRange(x)},d.prototype.findNext=function(c,y){this.find({skipCurrent:!0,backwards:!1},c,y)},d.prototype.findPrevious=function(c,y){this.find(c,{skipCurrent:!0,backwards:!0},y)},d.prototype.revealRange=function(c,y){this.session.unfold(c),this.selection.setSelectionRange(c);var M=this.renderer.scrollTop;this.renderer.scrollSelectionIntoView(c.start,c.end,.5),y!==!1&&this.renderer.animateScrolling(M)},d.prototype.undo=function(){this.session.getUndoManager().undo(this.session),this.renderer.scrollCursorIntoView(null,.5)},d.prototype.redo=function(){this.session.getUndoManager().redo(this.session),this.renderer.scrollCursorIntoView(null,.5)},d.prototype.destroy=function(){this.$toDestroy&&(this.$toDestroy.forEach(function(c){c.destroy()}),this.$toDestroy=null),this.$mouseHandler&&this.$mouseHandler.destroy(),this.renderer.destroy(),this._signal("destroy",this),this.session&&this.session.destroy(),this._$emitInputEvent&&this._$emitInputEvent.cancel(),this.removeAllListeners()},d.prototype.setAutoScrollEditorIntoView=function(c){if(c){var y,M=this,x=!1;this.$scrollAnchor||(this.$scrollAnchor=document.createElement("div"));var I=this.$scrollAnchor;I.style.cssText="position:absolute",this.container.insertBefore(I,this.container.firstChild);var _=this.on("changeSelection",function(){x=!0}),D=this.renderer.on("beforeRender",function(){x&&(y=M.renderer.container.getBoundingClientRect())}),H=this.renderer.on("afterRender",function(){if(x&&y&&(M.isFocused()||M.searchBox&&M.searchBox.isFocused())){var N=M.renderer,O=N.$cursorLayer.$pixelPos,F=N.layerConfig,W=O.top-F.offset;O.top>=0&&W+y.top<0?x=!0:O.top<F.height&&O.top+y.top+F.lineHeight>window.innerHeight?x=!1:x=null,x!=null&&(I.style.top=W+"px",I.style.left=O.left+"px",I.style.height=F.lineHeight+"px",I.scrollIntoView(x)),x=y=null}});this.setAutoScrollEditorIntoView=function(N){N||(delete this.setAutoScrollEditorIntoView,this.off("changeSelection",_),this.renderer.off("afterRender",H),this.renderer.off("beforeRender",D))}}},d.prototype.$resetCursorStyle=function(){var c=this.$cursorStyle||"ace",y=this.renderer.$cursorLayer;y&&(y.setSmoothBlinking(/smooth/.test(c)),y.isBlinking=!this.$readOnly&&c!="wide",A.setCssClass(y.element,"ace_slim-cursors",/slim/.test(c)))},d.prototype.prompt=function(c,y,M){var x=this;v.loadModule("ace/ext/prompt",function(I){I.prompt(x,c,y,M)})},d}();b.$uid=0,b.prototype.curOp=null,b.prototype.prevOp={},b.prototype.$mergeableCommands=["backspace","del","insertstring"],b.prototype.$toggleWordPairs=[["first","last"],["true","false"],["yes","no"],["width","height"],["top","bottom"],["right","left"],["on","off"],["x","y"],["get","set"],["max","min"],["horizontal","vertical"],["show","hide"],["add","remove"],["up","down"],["before","after"],["even","odd"],["in","out"],["inside","outside"],["next","previous"],["increase","decrease"],["attach","detach"],["&&","||"],["==","!="]],L.implement(b.prototype,h),v.defineOptions(b.prototype,"editor",{selectionStyle:{set:function(d){this.onSelectionChange(),this._signal("changeSelectionStyle",{data:d})},initialValue:"line"},highlightActiveLine:{set:function(){this.$updateHighlightActiveLine()},initialValue:!0},highlightSelectedWord:{set:function(d){this.$onSelectionChange()},initialValue:!0},readOnly:{set:function(d){var c=this;this.textInput.setReadOnly(d),this.$resetCursorStyle(),this.$readOnlyCallback||(this.$readOnlyCallback=function(M){var x=!1;if(M&&M.type=="keydown"){if(x=M&&M.key&&M.key.length==1&&!M.ctrlKey&&!M.metaKey,!x)return}else M&&M.type!=="exec"&&(x=!0);if(x){c.hoverTooltip||(c.hoverTooltip=new T);var I=A.createElement("div");I.textContent=m("editor.tooltip.disable-editing","Editing is disabled"),c.hoverTooltip.isOpen||c.hoverTooltip.showForRange(c,c.getSelectionRange(),I)}else c.hoverTooltip&&c.hoverTooltip.isOpen&&c.hoverTooltip.hide()});var y=this.textInput.getElement();d?(w.addListener(y,"keydown",this.$readOnlyCallback,this),this.commands.on("exec",this.$readOnlyCallback),this.commands.on("commandUnavailable",this.$readOnlyCallback)):(w.removeListener(y,"keydown",this.$readOnlyCallback),this.commands.off("exec",this.$readOnlyCallback),this.commands.off("commandUnavailable",this.$readOnlyCallback),this.hoverTooltip&&(this.hoverTooltip.destroy(),this.hoverTooltip=null))},initialValue:!1},copyWithEmptySelection:{set:function(d){this.textInput.setCopyWithEmptySelection(d)},initialValue:!1},cursorStyle:{set:function(d){this.$resetCursorStyle()},values:["ace","slim","smooth","wide"],initialValue:"ace"},mergeUndoDeltas:{values:[!1,!0,"always"],initialValue:!0},behavioursEnabled:{initialValue:!0},wrapBehavioursEnabled:{initialValue:!0},enableAutoIndent:{initialValue:!0},autoScrollEditorIntoView:{set:function(d){this.setAutoScrollEditorIntoView(d)}},keyboardHandler:{set:function(d){this.setKeyboardHandler(d)},get:function(){return this.$keybindingId},handlesSet:!0},value:{set:function(d){this.session.setValue(d)},get:function(){return this.getValue()},handlesSet:!0,hidden:!0},session:{set:function(d){this.setSession(d)},get:function(){return this.session},handlesSet:!0,hidden:!0},showLineNumbers:{set:function(d){this.renderer.$gutterLayer.setShowLineNumbers(d),this.renderer.$loop.schedule(this.renderer.CHANGE_GUTTER),d&&this.$relativeLineNumbers?g.attach(this):g.detach(this)},initialValue:!0},relativeLineNumbers:{set:function(d){this.$showLineNumbers&&d?g.attach(this):g.detach(this)}},placeholder:{set:function(d){this.$updatePlaceholder||(this.$updatePlaceholder=(function(){var c=this.session&&(this.renderer.$composition||this.session.getLength()>1||this.session.getLine(0).length>0);if(c&&this.renderer.placeholderNode)this.renderer.off("afterRender",this.$updatePlaceholder),A.removeCssClass(this.container,"ace_hasPlaceholder"),this.renderer.placeholderNode.remove(),this.renderer.placeholderNode=null;else if(!c&&!this.renderer.placeholderNode){this.renderer.on("afterRender",this.$updatePlaceholder),A.addCssClass(this.container,"ace_hasPlaceholder");var y=A.createElement("div");y.className="ace_placeholder",y.textContent=this.$placeholder||"",this.renderer.placeholderNode=y,this.renderer.content.appendChild(this.renderer.placeholderNode)}else!c&&this.renderer.placeholderNode&&(this.renderer.placeholderNode.textContent=this.$placeholder||"")}).bind(this),this.on("input",this.$updatePlaceholder)),this.$updatePlaceholder()}},enableKeyboardAccessibility:{set:function(d){var c={name:"blurTextInput",description:"Set focus to the editor content div to allow tabbing through the page",bindKey:"Esc",exec:function(x){x.blur(),x.renderer.scroller.focus()},readOnly:!0},y=function(x){if(x.target==this.renderer.scroller&&x.keyCode===$.enter){x.preventDefault();var I=this.getCursorPosition().row;this.isRowVisible(I)||this.scrollToLine(I,!0,!0),this.focus()}},M;d?(this.renderer.enableKeyboardAccessibility=!0,this.renderer.keyboardFocusClassName="ace_keyboard-focus",this.textInput.getElement().setAttribute("tabindex",-1),this.textInput.setNumberOfExtraLines(u.isWin?3:0),this.renderer.scroller.setAttribute("tabindex",0),this.renderer.scroller.setAttribute("role","group"),this.renderer.scroller.setAttribute("aria-roledescription",m("editor.scroller.aria-roledescription","editor")),this.renderer.scroller.classList.add(this.renderer.keyboardFocusClassName),this.renderer.scroller.setAttribute("aria-label",m("editor.scroller.aria-label","Editor content, press Enter to start editing, press Escape to exit")),this.renderer.scroller.addEventListener("keyup",y.bind(this)),this.commands.addCommand(c),this.renderer.$gutter.setAttribute("tabindex",0),this.renderer.$gutter.setAttribute("aria-hidden",!1),this.renderer.$gutter.setAttribute("role","group"),this.renderer.$gutter.setAttribute("aria-roledescription",m("editor.gutter.aria-roledescription","editor gutter")),this.renderer.$gutter.setAttribute("aria-label",m("editor.gutter.aria-label","Editor gutter, press Enter to interact with controls using arrow keys, press Escape to exit")),this.renderer.$gutter.classList.add(this.renderer.keyboardFocusClassName),this.renderer.content.setAttribute("aria-hidden",!0),M||(M=new a(this)),M.addListener(),this.textInput.setAriaOptions({setLabel:!0})):(this.renderer.enableKeyboardAccessibility=!1,this.textInput.getElement().setAttribute("tabindex",0),this.textInput.setNumberOfExtraLines(0),this.renderer.scroller.setAttribute("tabindex",-1),this.renderer.scroller.removeAttribute("role"),this.renderer.scroller.removeAttribute("aria-roledescription"),this.renderer.scroller.classList.remove(this.renderer.keyboardFocusClassName),this.renderer.scroller.removeAttribute("aria-label"),this.renderer.scroller.removeEventListener("keyup",y.bind(this)),this.commands.removeCommand(c),this.renderer.content.removeAttribute("aria-hidden"),this.renderer.$gutter.setAttribute("tabindex",-1),this.renderer.$gutter.setAttribute("aria-hidden",!0),this.renderer.$gutter.removeAttribute("role"),this.renderer.$gutter.removeAttribute("aria-roledescription"),this.renderer.$gutter.removeAttribute("aria-label"),this.renderer.$gutter.classList.remove(this.renderer.keyboardFocusClassName),M&&M.removeListener())},initialValue:!1},textInputAriaLabel:{set:function(d){this.$textInputAriaLabel=d},initialValue:""},enableMobileMenu:{set:function(d){this.$enableMobileMenu=d},initialValue:!0},customScrollbar:"renderer",hScrollBarAlwaysVisible:"renderer",vScrollBarAlwaysVisible:"renderer",highlightGutterLine:"renderer",animatedScroll:"renderer",showInvisibles:"renderer",showPrintMargin:"renderer",printMarginColumn:"renderer",printMargin:"renderer",fadeFoldWidgets:"renderer",showFoldWidgets:"renderer",displayIndentGuides:"renderer",highlightIndentGuides:"renderer",showGutter:"renderer",fontSize:"renderer",fontFamily:"renderer",maxLines:"renderer",minLines:"renderer",scrollPastEnd:"renderer",fixedWidthGutter:"renderer",theme:"renderer",hasCssTransforms:"renderer",maxPixelHeight:"renderer",useTextareaForIME:"renderer",useResizeObserver:"renderer",useSvgGutterIcons:"renderer",showFoldedAnnotations:"renderer",scrollSpeed:"$mouseHandler",dragDelay:"$mouseHandler",dragEnabled:"$mouseHandler",focusTimeout:"$mouseHandler",tooltipFollowsMouse:"$mouseHandler",firstLineNumber:"session",overwrite:"session",newLineMode:"session",useWorker:"session",useSoftTabs:"session",navigateWithinSoftTabs:"session",tabSize:"session",wrap:"session",indentedSoftWrap:"session",foldStyle:"session",mode:"session"});var g={getText:function(d,c){return(Math.abs(d.selection.lead.row-c)||c+1+(c<9?"·":""))+""},getWidth:function(d,c,y){return Math.max(c.toString().length,(y.lastRow+1).toString().length,2)*y.characterWidth},update:function(d,c){c.renderer.$loop.schedule(c.renderer.CHANGE_GUTTER)},attach:function(d){d.renderer.$gutterLayer.$renderer=this,d.on("changeSelection",this.update),this.update(null,d)},detach:function(d){d.renderer.$gutterLayer.$renderer==this&&(d.renderer.$gutterLayer.$renderer=null),d.off("changeSelection",this.update),this.update(null,d)}};k.Editor=b}),ace.define("ace/layer/lines",["require","exports","module","ace/lib/dom"],function(R,k,z){var E=R("../lib/dom"),L=function(){function A(l,u){this.element=l,this.canvasHeight=u||5e5,this.element.style.height=this.canvasHeight*2+"px",this.cells=[],this.cellCache=[],this.$offsetCoefficient=0}return A.prototype.moveContainer=function(l){E.translate(this.element,0,-(l.firstRowScreen*l.lineHeight%this.canvasHeight)-l.offset*this.$offsetCoefficient)},A.prototype.pageChanged=function(l,u){return Math.floor(l.firstRowScreen*l.lineHeight/this.canvasHeight)!==Math.floor(u.firstRowScreen*u.lineHeight/this.canvasHeight)},A.prototype.computeLineTop=function(l,u,i){var o=u.firstRowScreen*u.lineHeight,r=Math.floor(o/this.canvasHeight),t=i.documentToScreenRow(l,0)*u.lineHeight;return t-r*this.canvasHeight},A.prototype.computeLineHeight=function(l,u,i){return u.lineHeight*i.getRowLineCount(l)},A.prototype.getLength=function(){return this.cells.length},A.prototype.get=function(l){return this.cells[l]},A.prototype.shift=function(){this.$cacheCell(this.cells.shift())},A.prototype.pop=function(){this.$cacheCell(this.cells.pop())},A.prototype.push=function(l){if(Array.isArray(l)){this.cells.push.apply(this.cells,l);for(var u=E.createFragment(this.element),i=0;i<l.length;i++)u.appendChild(l[i].element);this.element.appendChild(u)}else this.cells.push(l),this.element.appendChild(l.element)},A.prototype.unshift=function(l){if(Array.isArray(l)){this.cells.unshift.apply(this.cells,l);for(var u=E.createFragment(this.element),i=0;i<l.length;i++)u.appendChild(l[i].element);this.element.firstChild?this.element.insertBefore(u,this.element.firstChild):this.element.appendChild(u)}else this.cells.unshift(l),this.element.insertAdjacentElement("afterbegin",l.element)},A.prototype.last=function(){return this.cells.length?this.cells[this.cells.length-1]:null},A.prototype.$cacheCell=function(l){l&&(l.element.remove(),this.cellCache.push(l))},A.prototype.createCell=function(l,u,i,o){var r=this.cellCache.pop();if(!r){var t=E.createElement("div");o&&o(t),this.element.appendChild(t),r={element:t,text:"",row:l}}return r.row=l,r},A}();k.Lines=L}),ace.define("ace/layer/gutter",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/lang","ace/lib/event_emitter","ace/layer/lines","ace/config"],function(R,k,z){var E=R("../lib/dom"),L=R("../lib/oop"),A=R("../lib/lang"),l=R("../lib/event_emitter").EventEmitter,u=R("./lines").Lines,i=R("../config").nls,o=function(){function t(e){this.element=E.createElement("div"),this.element.className="ace_layer ace_gutter-layer",e.appendChild(this.element),this.setShowFoldWidgets(this.$showFoldWidgets),this.gutterWidth=0,this.$annotations=[],this.$updateAnnotations=this.$updateAnnotations.bind(this),this.$lines=new u(this.element),this.$lines.$offsetCoefficient=1}return t.prototype.setSession=function(e){this.session&&this.session.off("change",this.$updateAnnotations),this.session=e,e&&e.on("change",this.$updateAnnotations)},t.prototype.addGutterDecoration=function(e,n){window.console&&console.warn&&console.warn("deprecated use session.addGutterDecoration"),this.session.addGutterDecoration(e,n)},t.prototype.removeGutterDecoration=function(e,n){window.console&&console.warn&&console.warn("deprecated use session.removeGutterDecoration"),this.session.removeGutterDecoration(e,n)},t.prototype.setAnnotations=function(e){this.$annotations=[];for(var n=0;n<e.length;n++){var s=e[n],h=s.row,f=this.$annotations[h];f||(f=this.$annotations[h]={text:[],type:[],displayText:[]});var C=s.text,v=s.text,p=s.type;C=C?A.escapeHTML(C):s.html||"",v=v||s.html||"",f.text.indexOf(C)===-1&&(f.text.push(C),f.type.push(p),f.displayText.push(v));var a=s.className;a?f.className=a:p==="error"?f.className=" ace_error":p==="security"&&!/\bace_error\b/.test(f.className)?f.className=" ace_security":p==="warning"&&!/\bace_(error|security)\b/.test(f.className)?f.className=" ace_warning":p==="info"&&!f.className?f.className=" ace_info":p==="hint"&&!f.className&&(f.className=" ace_hint")}},t.prototype.$updateAnnotations=function(e){if(this.$annotations.length){var n=e.start.row,s=e.end.row-n;if(s!==0)if(e.action=="remove")this.$annotations.splice(n,s+1,null);else{var h=new Array(s+1);h.unshift(n,1),this.$annotations.splice.apply(this.$annotations,h)}}},t.prototype.update=function(e){this.config=e;var n=this.session,s=e.firstRow,h=Math.min(e.lastRow+e.gutterOffset,n.getLength()-1);this.oldLastRow=h,this.config=e,this.$lines.moveContainer(e),this.$updateCursorRow();for(var f=n.getNextFoldLine(s),C=f?f.start.row:1/0,v=null,p=-1,a=s;;){if(a>C&&(a=f.end.row+1,f=n.getNextFoldLine(a,f),C=f?f.start.row:1/0),a>h){for(;this.$lines.getLength()>p+1;)this.$lines.pop();break}v=this.$lines.get(++p),v?v.row=a:(v=this.$lines.createCell(a,e,this.session,r),this.$lines.push(v)),this.$renderCell(v,e,f,a),a++}this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$updateGutterWidth=function(e){var n=this.session,s=n.gutterRenderer||this.$renderer,h=n.$firstLineNumber,f=this.$lines.last()?this.$lines.last().text:"";(this.$fixedWidth||n.$useWrapMode)&&(f=n.getLength()+h-1);var C=s?s.getWidth(n,f,e):f.toString().length*e.characterWidth,v=this.$padding||this.$computePadding();C+=v.left+v.right,C!==this.gutterWidth&&!isNaN(C)&&(this.gutterWidth=C,this.element.parentNode.style.width=this.element.style.width=Math.ceil(this.gutterWidth)+"px",this._signal("changeGutterWidth",C))},t.prototype.$updateCursorRow=function(){if(this.$highlightGutterLine){var e=this.session.selection.getCursor();this.$cursorRow!==e.row&&(this.$cursorRow=e.row)}},t.prototype.updateLineHighlight=function(){if(this.$highlightGutterLine){var e=this.session.selection.cursor.row;if(this.$cursorRow=e,!(this.$cursorCell&&this.$cursorCell.row==e)){this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ",""));var n=this.$lines.cells;this.$cursorCell=null;for(var s=0;s<n.length;s++){var h=n[s];if(h.row>=this.$cursorRow){if(h.row>this.$cursorRow){var f=this.session.getFoldLine(this.$cursorRow);if(s>0&&f&&f.start.row==n[s-1].row)h=n[s-1];else break}h.element.className="ace_gutter-active-line "+h.element.className,this.$cursorCell=h;break}}}}},t.prototype.scrollLines=function(e){var n=this.config;if(this.config=e,this.$updateCursorRow(),this.$lines.pageChanged(n,e))return this.update(e);this.$lines.moveContainer(e);var s=Math.min(e.lastRow+e.gutterOffset,this.session.getLength()-1),h=this.oldLastRow;if(this.oldLastRow=s,!n||h<e.firstRow)return this.update(e);if(s<n.firstRow)return this.update(e);if(n.firstRow<e.firstRow)for(var f=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);f>0;f--)this.$lines.shift();if(h>s)for(var f=this.session.getFoldedRowCount(s+1,h);f>0;f--)this.$lines.pop();e.firstRow<n.firstRow&&this.$lines.unshift(this.$renderLines(e,e.firstRow,n.firstRow-1)),s>h&&this.$lines.push(this.$renderLines(e,h+1,s)),this.updateLineHighlight(),this._signal("afterRender"),this.$updateGutterWidth(e)},t.prototype.$renderLines=function(e,n,s){for(var h=[],f=n,C=this.session.getNextFoldLine(f),v=C?C.start.row:1/0;f>v&&(f=C.end.row+1,C=this.session.getNextFoldLine(f,C),v=C?C.start.row:1/0),!(f>s);){var p=this.$lines.createCell(f,e,this.session,r);this.$renderCell(p,e,C,f),h.push(p),f++}return h},t.prototype.$renderCell=function(e,n,s,h){var f=e.element,C=this.session,v=f.childNodes[0],p=f.childNodes[1],a=f.childNodes[2],m=f.childNodes[3],S=a.firstChild,$=C.$firstLineNumber,w=C.$breakpoints,T=C.$decorations,b=C.gutterRenderer||this.$renderer,g=this.$showFoldWidgets&&C.foldWidgets,d=s?s.start.row:Number.MAX_VALUE,c=n.lineHeight+"px",y=this.$useSvgGutterIcons?"ace_gutter-cell_svg-icons ":"ace_gutter-cell ",M=this.$useSvgGutterIcons?"ace_icon_svg":"ace_icon",x=(b?b.getText(C,h):h+$).toString();if(this.$highlightGutterLine&&(h==this.$cursorRow||s&&h<this.$cursorRow&&h>=d&&this.$cursorRow<=s.end.row)&&(y+="ace_gutter-active-line ",this.$cursorCell!=e&&(this.$cursorCell&&(this.$cursorCell.element.className=this.$cursorCell.element.className.replace("ace_gutter-active-line ","")),this.$cursorCell=e)),w[h]&&(y+=w[h]),T[h]&&(y+=T[h]),this.$annotations[h]&&h!==d&&(y+=this.$annotations[h].className),g){var I=g[h];I==null&&(I=g[h]=C.getFoldWidget(h))}if(I){var _="ace_fold-widget ace_"+I,D=I=="start"&&h==d&&h<s.end.row;if(D){_+=" ace_closed";for(var H="",N=!1,O=h+1;O<=s.end.row;O++)if(this.$annotations[O]){if(this.$annotations[O].className===" ace_error"){N=!0,H=" ace_error_fold";break}this.$annotations[O].className===" ace_security"?(N=!0,H=" ace_security_fold"):this.$annotations[O].className===" ace_warning"&&H!==" ace_security_fold"&&(N=!0,H=" ace_warning_fold")}y+=H}else _+=" ace_open";p.className!=_&&(p.className=_),E.setStyle(p.style,"height",c),E.setStyle(p.style,"display","inline-block"),p.setAttribute("role","button"),p.setAttribute("tabindex","-1");var F=C.getFoldWidgetRange(h);F?p.setAttribute("aria-label",i("gutter.code-folding.range.aria-label","Toggle code folding, rows $0 through $1",[F.start.row+1,F.end.row+1])):s?p.setAttribute("aria-label",i("gutter.code-folding.closed.aria-label","Toggle code folding, rows $0 through $1",[s.start.row+1,s.end.row+1])):p.setAttribute("aria-label",i("gutter.code-folding.open.aria-label","Toggle code folding, row $0",[h+1])),D?(p.setAttribute("aria-expanded","false"),p.setAttribute("title",i("gutter.code-folding.closed.title","Unfold code"))):(p.setAttribute("aria-expanded","true"),p.setAttribute("title",i("gutter.code-folding.open.title","Fold code")))}else p&&(E.setStyle(p.style,"display","none"),p.setAttribute("tabindex","0"),p.removeAttribute("role"),p.removeAttribute("aria-label"));var W=this.session.$gutterCustomWidgets[h];if(W?this.$addCustomWidget(h,W,e):m&&this.$removeCustomWidget(h,e),N&&this.$showFoldedAnnotations){a.className="ace_gutter_annotation",S.className=M,S.className+=H,E.setStyle(S.style,"height",c),E.setStyle(a.style,"display","block"),E.setStyle(a.style,"height",c);var B;switch(H){case" ace_error_fold":B=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[x]);break;case" ace_security_fold":B=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[x]);break;case" ace_warning_fold":B=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[x]);break}a.setAttribute("aria-label",B),a.setAttribute("tabindex","-1"),a.setAttribute("role","button")}else if(this.$annotations[h]){a.className="ace_gutter_annotation",S.className=M,this.$useSvgGutterIcons?S.className+=this.$annotations[h].className:f.classList.add(this.$annotations[h].className.replace(" ","")),E.setStyle(S.style,"height",c),E.setStyle(a.style,"display","block"),E.setStyle(a.style,"height",c);var B;switch(this.$annotations[h].className){case" ace_error":B=i("gutter.annotation.aria-label.error","Error, read annotations row $0",[x]);break;case" ace_security":B=i("gutter.annotation.aria-label.security","Security finding, read annotations row $0",[x]);break;case" ace_warning":B=i("gutter.annotation.aria-label.warning","Warning, read annotations row $0",[x]);break;case" ace_info":B=i("gutter.annotation.aria-label.info","Info, read annotations row $0",[x]);break;case" ace_hint":B=i("gutter.annotation.aria-label.hint","Suggestion, read annotations row $0",[x]);break}a.setAttribute("aria-label",B),a.setAttribute("tabindex","-1"),a.setAttribute("role","button")}else E.setStyle(a.style,"display","none"),a.removeAttribute("aria-label"),a.removeAttribute("role"),a.setAttribute("tabindex","0");return x!==v.data&&(v.data=x),f.className!=y&&(f.className=y),E.setStyle(e.element.style,"height",this.$lines.computeLineHeight(h,n,C)+"px"),E.setStyle(e.element.style,"top",this.$lines.computeLineTop(h,n,C)+"px"),e.text=x,a.style.display==="none"&&p.style.display==="none"&&!W?e.element.setAttribute("aria-hidden",!0):e.element.setAttribute("aria-hidden",!1),e},t.prototype.setHighlightGutterLine=function(e){this.$highlightGutterLine=e},t.prototype.setShowLineNumbers=function(e){this.$renderer=!e&&{getWidth:function(){return 0},getText:function(){return""}}},t.prototype.getShowLineNumbers=function(){return this.$showLineNumbers},t.prototype.setShowFoldWidgets=function(e){e?E.addCssClass(this.element,"ace_folding-enabled"):E.removeCssClass(this.element,"ace_folding-enabled"),this.$showFoldWidgets=e,this.$padding=null},t.prototype.getShowFoldWidgets=function(){return this.$showFoldWidgets},t.prototype.$hideFoldWidget=function(e,n){var s=n||this.$getGutterCell(e);if(s&&s.element){var h=s.element.childNodes[1];h&&E.setStyle(h.style,"display","none")}},t.prototype.$showFoldWidget=function(e,n){var s=n||this.$getGutterCell(e);if(s&&s.element){var h=s.element.childNodes[1];h&&this.session.foldWidgets&&this.session.foldWidgets[s.row]&&E.setStyle(h.style,"display","inline-block")}},t.prototype.$getGutterCell=function(e){var n=this.$lines.cells,s=this.session.documentToScreenRow(e,0);return n[e-this.config.firstRowScreen-(e-s)]},t.prototype.$addCustomWidget=function(e,n,s){var h=n.className,f=n.label,C=n.title,v=n.callbacks;this.session.$gutterCustomWidgets[e]={className:h,label:f,title:C,callbacks:v},this.$hideFoldWidget(e,s);var p=s||this.$getGutterCell(e);if(p&&p.element){var a=p.element.querySelector(".ace_custom-widget");a&&a.remove(),a=E.createElement("span"),a.className="ace_custom-widget ".concat(h),a.setAttribute("tabindex","-1"),a.setAttribute("role","button"),a.setAttribute("aria-label",f),a.setAttribute("title",C),E.setStyle(a.style,"display","inline-block"),E.setStyle(a.style,"height","inherit"),v&&v.onClick&&a.addEventListener("click",function(m){v.onClick(m,e),m.stopPropagation()}),p.element.appendChild(a)}},t.prototype.$removeCustomWidget=function(e,n){delete this.session.$gutterCustomWidgets[e],this.$showFoldWidget(e,n);var s=n||this.$getGutterCell(e);if(s&&s.element){var h=s.element.querySelector(".ace_custom-widget");h&&s.element.removeChild(h)}},t.prototype.$computePadding=function(){if(!this.element.firstChild)return{left:0,right:0};var e=E.computedStyle(this.element.firstChild);return this.$padding={},this.$padding.left=(parseInt(e.borderLeftWidth)||0)+(parseInt(e.paddingLeft)||0)+1,this.$padding.right=(parseInt(e.borderRightWidth)||0)+(parseInt(e.paddingRight)||0),this.$padding},t.prototype.getRegion=function(e){var n=this.$padding||this.$computePadding(),s=this.element.getBoundingClientRect();if(e.x<n.left+s.left)return"markers";if(this.$showFoldWidgets&&e.x>s.right-n.right)return"foldWidgets"},t}();o.prototype.$fixedWidth=!1,o.prototype.$highlightGutterLine=!0,o.prototype.$renderer="",o.prototype.$showLineNumbers=!0,o.prototype.$showFoldWidgets=!0,L.implement(o.prototype,l);function r(t){var e=document.createTextNode("");t.appendChild(e);var n=E.createElement("span");t.appendChild(n);var s=E.createElement("span");t.appendChild(s);var h=E.createElement("span");return s.appendChild(h),t}k.Gutter=o}),ace.define("ace/layer/marker",["require","exports","module","ace/range","ace/lib/dom"],function(R,k,z){var E=R("../range").Range,L=R("../lib/dom"),A=function(){function u(i){this.element=L.createElement("div"),this.element.className="ace_layer ace_marker-layer",i.appendChild(this.element)}return u.prototype.setPadding=function(i){this.$padding=i},u.prototype.setSession=function(i){this.session=i},u.prototype.setMarkers=function(i){this.markers=i},u.prototype.elt=function(i,o){var r=this.i!=-1&&this.element.childNodes[this.i];r?this.i++:(r=document.createElement("div"),this.element.appendChild(r),this.i=-1),r.style.cssText=o,r.className=i},u.prototype.update=function(i){if(i){this.config=i,this.i=0;var o;for(var r in this.markers){var t=this.markers[r];if(!t.range){t.update(o,this,this.session,i);continue}var e=t.range.clipRows(i.firstRow,i.lastRow);if(!e.isEmpty())if(e=e.toScreenRange(this.session),t.renderer){var n=this.$getTop(e.start.row,i),s=this.$padding+e.start.column*i.characterWidth;t.renderer(o,e,s,n,i)}else t.type=="fullLine"?this.drawFullLineMarker(o,e,t.clazz,i):t.type=="screenLine"?this.drawScreenLineMarker(o,e,t.clazz,i):e.isMultiLine()?t.type=="text"?this.drawTextMarker(o,e,t.clazz,i):this.drawMultiLineMarker(o,e,t.clazz,i):this.drawSingleLineMarker(o,e,t.clazz+" ace_start ace_br15",i)}if(this.i!=-1)for(;this.i<this.element.childElementCount;)this.element.removeChild(this.element.lastChild)}},u.prototype.$getTop=function(i,o){return(i-o.firstRowScreen)*o.lineHeight},u.prototype.drawTextMarker=function(i,o,r,t,e){for(var n=this.session,s=o.start.row,h=o.end.row,f=s,C=0,v=0,p=n.getScreenLastRowColumn(f),a=new E(f,o.start.column,f,v);f<=h;f++)a.start.row=a.end.row=f,a.start.column=f==s?o.start.column:n.getRowWrapIndent(f),a.end.column=p,C=v,v=p,p=f+1<h?n.getScreenLastRowColumn(f+1):f==h?0:o.end.column,this.drawSingleLineMarker(i,a,r+(f==s?" ace_start":"")+" ace_br"+l(f==s||f==s+1&&o.start.column,C<v,v>p,f==h),t,f==h?0:1,e)},u.prototype.drawMultiLineMarker=function(i,o,r,t,e){var n=this.$padding,s=t.lineHeight,h=this.$getTop(o.start.row,t),f=n+o.start.column*t.characterWidth;if(e=e||"",this.session.$bidiHandler.isBidiRow(o.start.row)){var C=o.clone();C.end.row=C.start.row,C.end.column=this.session.getLine(C.start.row).length,this.drawBidiSingleLineMarker(i,C,r+" ace_br1 ace_start",t,null,e)}else this.elt(r+" ace_br1 ace_start","height:"+s+"px;right:"+n+"px;top:"+h+"px;left:"+f+"px;"+(e||""));if(this.session.$bidiHandler.isBidiRow(o.end.row)){var C=o.clone();C.start.row=C.end.row,C.start.column=0,this.drawBidiSingleLineMarker(i,C,r+" ace_br12",t,null,e)}else{h=this.$getTop(o.end.row,t);var v=o.end.column*t.characterWidth;this.elt(r+" ace_br12","height:"+s+"px;width:"+v+"px;top:"+h+"px;left:"+n+"px;"+(e||""))}if(s=(o.end.row-o.start.row-1)*t.lineHeight,!(s<=0)){h=this.$getTop(o.start.row+1,t);var p=(o.start.column?1:0)|(o.end.column?0:8);this.elt(r+(p?" ace_br"+p:""),"height:"+s+"px;right:"+n+"px;top:"+h+"px;left:"+n+"px;"+(e||""))}},u.prototype.drawSingleLineMarker=function(i,o,r,t,e,n){if(this.session.$bidiHandler.isBidiRow(o.start.row))return this.drawBidiSingleLineMarker(i,o,r,t,e,n);var s=t.lineHeight,h=(o.end.column+(e||0)-o.start.column)*t.characterWidth,f=this.$getTop(o.start.row,t),C=this.$padding+o.start.column*t.characterWidth;this.elt(r,"height:"+s+"px;width:"+h+"px;top:"+f+"px;left:"+C+"px;"+(n||""))},u.prototype.drawBidiSingleLineMarker=function(i,o,r,t,e,n){var s=t.lineHeight,h=this.$getTop(o.start.row,t),f=this.$padding,C=this.session.$bidiHandler.getSelections(o.start.column,o.end.column);C.forEach(function(v){this.elt(r,"height:"+s+"px;width:"+(v.width+(e||0))+"px;top:"+h+"px;left:"+(f+v.left)+"px;"+(n||""))},this)},u.prototype.drawFullLineMarker=function(i,o,r,t,e){var n=this.$getTop(o.start.row,t),s=t.lineHeight;o.start.row!=o.end.row&&(s+=this.$getTop(o.end.row,t)-n),this.elt(r,"height:"+s+"px;top:"+n+"px;left:0;right:0;"+(e||""))},u.prototype.drawScreenLineMarker=function(i,o,r,t,e){var n=this.$getTop(o.start.row,t),s=t.lineHeight;this.elt(r,"height:"+s+"px;top:"+n+"px;left:0;right:0;"+(e||""))},u}();A.prototype.$padding=0;function l(u,i,o,r){return(u?1:0)|(i?2:0)|(o?4:0)|(r?8:0)}k.Marker=A}),ace.define("ace/layer/text_util",["require","exports","module"],function(R,k,z){var E=new Set(["text","rparen","lparen"]);k.isTextToken=function(L){return E.has(L)}}),ace.define("ace/layer/text",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/layer/lines","ace/lib/event_emitter","ace/config","ace/layer/text_util"],function(R,k,z){var E=R("../lib/oop"),L=R("../lib/dom"),A=R("../lib/lang"),l=R("./lines").Lines,u=R("../lib/event_emitter").EventEmitter,i=R("../config").nls,o=R("./text_util").isTextToken,r=function(){function t(e){this.dom=L,this.element=this.dom.createElement("div"),this.element.className="ace_layer ace_text-layer",e.appendChild(this.element),this.$updateEolChar=this.$updateEolChar.bind(this),this.$lines=new l(this.element)}return t.prototype.$updateEolChar=function(){var e=this.session.doc,n=e.getNewLineCharacter()==`
|
|
216
|
-
`&&e.getNewLineMode()!="windows",s=n?this.EOL_CHAR_LF:this.EOL_CHAR_CRLF;if(this.EOL_CHAR!=s)return this.EOL_CHAR=s,!0},t.prototype.setPadding=function(e){this.$padding=e,this.element.style.margin="0 "+e+"px"},t.prototype.getLineHeight=function(){return this.$fontMetrics.$characterSize.height||0},t.prototype.getCharacterWidth=function(){return this.$fontMetrics.$characterSize.width||0},t.prototype.$setFontMetrics=function(e){this.$fontMetrics=e,this.$fontMetrics.on("changeCharacterSize",(function(n){this._signal("changeCharacterSize",n)}).bind(this)),this.$pollSizeChanges()},t.prototype.checkForSizeChanges=function(){this.$fontMetrics.checkForSizeChanges()},t.prototype.$pollSizeChanges=function(){return this.$pollSizeChangesTimer=this.$fontMetrics.$pollSizeChanges()},t.prototype.setSession=function(e){this.session=e,e&&this.$computeTabString()},t.prototype.setShowInvisibles=function(e){return this.showInvisibles==e?!1:(this.showInvisibles=e,typeof e=="string"?(this.showSpaces=/tab/i.test(e),this.showTabs=/space/i.test(e),this.showEOL=/eol/i.test(e)):this.showSpaces=this.showTabs=this.showEOL=e,this.$computeTabString(),!0)},t.prototype.setDisplayIndentGuides=function(e){return this.displayIndentGuides==e?!1:(this.displayIndentGuides=e,this.$computeTabString(),!0)},t.prototype.setHighlightIndentGuides=function(e){return this.$highlightIndentGuides===e?!1:(this.$highlightIndentGuides=e,e)},t.prototype.$computeTabString=function(){var e=this.session.getTabSize();this.tabSize=e;for(var n=this.$tabStrings=[0],s=1;s<e+1;s++)if(this.showTabs){var h=this.dom.createElement("span");h.className="ace_invisible ace_invisible_tab",h.textContent=A.stringRepeat(this.TAB_CHAR,s),n.push(h)}else n.push(this.dom.createTextNode(A.stringRepeat(" ",s),this.element));if(this.displayIndentGuides){this.$indentGuideRe=/\s\S| \t|\t |\s$/;var f="ace_indent-guide",C=this.showSpaces?" ace_invisible ace_invisible_space":"",v=this.showSpaces?A.stringRepeat(this.SPACE_CHAR,this.tabSize):A.stringRepeat(" ",this.tabSize),p=this.showTabs?" ace_invisible ace_invisible_tab":"",a=this.showTabs?A.stringRepeat(this.TAB_CHAR,this.tabSize):v,h=this.dom.createElement("span");h.className=f+C,h.textContent=v,this.$tabStrings[" "]=h;var h=this.dom.createElement("span");h.className=f+p,h.textContent=a,this.$tabStrings[" "]=h}},t.prototype.updateLines=function(e,n,s){if(this.config.lastRow!=e.lastRow||this.config.firstRow!=e.firstRow)return this.update(e);this.config=e;for(var h=Math.max(n,e.firstRow),f=Math.min(s,e.lastRow),C=this.element.childNodes,v=0,a=e.firstRow;a<h;a++){var m=this.session.getFoldLine(a);if(m)if(m.containsRow(h)){h=m.start.row;break}else a=m.end.row;v++}for(var p=!1,a=h,m=this.session.getNextFoldLine(a),S=m?m.start.row:1/0;a>S&&(a=m.end.row+1,m=this.session.getNextFoldLine(a,m),S=m?m.start.row:1/0),!(a>f);){var $=C[v++];if($){this.dom.removeChildren($),this.$renderLine($,a,a==S?m:!1),p&&($.style.top=this.$lines.computeLineTop(a,e,this.session)+"px");var w=e.lineHeight*this.session.getRowLength(a)+"px";$.style.height!=w&&(p=!0,$.style.height=w)}a++}if(p)for(;v<this.$lines.cells.length;){var T=this.$lines.cells[v++];T.element.style.top=this.$lines.computeLineTop(T.row,e,this.session)+"px"}},t.prototype.scrollLines=function(e){var n=this.config;if(this.config=e,this.$lines.pageChanged(n,e))return this.update(e);this.$lines.moveContainer(e);var s=e.lastRow,h=n?n.lastRow:-1;if(!n||h<e.firstRow)return this.update(e);if(s<n.firstRow)return this.update(e);if(!n||n.lastRow<e.firstRow)return this.update(e);if(e.lastRow<n.firstRow)return this.update(e);if(n.firstRow<e.firstRow)for(var f=this.session.getFoldedRowCount(n.firstRow,e.firstRow-1);f>0;f--)this.$lines.shift();if(n.lastRow>e.lastRow)for(var f=this.session.getFoldedRowCount(e.lastRow+1,n.lastRow);f>0;f--)this.$lines.pop();e.firstRow<n.firstRow&&this.$lines.unshift(this.$renderLinesFragment(e,e.firstRow,n.firstRow-1)),e.lastRow>n.lastRow&&this.$lines.push(this.$renderLinesFragment(e,n.lastRow+1,e.lastRow)),this.$highlightIndentGuide()},t.prototype.$renderLinesFragment=function(e,n,s){for(var h=[],f=n,C=this.session.getNextFoldLine(f),v=C?C.start.row:1/0;f>v&&(f=C.end.row+1,C=this.session.getNextFoldLine(f,C),v=C?C.start.row:1/0),!(f>s);){var p=this.$lines.createCell(f,e,this.session),a=p.element;this.dom.removeChildren(a),L.setStyle(a.style,"height",this.$lines.computeLineHeight(f,e,this.session)+"px"),L.setStyle(a.style,"top",this.$lines.computeLineTop(f,e,this.session)+"px"),this.$renderLine(a,f,f==v?C:!1),this.$useLineGroups()?a.className="ace_line_group":a.className="ace_line",h.push(p),f++}return h},t.prototype.update=function(e){this.$lines.moveContainer(e),this.config=e;for(var n=e.firstRow,s=e.lastRow,h=this.$lines;h.getLength();)h.pop();h.push(this.$renderLinesFragment(e,n,s))},t.prototype.$renderToken=function(e,n,s,h){for(var f=this,C=/(\t)|( +)|([\x00-\x1f\x80-\xa0\xad\u1680\u180E\u2000-\u200f\u2028\u2029\u202F\u205F\uFEFF\uFFF9-\uFFFC\u2066\u2067\u2068\u202A\u202B\u202D\u202E\u202C\u2069\u2060\u2061\u2062\u2063\u2064\u206A\u206B\u206B\u206C\u206D\u206E\u206F]+)|(\u3000)|([\u1100-\u115F\u11A3-\u11A7\u11FA-\u11FF\u2329-\u232A\u2E80-\u2E99\u2E9B-\u2EF3\u2F00-\u2FD5\u2FF0-\u2FFB\u3001-\u303E\u3041-\u3096\u3099-\u30FF\u3105-\u312D\u3131-\u318E\u3190-\u31BA\u31C0-\u31E3\u31F0-\u321E\u3220-\u3247\u3250-\u32FE\u3300-\u4DBF\u4E00-\uA48C\uA490-\uA4C6\uA960-\uA97C\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFAFF\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE66\uFE68-\uFE6B\uFF01-\uFF60\uFFE0-\uFFE6]|[\uD800-\uDBFF][\uDC00-\uDFFF])/g,v=this.dom.createFragment(this.element),p,a=0;p=C.exec(h);){var m=p[1],S=p[2],$=p[3],w=p[4],T=p[5];if(!(!f.showSpaces&&S)){var b=a!=p.index?h.slice(a,p.index):"";if(a=p.index+p[0].length,b&&v.appendChild(this.dom.createTextNode(b,this.element)),m){var g=f.session.getScreenTabSize(n+p.index);v.appendChild(f.$tabStrings[g].cloneNode(!0)),n+=g-1}else if(S)if(f.showSpaces){var d=this.dom.createElement("span");d.className="ace_invisible ace_invisible_space",d.textContent=A.stringRepeat(f.SPACE_CHAR,S.length),v.appendChild(d)}else v.appendChild(this.dom.createTextNode(S,this.element));else if($){var d=this.dom.createElement("span");d.className="ace_invisible ace_invisible_space ace_invalid",d.textContent=A.stringRepeat(f.SPACE_CHAR,$.length),v.appendChild(d)}else if(w){n+=1;var d=this.dom.createElement("span");d.style.width=f.config.characterWidth*2+"px",d.className=f.showSpaces?"ace_cjk ace_invisible ace_invisible_space":"ace_cjk",d.textContent=f.showSpaces?f.SPACE_CHAR:w,v.appendChild(d)}else if(T){n+=1;var d=this.dom.createElement("span");d.style.width=f.config.characterWidth*2+"px",d.className="ace_cjk",d.textContent=T,v.appendChild(d)}}}if(v.appendChild(this.dom.createTextNode(a?h.slice(a):h,this.element)),o(s.type))e.appendChild(v);else{var c="ace_"+s.type.replace(/\./g," ace_"),d=this.dom.createElement("span");s.type=="fold"&&(d.style.width=s.value.length*this.config.characterWidth+"px",d.setAttribute("title",i("inline-fold.closed.title","Unfold code"))),d.className=c,d.appendChild(v),e.appendChild(d)}return n+h.length},t.prototype.renderIndentGuide=function(e,n,s){var h=n.search(this.$indentGuideRe);if(h<=0||h>=s)return n;if(n[0]==" "){h-=h%this.tabSize;for(var f=h/this.tabSize,C=0;C<f;C++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),n.substr(h)}else if(n[0]==" "){for(var C=0;C<h;C++)e.appendChild(this.$tabStrings[" "].cloneNode(!0));return this.$highlightIndentGuide(),n.substr(h)}return this.$highlightIndentGuide(),n},t.prototype.$highlightIndentGuide=function(){if(!(!this.$highlightIndentGuides||!this.displayIndentGuides)){this.$highlightIndentGuideMarker={indentLevel:void 0,start:void 0,end:void 0,dir:void 0};var e=this.session.doc.$lines;if(e){var n=this.session.selection.getCursor(),s=/^\s*/.exec(this.session.doc.getLine(n.row))[0].length,h=Math.floor(s/this.tabSize);this.$highlightIndentGuideMarker={indentLevel:h,start:n.row};var f=this.session.$bracketHighlight;if(f){for(var C=this.session.$bracketHighlight.ranges,v=0;v<C.length;v++)if(n.row!==C[v].start.row){this.$highlightIndentGuideMarker.end=C[v].start.row+1,n.row>C[v].start.row?this.$highlightIndentGuideMarker.dir=-1:this.$highlightIndentGuideMarker.dir=1;break}}if(!this.$highlightIndentGuideMarker.end&&e[n.row]!==""&&n.column===e[n.row].length){this.$highlightIndentGuideMarker.dir=1;for(var v=n.row+1;v<e.length;v++){var p=e[v],a=/^\s*/.exec(p)[0].length;if(p!==""&&(this.$highlightIndentGuideMarker.end=v,a<=s))break}}this.$renderHighlightIndentGuide()}}},t.prototype.$clearActiveIndentGuide=function(){for(var e=this.element.querySelectorAll(".ace_indent-guide-active"),n=0;n<e.length;n++)e[n].classList.remove("ace_indent-guide-active")},t.prototype.$setIndentGuideActive=function(e,n){var s=this.session.doc.getLine(e.row);if(s!==""){var h=e.element;if(e.element.classList&&e.element.classList.contains("ace_line_group"))if(e.element.childNodes.length>0)h=e.element.childNodes[0];else return;var f=h.childNodes;if(f){var C=f[n-1];C&&C.classList&&C.classList.contains("ace_indent-guide")&&C.classList.add("ace_indent-guide-active")}}},t.prototype.$renderHighlightIndentGuide=function(){if(this.$lines){var e=this.$lines.cells;this.$clearActiveIndentGuide();var n=this.$highlightIndentGuideMarker.indentLevel;if(n!==0)if(this.$highlightIndentGuideMarker.dir===1)for(var s=0;s<e.length;s++){var h=e[s];if(this.$highlightIndentGuideMarker.end&&h.row>=this.$highlightIndentGuideMarker.start+1){if(h.row>=this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(h,n)}}else for(var s=e.length-1;s>=0;s--){var h=e[s];if(this.$highlightIndentGuideMarker.end&&h.row<this.$highlightIndentGuideMarker.start){if(h.row<this.$highlightIndentGuideMarker.end)break;this.$setIndentGuideActive(h,n)}}}},t.prototype.$createLineElement=function(e){var n=this.dom.createElement("div");return n.className="ace_line",n.style.height=this.config.lineHeight+"px",n},t.prototype.$renderWrappedLine=function(e,n,s){var h=0,f=0,C=s[0],v=0,p=this.$createLineElement();e.appendChild(p);for(var a=0;a<n.length;a++){var m=n[a],S=m.value;if(a==0&&this.displayIndentGuides){if(h=S.length,S=this.renderIndentGuide(p,S,C),!S)continue;h-=S.length}if(h+S.length<C)v=this.$renderToken(p,v,m,S),h+=S.length;else{for(;h+S.length>=C;)v=this.$renderToken(p,v,m,S.substring(0,C-h)),S=S.substring(C-h),h=C,p=this.$createLineElement(),e.appendChild(p),p.appendChild(this.dom.createTextNode(A.stringRepeat(" ",s.indent),this.element)),f++,v=0,C=s[f]||Number.MAX_VALUE;S.length!=0&&(h+=S.length,v=this.$renderToken(p,v,m,S))}}s[s.length-1]>this.MAX_LINE_LENGTH&&this.$renderOverflowMessage(p,v,null,"",!0)},t.prototype.$renderSimpleLine=function(e,n){for(var s=0,h=0;h<n.length;h++){var f=n[h],C=f.value;if(!(h==0&&this.displayIndentGuides&&(C=this.renderIndentGuide(e,C),!C))){if(s+C.length>this.MAX_LINE_LENGTH)return this.$renderOverflowMessage(e,s,f,C);s=this.$renderToken(e,s,f,C)}}},t.prototype.$renderOverflowMessage=function(e,n,s,h,f){s&&this.$renderToken(e,n,s,h.slice(0,this.MAX_LINE_LENGTH-n));var C=this.dom.createElement("span");C.className="ace_inline_button ace_keyword ace_toggle_wrap",C.textContent=f?"<hide>":"<click to see more...>",e.appendChild(C)},t.prototype.$renderLine=function(e,n,s){if(!s&&s!=!1&&(s=this.session.getFoldLine(n)),s)var h=this.$getFoldLineTokens(n,s);else var h=this.session.getTokens(n);var f=e;if(h.length){var C=this.session.getRowSplitData(n);if(C&&C.length){this.$renderWrappedLine(e,h,C);var f=e.lastChild}else{var f=e;this.$useLineGroups()&&(f=this.$createLineElement(),e.appendChild(f)),this.$renderSimpleLine(f,h)}}else this.$useLineGroups()&&(f=this.$createLineElement(),e.appendChild(f));if(this.showEOL&&f){s&&(n=s.end.row);var v=this.dom.createElement("span");v.className="ace_invisible ace_invisible_eol",v.textContent=n==this.session.getLength()-1?this.EOF_CHAR:this.EOL_CHAR,f.appendChild(v)}},t.prototype.$getFoldLineTokens=function(e,n){var s=this.session,h=[];function f(v,p,a){for(var m=0,S=0;S+v[m].value.length<p;)if(S+=v[m].value.length,m++,m==v.length)return;if(S!=p){var $=v[m].value.substring(p-S);$.length>a-p&&($=$.substring(0,a-p)),h.push({type:v[m].type,value:$}),S=p+$.length,m+=1}for(;S<a&&m<v.length;){var $=v[m].value;$.length+S>a?h.push({type:v[m].type,value:$.substring(0,a-S)}):h.push(v[m]),S+=$.length,m+=1}}var C=s.getTokens(e);return n.walk(function(v,p,a,m,S){v!=null?h.push({type:"fold",value:v}):(S&&(C=s.getTokens(p)),C.length&&f(C,m,a))},n.end.row,this.session.getLine(n.end.row).length),h},t.prototype.$useLineGroups=function(){return this.session.getUseWrapMode()},t}();r.prototype.EOF_CHAR="¶",r.prototype.EOL_CHAR_LF="¬",r.prototype.EOL_CHAR_CRLF="¤",r.prototype.EOL_CHAR=r.prototype.EOL_CHAR_LF,r.prototype.TAB_CHAR="—",r.prototype.SPACE_CHAR="·",r.prototype.$padding=0,r.prototype.MAX_LINE_LENGTH=1e4,r.prototype.showInvisibles=!1,r.prototype.showSpaces=!1,r.prototype.showTabs=!1,r.prototype.showEOL=!1,r.prototype.displayIndentGuides=!0,r.prototype.$highlightIndentGuides=!0,r.prototype.$tabStrings=[],r.prototype.destroy={},r.prototype.onChangeTabSize=r.prototype.$computeTabString,E.implement(r.prototype,u),k.Text=r}),ace.define("ace/layer/cursor",["require","exports","module","ace/lib/dom"],function(R,k,z){var E=R("../lib/dom"),L=function(){function A(l){this.element=E.createElement("div"),this.element.className="ace_layer ace_cursor-layer",l.appendChild(this.element),this.isVisible=!1,this.isBlinking=!0,this.blinkInterval=1e3,this.smoothBlinking=!1,this.cursors=[],this.cursor=this.addCursor(),E.addCssClass(this.element,"ace_hidden-cursors"),this.$updateCursors=this.$updateOpacity.bind(this)}return A.prototype.$updateOpacity=function(l){for(var u=this.cursors,i=u.length;i--;)E.setStyle(u[i].style,"opacity",l?"":"0")},A.prototype.$startCssAnimation=function(){for(var l=this.cursors,u=l.length;u--;)l[u].style.animationDuration=this.blinkInterval+"ms";this.$isAnimating=!0,setTimeout((function(){this.$isAnimating&&E.addCssClass(this.element,"ace_animate-blinking")}).bind(this))},A.prototype.$stopCssAnimation=function(){this.$isAnimating=!1,E.removeCssClass(this.element,"ace_animate-blinking")},A.prototype.setPadding=function(l){this.$padding=l},A.prototype.setSession=function(l){this.session=l},A.prototype.setBlinking=function(l){l!=this.isBlinking&&(this.isBlinking=l,this.restartTimer())},A.prototype.setBlinkInterval=function(l){l!=this.blinkInterval&&(this.blinkInterval=l,this.restartTimer())},A.prototype.setSmoothBlinking=function(l){l!=this.smoothBlinking&&(this.smoothBlinking=l,E.setCssClass(this.element,"ace_smooth-blinking",l),this.$updateCursors(!0),this.restartTimer())},A.prototype.addCursor=function(){var l=E.createElement("div");return l.className="ace_cursor",this.element.appendChild(l),this.cursors.push(l),l},A.prototype.removeCursor=function(){if(this.cursors.length>1){var l=this.cursors.pop();return l.parentNode.removeChild(l),l}},A.prototype.hideCursor=function(){this.isVisible=!1,E.addCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},A.prototype.showCursor=function(){this.isVisible=!0,E.removeCssClass(this.element,"ace_hidden-cursors"),this.restartTimer()},A.prototype.restartTimer=function(){var l=this.$updateCursors;if(clearInterval(this.intervalId),clearTimeout(this.timeoutId),this.$stopCssAnimation(),this.smoothBlinking&&(this.$isSmoothBlinking=!1,E.removeCssClass(this.element,"ace_smooth-blinking")),l(!0),!this.isBlinking||!this.blinkInterval||!this.isVisible){this.$stopCssAnimation();return}if(this.smoothBlinking&&(this.$isSmoothBlinking=!0,setTimeout((function(){this.$isSmoothBlinking&&E.addCssClass(this.element,"ace_smooth-blinking")}).bind(this))),E.HAS_CSS_ANIMATION)this.$startCssAnimation();else{var u=(function(){this.timeoutId=setTimeout(function(){l(!1)},.6*this.blinkInterval)}).bind(this);this.intervalId=setInterval(function(){l(!0),u()},this.blinkInterval),u()}},A.prototype.getPixelPosition=function(l,u){if(!this.config||!this.session)return{left:0,top:0};l||(l=this.session.selection.getCursor());var i=this.session.documentToScreenPosition(l),o=this.$padding+(this.session.$bidiHandler.isBidiRow(i.row,l.row)?this.session.$bidiHandler.getPosLeft(i.column):i.column*this.config.characterWidth),r=(i.row-(u?this.config.firstRowScreen:0))*this.config.lineHeight;return{left:o,top:r}},A.prototype.isCursorInView=function(l,u){return l.top>=0&&l.top<u.maxHeight},A.prototype.update=function(l){this.config=l;var u=this.session.$selectionMarkers,i=0,o=0;(u===void 0||u.length===0)&&(u=[{cursor:null}]);for(var i=0,r=u.length;i<r;i++){var t=this.getPixelPosition(u[i].cursor,!0);if(!((t.top>l.height+l.offset||t.top<0)&&i>1)){var e=this.cursors[o++]||this.addCursor(),n=e.style;this.drawCursor?this.drawCursor(e,t,l,u[i],this.session):this.isCursorInView(t,l)?(E.setStyle(n,"display","block"),E.translate(e,t.left,t.top),E.setStyle(n,"width",Math.round(l.characterWidth)+"px"),E.setStyle(n,"height",l.lineHeight+"px")):E.setStyle(n,"display","none")}}for(;this.cursors.length>o;)this.removeCursor();var s=this.session.getOverwrite();this.$setOverwrite(s),this.$pixelPos=t,this.restartTimer()},A.prototype.$setOverwrite=function(l){l!=this.overwrite&&(this.overwrite=l,l?E.addCssClass(this.element,"ace_overwrite-cursors"):E.removeCssClass(this.element,"ace_overwrite-cursors"))},A.prototype.destroy=function(){clearInterval(this.intervalId),clearTimeout(this.timeoutId)},A}();L.prototype.$padding=0,L.prototype.drawCursor=null,k.Cursor=L}),ace.define("ace/scrollbar",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(R,k,z){var E=this&&this.__extends||function(){var e=function(n,s){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(h,f){h.__proto__=f}||function(h,f){for(var C in f)Object.prototype.hasOwnProperty.call(f,C)&&(h[C]=f[C])},e(n,s)};return function(n,s){if(typeof s!="function"&&s!==null)throw new TypeError("Class extends value "+String(s)+" is not a constructor or null");e(n,s);function h(){this.constructor=n}n.prototype=s===null?Object.create(s):(h.prototype=s.prototype,new h)}}(),L=R("./lib/oop"),A=R("./lib/dom"),l=R("./lib/event"),u=R("./lib/event_emitter").EventEmitter,i=32768,o=function(){function e(n,s){this.element=A.createElement("div"),this.element.className="ace_scrollbar ace_scrollbar"+s,this.inner=A.createElement("div"),this.inner.className="ace_scrollbar-inner",this.inner.textContent=" ",this.element.appendChild(this.inner),n.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addListener(this.element,"scroll",this.onScroll.bind(this)),l.addListener(this.element,"mousedown",l.preventDefault)}return e.prototype.setVisible=function(n){this.element.style.display=n?"":"none",this.isVisible=n,this.coeff=1},e}();L.implement(o.prototype,u);var r=function(e){E(n,e);function n(s,h){var f=e.call(this,s,"-v")||this;return f.scrollTop=0,f.scrollHeight=0,h.$scrollbarWidth=f.width=A.scrollbarWidth(s.ownerDocument),f.inner.style.width=f.element.style.width=(f.width||15)+5+"px",f.$minWidth=0,f}return n.prototype.onScroll=function(){if(!this.skipEvent){if(this.scrollTop=this.element.scrollTop,this.coeff!=1){var s=this.element.clientHeight/this.scrollHeight;this.scrollTop=this.scrollTop*(1-s)/(this.coeff-s)}this._emit("scroll",{data:this.scrollTop})}this.skipEvent=!1},n.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},n.prototype.setHeight=function(s){this.element.style.height=s+"px"},n.prototype.setScrollHeight=function(s){this.scrollHeight=s,s>i?(this.coeff=i/s,s=i):this.coeff!=1&&(this.coeff=1),this.inner.style.height=s+"px"},n.prototype.setScrollTop=function(s){this.scrollTop!=s&&(this.skipEvent=!0,this.scrollTop=s,this.element.scrollTop=s*this.coeff)},n}(o);r.prototype.setInnerHeight=r.prototype.setScrollHeight;var t=function(e){E(n,e);function n(s,h){var f=e.call(this,s,"-h")||this;return f.scrollLeft=0,f.height=h.$scrollbarWidth,f.inner.style.height=f.element.style.height=(f.height||15)+5+"px",f}return n.prototype.onScroll=function(){this.skipEvent||(this.scrollLeft=this.element.scrollLeft,this._emit("scroll",{data:this.scrollLeft})),this.skipEvent=!1},n.prototype.getHeight=function(){return this.isVisible?this.height:0},n.prototype.setWidth=function(s){this.element.style.width=s+"px"},n.prototype.setInnerWidth=function(s){this.inner.style.width=s+"px"},n.prototype.setScrollWidth=function(s){this.inner.style.width=s+"px"},n.prototype.setScrollLeft=function(s){this.scrollLeft!=s&&(this.skipEvent=!0,this.scrollLeft=this.element.scrollLeft=s)},n}(o);k.ScrollBar=r,k.ScrollBarV=r,k.ScrollBarH=t,k.VScrollBar=r,k.HScrollBar=t}),ace.define("ace/scrollbar_custom",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/event","ace/lib/event_emitter"],function(R,k,z){var E=this&&this.__extends||function(){var t=function(e,n){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(s,h){s.__proto__=h}||function(s,h){for(var f in h)Object.prototype.hasOwnProperty.call(h,f)&&(s[f]=h[f])},t(e,n)};return function(e,n){if(typeof n!="function"&&n!==null)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");t(e,n);function s(){this.constructor=e}e.prototype=n===null?Object.create(n):(s.prototype=n.prototype,new s)}}(),L=R("./lib/oop"),A=R("./lib/dom"),l=R("./lib/event"),u=R("./lib/event_emitter").EventEmitter;A.importCssString(`.ace_editor>.ace_sb-v div, .ace_editor>.ace_sb-h div{
|
|
217
|
-
position: absolute;
|
|
218
|
-
background: rgba(128, 128, 128, 0.6);
|
|
219
|
-
-moz-box-sizing: border-box;
|
|
220
|
-
box-sizing: border-box;
|
|
221
|
-
border: 1px solid #bbb;
|
|
222
|
-
border-radius: 2px;
|
|
223
|
-
z-index: 8;
|
|
224
|
-
}
|
|
225
|
-
.ace_editor>.ace_sb-v, .ace_editor>.ace_sb-h {
|
|
226
|
-
position: absolute;
|
|
227
|
-
z-index: 6;
|
|
228
|
-
background: none;
|
|
229
|
-
overflow: hidden!important;
|
|
230
|
-
}
|
|
231
|
-
.ace_editor>.ace_sb-v {
|
|
232
|
-
z-index: 6;
|
|
233
|
-
right: 0;
|
|
234
|
-
top: 0;
|
|
235
|
-
width: 12px;
|
|
236
|
-
}
|
|
237
|
-
.ace_editor>.ace_sb-v div {
|
|
238
|
-
z-index: 8;
|
|
239
|
-
right: 0;
|
|
240
|
-
width: 100%;
|
|
241
|
-
}
|
|
242
|
-
.ace_editor>.ace_sb-h {
|
|
243
|
-
bottom: 0;
|
|
244
|
-
left: 0;
|
|
245
|
-
height: 12px;
|
|
246
|
-
}
|
|
247
|
-
.ace_editor>.ace_sb-h div {
|
|
248
|
-
bottom: 0;
|
|
249
|
-
height: 100%;
|
|
250
|
-
}
|
|
251
|
-
.ace_editor>.ace_sb_grabbed {
|
|
252
|
-
z-index: 8;
|
|
253
|
-
background: #000;
|
|
254
|
-
}`,"ace_scrollbar.css",!1);var i=function(){function t(e,n){this.element=A.createElement("div"),this.element.className="ace_sb"+n,this.inner=A.createElement("div"),this.inner.className="",this.element.appendChild(this.inner),this.VScrollWidth=12,this.HScrollHeight=12,e.appendChild(this.element),this.setVisible(!1),this.skipEvent=!1,l.addMultiMouseDownListener(this.element,[500,300,300],this,"onMouseDown")}return t.prototype.setVisible=function(e){this.element.style.display=e?"":"none",this.isVisible=e,this.coeff=1},t}();L.implement(i.prototype,u);var o=function(t){E(e,t);function e(n,s){var h=t.call(this,n,"-v")||this;return h.scrollTop=0,h.scrollHeight=0,h.parent=n,h.width=h.VScrollWidth,h.renderer=s,h.inner.style.width=h.element.style.width=(h.width||15)+"px",h.$minWidth=0,h}return e.prototype.onMouseDown=function(n,s){if(n==="mousedown"&&!(l.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var h=this,f=s.clientY,C=function(w){f=w.clientY},v=function(){clearInterval(S)},p=s.clientY,a=this.thumbTop,m=function(){if(f!==void 0){var w=h.scrollTopFromThumbTop(a+f-p);w!==h.scrollTop&&h._emit("scroll",{data:w})}};l.capture(this.inner,C,v);var S=setInterval(m,20);return l.preventDefault(s)}var $=s.clientY-this.element.getBoundingClientRect().top-this.thumbHeight/2;return this._emit("scroll",{data:this.scrollTopFromThumbTop($)}),l.preventDefault(s)}},e.prototype.getHeight=function(){return this.height},e.prototype.scrollTopFromThumbTop=function(n){var s=n*(this.pageHeight-this.viewHeight)/(this.slideHeight-this.thumbHeight);return s=s>>0,s<0?s=0:s>this.pageHeight-this.viewHeight&&(s=this.pageHeight-this.viewHeight),s},e.prototype.getWidth=function(){return Math.max(this.isVisible?this.width:0,this.$minWidth||0)},e.prototype.setHeight=function(n){this.height=Math.max(0,n),this.slideHeight=this.height,this.viewHeight=this.height,this.setScrollHeight(this.pageHeight,!0)},e.prototype.setScrollHeight=function(n,s){this.pageHeight===n&&!s||(this.pageHeight=n,this.thumbHeight=this.slideHeight*this.viewHeight/this.pageHeight,this.thumbHeight>this.slideHeight&&(this.thumbHeight=this.slideHeight),this.thumbHeight<15&&(this.thumbHeight=15),this.inner.style.height=this.thumbHeight+"px",this.scrollTop>this.pageHeight-this.viewHeight&&(this.scrollTop=this.pageHeight-this.viewHeight,this.scrollTop<0&&(this.scrollTop=0),this._emit("scroll",{data:this.scrollTop})))},e.prototype.setScrollTop=function(n){this.scrollTop=n,n<0&&(n=0),this.thumbTop=n*(this.slideHeight-this.thumbHeight)/(this.pageHeight-this.viewHeight),this.inner.style.top=this.thumbTop+"px"},e}(i);o.prototype.setInnerHeight=o.prototype.setScrollHeight;var r=function(t){E(e,t);function e(n,s){var h=t.call(this,n,"-h")||this;return h.scrollLeft=0,h.scrollWidth=0,h.height=h.HScrollHeight,h.inner.style.height=h.element.style.height=(h.height||12)+"px",h.renderer=s,h}return e.prototype.onMouseDown=function(n,s){if(n==="mousedown"&&!(l.getButton(s)!==0||s.detail===2)){if(s.target===this.inner){var h=this,f=s.clientX,C=function(w){f=w.clientX},v=function(){clearInterval(S)},p=s.clientX,a=this.thumbLeft,m=function(){if(f!==void 0){var w=h.scrollLeftFromThumbLeft(a+f-p);w!==h.scrollLeft&&h._emit("scroll",{data:w})}};l.capture(this.inner,C,v);var S=setInterval(m,20);return l.preventDefault(s)}var $=s.clientX-this.element.getBoundingClientRect().left-this.thumbWidth/2;return this._emit("scroll",{data:this.scrollLeftFromThumbLeft($)}),l.preventDefault(s)}},e.prototype.getHeight=function(){return this.isVisible?this.height:0},e.prototype.scrollLeftFromThumbLeft=function(n){var s=n*(this.pageWidth-this.viewWidth)/(this.slideWidth-this.thumbWidth);return s=s>>0,s<0?s=0:s>this.pageWidth-this.viewWidth&&(s=this.pageWidth-this.viewWidth),s},e.prototype.setWidth=function(n){this.width=Math.max(0,n),this.element.style.width=this.width+"px",this.slideWidth=this.width,this.viewWidth=this.width,this.setScrollWidth(this.pageWidth,!0)},e.prototype.setScrollWidth=function(n,s){this.pageWidth===n&&!s||(this.pageWidth=n,this.thumbWidth=this.slideWidth*this.viewWidth/this.pageWidth,this.thumbWidth>this.slideWidth&&(this.thumbWidth=this.slideWidth),this.thumbWidth<15&&(this.thumbWidth=15),this.inner.style.width=this.thumbWidth+"px",this.scrollLeft>this.pageWidth-this.viewWidth&&(this.scrollLeft=this.pageWidth-this.viewWidth,this.scrollLeft<0&&(this.scrollLeft=0),this._emit("scroll",{data:this.scrollLeft})))},e.prototype.setScrollLeft=function(n){this.scrollLeft=n,n<0&&(n=0),this.thumbLeft=n*(this.slideWidth-this.thumbWidth)/(this.pageWidth-this.viewWidth),this.inner.style.left=this.thumbLeft+"px"},e}(i);r.prototype.setInnerWidth=r.prototype.setScrollWidth,k.ScrollBar=o,k.ScrollBarV=o,k.ScrollBarH=r,k.VScrollBar=o,k.HScrollBar=r}),ace.define("ace/renderloop",["require","exports","module","ace/lib/event"],function(R,k,z){var E=R("./lib/event"),L=function(){function A(l,u){this.onRender=l,this.pending=!1,this.changes=0,this.$recursionLimit=2,this.window=u||window;var i=this;this._flush=function(o){i.pending=!1;var r=i.changes;if(r&&(E.blockIdle(100),i.changes=0,i.onRender(r)),i.changes){if(i.$recursionLimit--<0)return;i.schedule()}else i.$recursionLimit=2}}return A.prototype.schedule=function(l){this.changes=this.changes|l,this.changes&&!this.pending&&(E.nextFrame(this._flush),this.pending=!0)},A.prototype.clear=function(l){var u=this.changes;return this.changes=0,u},A}();k.RenderLoop=L}),ace.define("ace/layer/font_metrics",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/lib/event","ace/lib/useragent","ace/lib/event_emitter"],function(R,k,z){var E=R("../lib/oop"),L=R("../lib/dom"),A=R("../lib/lang"),l=R("../lib/event"),u=R("../lib/useragent"),i=R("../lib/event_emitter").EventEmitter,o=512,r=typeof ResizeObserver=="function",t=200,e=function(){function n(s){this.el=L.createElement("div"),this.$setMeasureNodeStyles(this.el.style,!0),this.$main=L.createElement("div"),this.$setMeasureNodeStyles(this.$main.style),this.$measureNode=L.createElement("div"),this.$setMeasureNodeStyles(this.$measureNode.style),this.el.appendChild(this.$main),this.el.appendChild(this.$measureNode),s.appendChild(this.el),this.$measureNode.textContent=A.stringRepeat("X",o),this.$characterSize={width:0,height:0},r?this.$addObserver():this.checkForSizeChanges()}return n.prototype.$setMeasureNodeStyles=function(s,h){s.width=s.height="auto",s.left=s.top="0px",s.visibility="hidden",s.position="absolute",s.whiteSpace="pre",u.isIE<8?s["font-family"]="inherit":s.font="inherit",s.overflow=h?"hidden":"visible"},n.prototype.checkForSizeChanges=function(s){if(s===void 0&&(s=this.$measureSizes()),s&&(this.$characterSize.width!==s.width||this.$characterSize.height!==s.height)){this.$measureNode.style.fontWeight="bold";var h=this.$measureSizes();this.$measureNode.style.fontWeight="",this.$characterSize=s,this.charSizes=Object.create(null),this.allowBoldFonts=h&&h.width===s.width&&h.height===s.height,this._emit("changeCharacterSize",{data:s})}},n.prototype.$addObserver=function(){var s=this;this.$observer=new window.ResizeObserver(function(h){s.checkForSizeChanges()}),this.$observer.observe(this.$measureNode)},n.prototype.$pollSizeChanges=function(){if(this.$pollSizeChangesTimer||this.$observer)return this.$pollSizeChangesTimer;var s=this;return this.$pollSizeChangesTimer=l.onIdle(function h(){s.checkForSizeChanges(),l.onIdle(h,500)},500)},n.prototype.setPolling=function(s){s?this.$pollSizeChanges():this.$pollSizeChangesTimer&&(clearInterval(this.$pollSizeChangesTimer),this.$pollSizeChangesTimer=0)},n.prototype.$measureSizes=function(s){var h={height:(s||this.$measureNode).clientHeight,width:(s||this.$measureNode).clientWidth/o};return h.width===0||h.height===0?null:h},n.prototype.$measureCharWidth=function(s){this.$main.textContent=A.stringRepeat(s,o);var h=this.$main.getBoundingClientRect();return h.width/o},n.prototype.getCharacterWidth=function(s){var h=this.charSizes[s];return h===void 0&&(h=this.charSizes[s]=this.$measureCharWidth(s)/this.$characterSize.width),h},n.prototype.destroy=function(){clearInterval(this.$pollSizeChangesTimer),this.$observer&&this.$observer.disconnect(),this.el&&this.el.parentNode&&this.el.parentNode.removeChild(this.el)},n.prototype.$getZoom=function(s){return!s||!s.parentElement?1:(Number(window.getComputedStyle(s).zoom)||1)*this.$getZoom(s.parentElement)},n.prototype.$initTransformMeasureNodes=function(){var s=function(h,f){return["div",{style:"position: absolute;top:"+h+"px;left:"+f+"px;"}]};this.els=L.buildDom([s(0,0),s(t,0),s(0,t),s(t,t)],this.el)},n.prototype.transformCoordinates=function(s,h){if(s){var f=this.$getZoom(this.el);s=a(1/f,s)}function C(_,D,H){var N=_[1]*D[0]-_[0]*D[1];return[(-D[1]*H[0]+D[0]*H[1])/N,(+_[1]*H[0]-_[0]*H[1])/N]}function v(_,D){return[_[0]-D[0],_[1]-D[1]]}function p(_,D){return[_[0]+D[0],_[1]+D[1]]}function a(_,D){return[_*D[0],_*D[1]]}this.els||this.$initTransformMeasureNodes();function m(_){var D=_.getBoundingClientRect();return[D.left,D.top]}var S=m(this.els[0]),$=m(this.els[1]),w=m(this.els[2]),T=m(this.els[3]),b=C(v(T,$),v(T,w),v(p($,w),p(T,S))),g=a(1+b[0],v($,S)),d=a(1+b[1],v(w,S));if(h){var c=h,y=b[0]*c[0]/t+b[1]*c[1]/t+1,M=p(a(c[0],g),a(c[1],d));return p(a(1/y/t,M),S)}var x=v(s,S),I=C(v(g,a(b[0],x)),v(d,a(b[1],x)),x);return a(t,I)},n}();e.prototype.$characterSize={width:0,height:0},E.implement(e.prototype,i),k.FontMetrics=e}),ace.define("ace/css/editor-css",["require","exports","module"],function(R,k,z){z.exports=`
|
|
255
|
-
.ace_br1 {border-top-left-radius : 3px;}
|
|
256
|
-
.ace_br2 {border-top-right-radius : 3px;}
|
|
257
|
-
.ace_br3 {border-top-left-radius : 3px; border-top-right-radius: 3px;}
|
|
258
|
-
.ace_br4 {border-bottom-right-radius: 3px;}
|
|
259
|
-
.ace_br5 {border-top-left-radius : 3px; border-bottom-right-radius: 3px;}
|
|
260
|
-
.ace_br6 {border-top-right-radius : 3px; border-bottom-right-radius: 3px;}
|
|
261
|
-
.ace_br7 {border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px;}
|
|
262
|
-
.ace_br8 {border-bottom-left-radius : 3px;}
|
|
263
|
-
.ace_br9 {border-top-left-radius : 3px; border-bottom-left-radius: 3px;}
|
|
264
|
-
.ace_br10{border-top-right-radius : 3px; border-bottom-left-radius: 3px;}
|
|
265
|
-
.ace_br11{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
266
|
-
.ace_br12{border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
267
|
-
.ace_br13{border-top-left-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
268
|
-
.ace_br14{border-top-right-radius : 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
269
|
-
.ace_br15{border-top-left-radius : 3px; border-top-right-radius: 3px; border-bottom-right-radius: 3px; border-bottom-left-radius: 3px;}
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
.ace_editor {
|
|
273
|
-
position: relative;
|
|
274
|
-
overflow: hidden;
|
|
275
|
-
padding: 0;
|
|
276
|
-
font: 12px/normal 'Monaco', 'Menlo', 'Ubuntu Mono', 'Consolas', 'Source Code Pro', 'source-code-pro', monospace;
|
|
277
|
-
direction: ltr;
|
|
278
|
-
text-align: left;
|
|
279
|
-
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
|
|
280
|
-
forced-color-adjust: none;
|
|
281
|
-
}
|
|
282
|
-
|
|
283
|
-
.ace_scroller {
|
|
284
|
-
position: absolute;
|
|
285
|
-
overflow: hidden;
|
|
286
|
-
top: 0;
|
|
287
|
-
bottom: 0;
|
|
288
|
-
background-color: inherit;
|
|
289
|
-
-ms-user-select: none;
|
|
290
|
-
-moz-user-select: none;
|
|
291
|
-
-webkit-user-select: none;
|
|
292
|
-
user-select: none;
|
|
293
|
-
cursor: text;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
.ace_content {
|
|
297
|
-
position: absolute;
|
|
298
|
-
box-sizing: border-box;
|
|
299
|
-
min-width: 100%;
|
|
300
|
-
contain: style size layout;
|
|
301
|
-
font-variant-ligatures: no-common-ligatures;
|
|
302
|
-
}
|
|
303
|
-
.ace_invisible {
|
|
304
|
-
font-variant-ligatures: none;
|
|
305
|
-
}
|
|
306
|
-
|
|
307
|
-
.ace_keyboard-focus:focus {
|
|
308
|
-
box-shadow: inset 0 0 0 2px #5E9ED6;
|
|
309
|
-
outline: none;
|
|
310
|
-
}
|
|
311
|
-
|
|
312
|
-
.ace_dragging .ace_scroller:before{
|
|
313
|
-
position: absolute;
|
|
314
|
-
top: 0;
|
|
315
|
-
left: 0;
|
|
316
|
-
right: 0;
|
|
317
|
-
bottom: 0;
|
|
318
|
-
content: '';
|
|
319
|
-
background: rgba(250, 250, 250, 0.01);
|
|
320
|
-
z-index: 1000;
|
|
321
|
-
}
|
|
322
|
-
.ace_dragging.ace_dark .ace_scroller:before{
|
|
323
|
-
background: rgba(0, 0, 0, 0.01);
|
|
324
|
-
}
|
|
325
|
-
|
|
326
|
-
.ace_gutter {
|
|
327
|
-
position: absolute;
|
|
328
|
-
overflow : hidden;
|
|
329
|
-
width: auto;
|
|
330
|
-
top: 0;
|
|
331
|
-
bottom: 0;
|
|
332
|
-
left: 0;
|
|
333
|
-
cursor: default;
|
|
334
|
-
z-index: 4;
|
|
335
|
-
-ms-user-select: none;
|
|
336
|
-
-moz-user-select: none;
|
|
337
|
-
-webkit-user-select: none;
|
|
338
|
-
user-select: none;
|
|
339
|
-
contain: style size layout;
|
|
340
|
-
}
|
|
341
|
-
|
|
342
|
-
.ace_gutter-active-line {
|
|
343
|
-
position: absolute;
|
|
344
|
-
left: 0;
|
|
345
|
-
right: 0;
|
|
346
|
-
}
|
|
347
|
-
|
|
348
|
-
.ace_scroller.ace_scroll-left:after {
|
|
349
|
-
content: "";
|
|
350
|
-
position: absolute;
|
|
351
|
-
top: 0;
|
|
352
|
-
right: 0;
|
|
353
|
-
bottom: 0;
|
|
354
|
-
left: 0;
|
|
355
|
-
box-shadow: 17px 0 16px -16px rgba(0, 0, 0, 0.4) inset;
|
|
356
|
-
pointer-events: none;
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
.ace_gutter-cell, .ace_gutter-cell_svg-icons {
|
|
360
|
-
position: absolute;
|
|
361
|
-
top: 0;
|
|
362
|
-
left: 0;
|
|
363
|
-
right: 0;
|
|
364
|
-
padding-left: 19px;
|
|
365
|
-
padding-right: 6px;
|
|
366
|
-
background-repeat: no-repeat;
|
|
367
|
-
}
|
|
368
|
-
|
|
369
|
-
.ace_gutter-cell_svg-icons .ace_gutter_annotation {
|
|
370
|
-
margin-left: -14px;
|
|
371
|
-
float: left;
|
|
372
|
-
}
|
|
373
|
-
|
|
374
|
-
.ace_gutter-cell .ace_gutter_annotation {
|
|
375
|
-
margin-left: -19px;
|
|
376
|
-
float: left;
|
|
377
|
-
}
|
|
378
|
-
|
|
379
|
-
.ace_gutter-cell.ace_error, .ace_icon.ace_error, .ace_icon.ace_error_fold, .ace_gutter-cell.ace_security, .ace_icon.ace_security, .ace_icon.ace_security_fold {
|
|
380
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAABOFBMVEX/////////QRswFAb/Ui4wFAYwFAYwFAaWGAfDRymzOSH/PxswFAb/SiUwFAYwFAbUPRvjQiDllog5HhHdRybsTi3/Tyv9Tir+Syj/UC3////XurebMBIwFAb/RSHbPx/gUzfdwL3kzMivKBAwFAbbvbnhPx66NhowFAYwFAaZJg8wFAaxKBDZurf/RB6mMxb/SCMwFAYwFAbxQB3+RB4wFAb/Qhy4Oh+4QifbNRcwFAYwFAYwFAb/QRzdNhgwFAYwFAbav7v/Uy7oaE68MBK5LxLewr/r2NXewLswFAaxJw4wFAbkPRy2PyYwFAaxKhLm1tMwFAazPiQwFAaUGAb/QBrfOx3bvrv/VC/maE4wFAbRPBq6MRO8Qynew8Dp2tjfwb0wFAbx6eju5+by6uns4uH9/f36+vr/GkHjAAAAYnRSTlMAGt+64rnWu/bo8eAA4InH3+DwoN7j4eLi4xP99Nfg4+b+/u9B/eDs1MD1mO7+4PHg2MXa347g7vDizMLN4eG+Pv7i5evs/v79yu7S3/DV7/498Yv24eH+4ufQ3Ozu/v7+y13sRqwAAADLSURBVHjaZc/XDsFgGIBhtDrshlitmk2IrbHFqL2pvXf/+78DPokj7+Fz9qpU/9UXJIlhmPaTaQ6QPaz0mm+5gwkgovcV6GZzd5JtCQwgsxoHOvJO15kleRLAnMgHFIESUEPmawB9ngmelTtipwwfASilxOLyiV5UVUyVAfbG0cCPHig+GBkzAENHS0AstVF6bacZIOzgLmxsHbt2OecNgJC83JERmePUYq8ARGkJx6XtFsdddBQgZE2nPR6CICZhawjA4Fb/chv+399kfR+MMMDGOQAAAABJRU5ErkJggg==");
|
|
381
|
-
background-repeat: no-repeat;
|
|
382
|
-
background-position: 2px center;
|
|
383
|
-
}
|
|
384
|
-
|
|
385
|
-
.ace_gutter-cell.ace_warning, .ace_icon.ace_warning, .ace_icon.ace_warning_fold {
|
|
386
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAmVBMVEX///8AAAD///8AAAAAAABPSzb/5sAAAAB/blH/73z/ulkAAAAAAAD85pkAAAAAAAACAgP/vGz/rkDerGbGrV7/pkQICAf////e0IsAAAD/oED/qTvhrnUAAAD/yHD/njcAAADuv2r/nz//oTj/p064oGf/zHAAAAA9Nir/tFIAAAD/tlTiuWf/tkIAAACynXEAAAAAAAAtIRW7zBpBAAAAM3RSTlMAABR1m7RXO8Ln31Z36zT+neXe5OzooRDfn+TZ4p3h2hTf4t3k3ucyrN1K5+Xaks52Sfs9CXgrAAAAjklEQVR42o3PbQ+CIBQFYEwboPhSYgoYunIqqLn6/z8uYdH8Vmdnu9vz4WwXgN/xTPRD2+sgOcZjsge/whXZgUaYYvT8QnuJaUrjrHUQreGczuEafQCO/SJTufTbroWsPgsllVhq3wJEk2jUSzX3CUEDJC84707djRc5MTAQxoLgupWRwW6UB5fS++NV8AbOZgnsC7BpEAAAAABJRU5ErkJggg==");
|
|
387
|
-
background-repeat: no-repeat;
|
|
388
|
-
background-position: 2px center;
|
|
389
|
-
}
|
|
390
|
-
|
|
391
|
-
.ace_gutter-cell.ace_info, .ace_icon.ace_info, .ace_gutter-cell.ace_hint, .ace_icon.ace_hint {
|
|
392
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAJ0Uk5TAAB2k804AAAAPklEQVQY02NgIB68QuO3tiLznjAwpKTgNyDbMegwisCHZUETUZV0ZqOquBpXj2rtnpSJT1AEnnRmL2OgGgAAIKkRQap2htgAAAAASUVORK5CYII=");
|
|
393
|
-
background-repeat: no-repeat;
|
|
394
|
-
background-position: 2px center;
|
|
395
|
-
}
|
|
396
|
-
|
|
397
|
-
.ace_dark .ace_gutter-cell.ace_info, .ace_dark .ace_icon.ace_info, .ace_dark .ace_gutter-cell.ace_hint, .ace_dark .ace_icon.ace_hint {
|
|
398
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQBAMAAADt3eJSAAAAJFBMVEUAAAChoaGAgIAqKiq+vr6tra1ZWVmUlJSbm5s8PDxubm56enrdgzg3AAAAAXRSTlMAQObYZgAAAClJREFUeNpjYMAPdsMYHegyJZFQBlsUlMFVCWUYKkAZMxZAGdxlDMQBAG+TBP4B6RyJAAAAAElFTkSuQmCC");
|
|
399
|
-
}
|
|
400
|
-
|
|
401
|
-
.ace_icon_svg.ace_error {
|
|
402
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJyZWQiIHNoYXBlLXJlbmRlcmluZz0iZ2VvbWV0cmljUHJlY2lzaW9uIj4KPGNpcmNsZSBmaWxsPSJub25lIiBjeD0iOCIgY3k9IjgiIHI9IjciIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPGxpbmUgeDE9IjExIiB5MT0iNSIgeDI9IjUiIHkyPSIxMSIvPgo8bGluZSB4MT0iMTEiIHkxPSIxMSIgeDI9IjUiIHkyPSI1Ii8+CjwvZz4KPC9zdmc+");
|
|
403
|
-
background-color: crimson;
|
|
404
|
-
}
|
|
405
|
-
.ace_icon_svg.ace_security {
|
|
406
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0iZGFya29yYW5nZSIgZmlsbD0ibm9uZSIgc2hhcGUtcmVuZGVyaW5nPSJnZW9tZXRyaWNQcmVjaXNpb24iPgogICAgICAgIDxwYXRoIGNsYXNzPSJzdHJva2UtbGluZWpvaW4tcm91bmQiIGQ9Ik04IDE0LjgzMDdDOCAxNC44MzA3IDIgMTIuOTA0NyAyIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOEM3Ljk4OTk5IDEuMzQ5MTggMTAuNjkgMy4yNjU0OCAxNCAzLjI2NTQ4VjguMDg5OTJDMTQgMTIuOTA0NyA4IDE0LjgzMDcgOCAxNC44MzA3WiIvPgogICAgICAgIDxwYXRoIGQ9Ik0yIDguMDg5OTJWMy4yNjU0OEM1LjMxIDMuMjY1NDggNy45ODk5OSAxLjM0OTE4IDcuOTg5OTkgMS4zNDkxOCIvPgogICAgICAgIDxwYXRoIGQ9Ik0xMy45OSA4LjA4OTkyVjMuMjY1NDhDMTAuNjggMy4yNjU0OCA4IDEuMzQ5MTggOCAxLjM0OTE4Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggNFY5Ii8+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTggMTBWMTIiLz4KICAgIDwvZz4KPC9zdmc+");
|
|
407
|
-
background-color: crimson;
|
|
408
|
-
}
|
|
409
|
-
.ace_icon_svg.ace_warning {
|
|
410
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJkYXJrb3JhbmdlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+Cjxwb2x5Z29uIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGZpbGw9Im5vbmUiIHBvaW50cz0iOCAxIDE1IDE1IDEgMTUgOCAxIi8+CjxyZWN0IHg9IjgiIHk9IjEyIiB3aWR0aD0iMC4wMSIgaGVpZ2h0PSIwLjAxIi8+CjxsaW5lIHgxPSI4IiB5MT0iNiIgeDI9IjgiIHkyPSIxMCIvPgo8L2c+Cjwvc3ZnPg==");
|
|
411
|
-
background-color: darkorange;
|
|
412
|
-
}
|
|
413
|
-
.ace_icon_svg.ace_info {
|
|
414
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiI+CjxnIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlPSJibHVlIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CjxjaXJjbGUgZmlsbD0ibm9uZSIgY3g9IjgiIGN5PSI4IiByPSI3IiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjxwb2x5bGluZSBwb2ludHM9IjggMTEgOCA4Ii8+Cjxwb2x5bGluZSBwb2ludHM9IjkgOCA2IDgiLz4KPGxpbmUgeDE9IjEwIiB5MT0iMTEiIHgyPSI2IiB5Mj0iMTEiLz4KPHJlY3QgeD0iOCIgeT0iNSIgd2lkdGg9IjAuMDEiIGhlaWdodD0iMC4wMSIvPgo8L2c+Cjwvc3ZnPg==");
|
|
415
|
-
background-color: royalblue;
|
|
416
|
-
}
|
|
417
|
-
.ace_icon_svg.ace_hint {
|
|
418
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgICA8ZyBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZT0ic2lsdmVyIiBmaWxsPSJub25lIiBzaGFwZS1yZW5kZXJpbmc9Imdlb21ldHJpY1ByZWNpc2lvbiI+CiAgICAgICAgPHBhdGggY2xhc3M9InN0cm9rZS1saW5lam9pbi1yb3VuZCIgZD0iTTYgMTRIMTAiLz4KICAgICAgICA8cGF0aCBkPSJNOCAxMUg5QzkgOS40NzAwMiAxMiA4LjU0MDAyIDEyIDUuNzYwMDJDMTIuMDIgNC40MDAwMiAxMS4zOSAzLjM2MDAyIDEwLjQzIDIuNjcwMDJDOSAxLjY0MDAyIDcuMDAwMDEgMS42NDAwMiA1LjU3MDAxIDIuNjcwMDJDNC42MTAwMSAzLjM2MDAyIDMuOTggNC40MDAwMiA0IDUuNzYwMDJDNCA4LjU0MDAyIDcuMDAwMDEgOS40NzAwMiA3LjAwMDAxIDExSDhaIi8+CiAgICA8L2c+Cjwvc3ZnPg==");
|
|
419
|
-
background-color: silver;
|
|
420
|
-
}
|
|
421
|
-
|
|
422
|
-
.ace_icon_svg.ace_error_fold {
|
|
423
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSI+CiAgPHBhdGggZD0ibSAxOC45Mjk4NTEsNy44Mjk4MDc2IGMgMC4xNDYzNTMsNi4zMzc0NjA0IC02LjMyMzE0Nyw3Ljc3Nzg0NDQgLTcuNDc3OTEyLDcuNzc3ODQ0NCAtMi4xMDcyNzI2LC0wLjEyODc1IDUuMTE3Njc4LDAuMzU2MjQ5IDUuMDUxNjk4LC03Ljg3MDA2MTggLTAuNjA0NjcyLC04LjAwMzk3MzQ5IC03LjA3NzI3MDYsLTcuNTYzMTE4OSAtNC44NTczLC03LjQzMDM5NTU2IDEuNjA2LC0wLjExNTE0MjI1IDYuODk3NDg1LDEuMjYyNTQ1OTYgNy4yODM1MTQsNy41MjI2MTI5NiB6IiBmaWxsPSJjcmltc29uIiBzdHJva2Utd2lkdGg9IjIiLz4KICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibSA4LjExNDc1NjIsMi4wNTI5ODI4IGMgMy4zNDkxNjk4LDAgNi4wNjQxMzI4LDIuNjc2ODYyNyA2LjA2NDEzMjgsNS45Nzg5NTMgMCwzLjMwMjExMjIgLTIuNzE0OTYzLDUuOTc4OTIwMiAtNi4wNjQxMzI4LDUuOTc4OTIwMiAtMy4zNDkxNDczLDAgLTYuMDY0MTc3MiwtMi42NzY4MDggLTYuMDY0MTc3MiwtNS45Nzg5MjAyIDAuMDA1MzksLTMuMjk5ODg2MSAyLjcxNzI2NTYsLTUuOTczNjQwOCA2LjA2NDE3NzIsLTUuOTc4OTUzIHogbSAwLC0xLjczNTgyNzE5IGMgLTQuMzIxNDgzNiwwIC03LjgyNDc0MDM4LDMuNDU0MDE4NDkgLTcuODI0NzQwMzgsNy43MTQ3ODAxOSAwLDQuMjYwNzI4MiAzLjUwMzI1Njc4LDcuNzE0NzQ1MiA3LjgyNDc0MDM4LDcuNzE0NzQ1MiA0LjMyMTQ0OTgsMCA3LjgyNDY5OTgsLTMuNDU0MDE3IDcuODI0Njk5OCwtNy43MTQ3NDUyIDAsLTIuMDQ2MDkxNCAtMC44MjQzOTIsLTQuMDA4MzY3MiAtMi4yOTE3NTYsLTUuNDU1MTc0NiBDIDEyLjE4MDIyNSwxLjEyOTk2NDggMTAuMTkwMDEzLDAuMzE3MTU1NjEgOC4xMTQ3NTYyLDAuMzE3MTU1NjEgWiBNIDYuOTM3NDU2Myw4LjI0MDU5ODUgNC42NzE4Njg1LDEwLjQ4NTg1MiA2LjAwODY4MTQsMTEuODc2NzI4IDguMzE3MDAzNSw5LjYwMDc5MTEgMTAuNjI1MzM3LDExLjg3NjcyOCAxMS45NjIxMzgsMTAuNDg1ODUyIDkuNjk2NTUwOCw4LjI0MDU5ODUgMTEuOTYyMTM4LDYuMDA2ODA2NiAxMC41NzMyNDYsNC42Mzc0MzM1IDguMzE3MDAzNSw2Ljg3MzQyOTcgNi4wNjA3NjA3LDQuNjM3NDMzNSA0LjY3MTg2ODUsNi4wMDY4MDY2IFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
|
424
|
-
background-color: crimson;
|
|
425
|
-
}
|
|
426
|
-
.ace_icon_svg.ace_security_fold {
|
|
427
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTcgMTQiIGZpbGw9Im5vbmUiPgogICAgPHBhdGggZD0iTTEwLjAwMDEgMTMuNjk5MkMxMC4wMDAxIDEzLjY5OTIgMTEuOTI0MSAxMy40NzYzIDEzIDEyLjY5OTJDMTQuNDEzOSAxMS42NzgxIDE2IDEwLjUgMTYuMTI1MSA2LjgxMTI2VjIuNTg5ODdDMTYuMTI1MSAyLjU0NzY4IDE2LjEyMjEgMi41MDYxOSAxNi4xMTY0IDIuNDY1NTlWMS43MTQ4NUgxNS4yNDE0TDE1LjIzMDcgMS43MTQ4NEwxNC42MjUxIDEuNjk5MjJWNi44MTEyM0MxNC42MjUxIDguNTEwNjEgMTQuNjI1MSA5LjQ2NDYxIDEyLjc4MjQgMTEuNzIxQzEyLjE1ODYgMTIuNDg0OCAxMC4wMDAxIDEzLjY5OTIgMTAuMDAwMSAxMy42OTkyWiIgZmlsbD0iY3JpbXNvbiIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcuMzM2MDkgMC4zNjc0NzVDNy4wMzIxNCAwLjE1MjY1MiA2LjYyNTQ4IDAuMTUzNjE0IDYuMzIyNTMgMC4zNjk5OTdMNi4zMDg2OSAwLjM3OTU1NEM2LjI5NTUzIDAuMzg4NTg4IDYuMjczODggMC40MDMyNjYgNi4yNDQxNyAwLjQyMjc4OUM2LjE4NDcxIDAuNDYxODYgNi4wOTMyMSAwLjUyMDE3MSA1Ljk3MzEzIDAuNTkxMzczQzUuNzMyNTEgMC43MzQwNTkgNS4zNzk5IDAuOTI2ODY0IDQuOTQyNzkgMS4xMjAwOUM0LjA2MTQ0IDEuNTA5NyAyLjg3NTQxIDEuODgzNzcgMS41ODk4NCAxLjg4Mzc3SDAuNzE0ODQ0VjIuNzU4NzdWNi45ODAxNUMwLjcxNDg0NCA5LjQ5Mzc0IDIuMjg4NjYgMTEuMTk3MyAzLjcwMjU0IDEyLjIxODVDNC40MTg0NSAxMi43MzU1IDUuMTI4NzQgMTMuMTA1MyA1LjY1NzMzIDEzLjM0NTdDNS45MjI4NCAxMy40NjY0IDYuMTQ1NjYgMTMuNTU1OSA2LjMwNDY1IDEzLjYxNjFDNi4zODQyMyAxMy42NDYyIDYuNDQ4MDUgMTMuNjY5IDYuNDkzNDkgMTMuNjg0OEM2LjUxNjIyIDEzLjY5MjcgNi41MzQzOCAxMy42OTg5IDYuNTQ3NjQgMTMuNzAzM0w2LjU2MzgyIDEzLjcwODdMNi41NjkwOCAxMy43MTA0TDYuNTcwOTkgMTMuNzExTDYuODM5ODQgMTMuNzUzM0w2LjU3MjQyIDEzLjcxMTVDNi43NDYzMyAxMy43NjczIDYuOTMzMzUgMTMuNzY3MyA3LjEwNzI3IDEzLjcxMTVMNy4xMDg3IDEzLjcxMUw3LjExMDYxIDEzLjcxMDRMNy4xMTU4NyAxMy43MDg3TDcuMTMyMDUgMTMuNzAzM0M3LjE0NTMxIDEzLjY5ODkgNy4xNjM0NiAxMy42OTI3IDcuMTg2MTkgMTMuNjg0OEM3LjIzMTY0IDEzLjY2OSA3LjI5NTQ2IDEzLjY0NjIgNy4zNzUwMyAxMy42MTYxQzcuNTM0MDMgMTMuNTU1OSA3Ljc1Njg1IDEzLjQ2NjQgOC4wMjIzNiAxMy4zNDU3QzguNTUwOTUgMTMuMTA1MyA5LjI2MTIzIDEyLjczNTUgOS45NzcxNSAxMi4yMTg1QzExLjM5MSAxMS4xOTczIDEyLjk2NDggOS40OTM3NyAxMi45NjQ4IDYuOTgwMThWMi43NTg4QzEyLjk2NDggMi43MTY2IDEyLjk2MTkgMi42NzUxMSAxMi45NTYxIDIuNjM0NTFWMS44ODM3N0gxMi4wODExQzEyLjA3NzUgMS44ODM3NyAxMi4wNzQgMS44ODM3NyAxMi4wNzA0IDEuODgzNzdDMTAuNzk3OSAxLjg4MDA0IDkuNjE5NjIgMS41MTEwMiA4LjczODk0IDEuMTI0ODZDOC43MzUzNCAxLjEyMzI3IDguNzMxNzQgMS4xMjE2OCA4LjcyODE0IDEuMTIwMDlDOC4yOTEwMyAwLjkyNjg2NCA3LjkzODQyIDAuNzM0MDU5IDcuNjk3NzkgMC41OTEzNzNDNy41Nzc3MiAwLjUyMDE3MSA3LjQ4NjIyIDAuNDYxODYgNy40MjY3NiAwLjQyMjc4OUM3LjM5NzA1IDAuNDAzMjY2IDcuMzc1MzkgMC4zODg1ODggNy4zNjIyNCAwLjM3OTU1NEw3LjM0ODk2IDAuMzcwMzVDNy4zNDg5NiAwLjM3MDM1IDcuMzQ4NDcgMC4zNzAwMiA3LjM0NTYzIDAuMzc0MDU0TDcuMzM3NzkgMC4zNjg2NTlMNy4zMzYwOSAwLjM2NzQ3NVpNOC4wMzQ3MSAyLjcyNjkxQzguODYwNCAzLjA5MDYzIDkuOTYwNjYgMy40NjMwOSAxMS4yMDYxIDMuNTg5MDdWNi45ODAxNUgxMS4yMTQ4QzExLjIxNDggOC42Nzk1MyAxMC4xNjM3IDkuOTI1MDcgOC45NTI1NCAxMC43OTk4QzguMzU1OTUgMTEuMjMwNiA3Ljc1Mzc0IDExLjU0NTQgNy4yOTc5NiAxMS43NTI3QzcuMTE2NzEgMTEuODM1MSA2Ljk2MDYyIDExLjg5OTYgNi44Mzk4NCAxMS45NDY5QzYuNzE5MDYgMTEuODk5NiA2LjU2Mjk3IDExLjgzNTEgNi4zODE3MyAxMS43NTI3QzUuOTI1OTUgMTEuNTQ1NCA1LjMyMzczIDExLjIzMDYgNC43MjcxNSAxMC43OTk4QzMuNTE2MDMgOS45MjUwNyAyLjQ2NDg0IDguNjc5NTUgMi40NjQ4NCA2Ljk4MDE4VjMuNTg5MDlDMy43MTczOCAzLjQ2MjM5IDQuODIzMDggMy4wODYzOSA1LjY1MDMzIDIuNzIwNzFDNi4xNDIyOCAyLjUwMzI0IDYuNTQ0ODUgMi4yODUzNyA2LjgzMjU0IDIuMTE2MjRDNy4xMjE4MSAyLjI4NTM1IDcuNTI3IDIuNTAzNTIgOC4wMjE5NiAyLjcyMTMxQzguMDI2MiAyLjcyMzE3IDguMDMwNDUgMi43MjUwNCA4LjAzNDcxIDIuNzI2OTFaTTUuOTY0ODQgMy40MDE0N1Y3Ljc3NjQ3SDcuNzE0ODRWMy40MDE0N0g1Ljk2NDg0Wk01Ljk2NDg0IDEwLjQwMTVWOC42NTE0N0g3LjcxNDg0VjEwLjQwMTVINS45NjQ4NFoiIGZpbGw9ImNyaW1zb24iIHN0cm9rZS13aWR0aD0iMiIvPgo8L3N2Zz4=");
|
|
428
|
-
background-color: crimson;
|
|
429
|
-
}
|
|
430
|
-
.ace_icon_svg.ace_warning_fold {
|
|
431
|
-
-webkit-mask-image: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMTYiIHZpZXdCb3g9IjAgMCAyMCAxNiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNC43NzY5IDE0LjczMzdMOC42NTE5MiAyLjQ4MzY5QzguMzI5NDYgMS44Mzg3NyA3LjQwOTEzIDEuODM4NzcgNy4wODY2NyAyLjQ4MzY5TDAuOTYxNjY5IDE0LjczMzdDMC42NzA3NzUgMTUuMzE1NSAxLjA5MzgzIDE2IDEuNzQ0MjkgMTZIMTMuOTk0M0MxNC42NDQ4IDE2IDE1LjA2NzggMTUuMzE1NSAxNC43NzY5IDE0LjczMzdaTTMuMTYwMDcgMTQuMjVMNy44NjkyOSA0LjgzMTU2TDEyLjU3ODUgMTQuMjVIMy4xNjAwN1pNOC43NDQyOSAxMS42MjVWMTMuMzc1SDYuOTk0MjlWMTEuNjI1SDguNzQ0MjlaTTYuOTk0MjkgMTAuNzVWNy4yNUg4Ljc0NDI5VjEwLjc1SDYuOTk0MjlaIiBmaWxsPSIjRUM3MjExIi8+CjxwYXRoIGQ9Ik0xMS4xOTkxIDIuOTUyMzhDMTAuODgwOSAyLjMxNDY3IDEwLjM1MzcgMS44MDUyNiA5LjcwNTUgMS41MDlMMTEuMDQxIDEuMDY5NzhDMTEuNjg4MyAwLjk0OTgxNCAxMi4zMzcgMS4yNzI2MyAxMi42MzE3IDEuODYxNDFMMTcuNjEzNiAxMS44MTYxQzE4LjM1MjcgMTMuMjkyOSAxNy41OTM4IDE1LjA4MDQgMTYuMDE4IDE1LjU3NDVDMTYuNDA0NCAxNC40NTA3IDE2LjMyMzEgMTMuMjE4OCAxNS43OTI0IDEyLjE1NTVMMTEuMTk5MSAyLjk1MjM4WiIgZmlsbD0iI0VDNzIxMSIvPgo8L3N2Zz4=");
|
|
432
|
-
background-color: darkorange;
|
|
433
|
-
}
|
|
434
|
-
|
|
435
|
-
.ace_scrollbar {
|
|
436
|
-
contain: strict;
|
|
437
|
-
position: absolute;
|
|
438
|
-
right: 0;
|
|
439
|
-
bottom: 0;
|
|
440
|
-
z-index: 6;
|
|
441
|
-
}
|
|
442
|
-
|
|
443
|
-
.ace_scrollbar-inner {
|
|
444
|
-
position: absolute;
|
|
445
|
-
cursor: text;
|
|
446
|
-
left: 0;
|
|
447
|
-
top: 0;
|
|
448
|
-
}
|
|
449
|
-
|
|
450
|
-
.ace_scrollbar-v{
|
|
451
|
-
overflow-x: hidden;
|
|
452
|
-
overflow-y: scroll;
|
|
453
|
-
top: 0;
|
|
454
|
-
}
|
|
455
|
-
|
|
456
|
-
.ace_scrollbar-h {
|
|
457
|
-
overflow-x: scroll;
|
|
458
|
-
overflow-y: hidden;
|
|
459
|
-
left: 0;
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
.ace_print-margin {
|
|
463
|
-
position: absolute;
|
|
464
|
-
height: 100%;
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
.ace_text-input {
|
|
468
|
-
position: absolute;
|
|
469
|
-
z-index: 0;
|
|
470
|
-
width: 0.5em;
|
|
471
|
-
height: 1em;
|
|
472
|
-
opacity: 0;
|
|
473
|
-
background: transparent;
|
|
474
|
-
-moz-appearance: none;
|
|
475
|
-
appearance: none;
|
|
476
|
-
border: none;
|
|
477
|
-
resize: none;
|
|
478
|
-
outline: none;
|
|
479
|
-
overflow: hidden;
|
|
480
|
-
font: inherit;
|
|
481
|
-
padding: 0 1px;
|
|
482
|
-
margin: 0 -1px;
|
|
483
|
-
contain: strict;
|
|
484
|
-
-ms-user-select: text;
|
|
485
|
-
-moz-user-select: text;
|
|
486
|
-
-webkit-user-select: text;
|
|
487
|
-
user-select: text;
|
|
488
|
-
/*with \`pre-line\` chrome inserts instead of space*/
|
|
489
|
-
white-space: pre!important;
|
|
490
|
-
}
|
|
491
|
-
.ace_text-input.ace_composition {
|
|
492
|
-
background: transparent;
|
|
493
|
-
color: inherit;
|
|
494
|
-
z-index: 1000;
|
|
495
|
-
opacity: 1;
|
|
496
|
-
}
|
|
497
|
-
.ace_composition_placeholder { color: transparent }
|
|
498
|
-
.ace_composition_marker {
|
|
499
|
-
border-bottom: 1px solid;
|
|
500
|
-
position: absolute;
|
|
501
|
-
border-radius: 0;
|
|
502
|
-
margin-top: 1px;
|
|
503
|
-
}
|
|
504
|
-
|
|
505
|
-
[ace_nocontext=true] {
|
|
506
|
-
transform: none!important;
|
|
507
|
-
filter: none!important;
|
|
508
|
-
clip-path: none!important;
|
|
509
|
-
mask : none!important;
|
|
510
|
-
contain: none!important;
|
|
511
|
-
perspective: none!important;
|
|
512
|
-
mix-blend-mode: initial!important;
|
|
513
|
-
z-index: auto;
|
|
514
|
-
}
|
|
515
|
-
|
|
516
|
-
.ace_layer {
|
|
517
|
-
z-index: 1;
|
|
518
|
-
position: absolute;
|
|
519
|
-
overflow: hidden;
|
|
520
|
-
/* workaround for chrome bug https://github.com/ajaxorg/ace/issues/2312*/
|
|
521
|
-
word-wrap: normal;
|
|
522
|
-
white-space: pre;
|
|
523
|
-
height: 100%;
|
|
524
|
-
width: 100%;
|
|
525
|
-
box-sizing: border-box;
|
|
526
|
-
/* setting pointer-events: auto; on node under the mouse, which changes
|
|
527
|
-
during scroll, will break mouse wheel scrolling in Safari */
|
|
528
|
-
pointer-events: none;
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
.ace_gutter-layer {
|
|
532
|
-
position: relative;
|
|
533
|
-
width: auto;
|
|
534
|
-
text-align: right;
|
|
535
|
-
pointer-events: auto;
|
|
536
|
-
height: 1000000px;
|
|
537
|
-
contain: style size layout;
|
|
538
|
-
}
|
|
539
|
-
|
|
540
|
-
.ace_text-layer {
|
|
541
|
-
font: inherit !important;
|
|
542
|
-
position: absolute;
|
|
543
|
-
height: 1000000px;
|
|
544
|
-
width: 1000000px;
|
|
545
|
-
contain: style size layout;
|
|
546
|
-
}
|
|
547
|
-
|
|
548
|
-
.ace_text-layer > .ace_line, .ace_text-layer > .ace_line_group {
|
|
549
|
-
contain: style size layout;
|
|
550
|
-
position: absolute;
|
|
551
|
-
top: 0;
|
|
552
|
-
left: 0;
|
|
553
|
-
right: 0;
|
|
554
|
-
}
|
|
555
|
-
|
|
556
|
-
.ace_hidpi .ace_text-layer,
|
|
557
|
-
.ace_hidpi .ace_gutter-layer,
|
|
558
|
-
.ace_hidpi .ace_content,
|
|
559
|
-
.ace_hidpi .ace_gutter {
|
|
560
|
-
contain: strict;
|
|
561
|
-
}
|
|
562
|
-
.ace_hidpi .ace_text-layer > .ace_line,
|
|
563
|
-
.ace_hidpi .ace_text-layer > .ace_line_group {
|
|
564
|
-
contain: strict;
|
|
565
|
-
}
|
|
566
|
-
|
|
567
|
-
.ace_cjk {
|
|
568
|
-
display: inline-block;
|
|
569
|
-
text-align: center;
|
|
570
|
-
}
|
|
571
|
-
|
|
572
|
-
.ace_cursor-layer {
|
|
573
|
-
z-index: 4;
|
|
574
|
-
}
|
|
575
|
-
|
|
576
|
-
.ace_cursor {
|
|
577
|
-
z-index: 4;
|
|
578
|
-
position: absolute;
|
|
579
|
-
box-sizing: border-box;
|
|
580
|
-
border-left: 2px solid;
|
|
581
|
-
/* workaround for smooth cursor repaintng whole screen in chrome */
|
|
582
|
-
transform: translatez(0);
|
|
583
|
-
}
|
|
584
|
-
|
|
585
|
-
.ace_multiselect .ace_cursor {
|
|
586
|
-
border-left-width: 1px;
|
|
587
|
-
}
|
|
588
|
-
|
|
589
|
-
.ace_slim-cursors .ace_cursor {
|
|
590
|
-
border-left-width: 1px;
|
|
591
|
-
}
|
|
592
|
-
|
|
593
|
-
.ace_overwrite-cursors .ace_cursor {
|
|
594
|
-
border-left-width: 0;
|
|
595
|
-
border-bottom: 1px solid;
|
|
596
|
-
}
|
|
597
|
-
|
|
598
|
-
.ace_hidden-cursors .ace_cursor {
|
|
599
|
-
opacity: 0.2;
|
|
600
|
-
}
|
|
601
|
-
|
|
602
|
-
.ace_hasPlaceholder .ace_hidden-cursors .ace_cursor {
|
|
603
|
-
opacity: 0;
|
|
604
|
-
}
|
|
605
|
-
|
|
606
|
-
.ace_smooth-blinking .ace_cursor {
|
|
607
|
-
transition: opacity 0.18s;
|
|
608
|
-
}
|
|
609
|
-
|
|
610
|
-
.ace_animate-blinking .ace_cursor {
|
|
611
|
-
animation-duration: 1000ms;
|
|
612
|
-
animation-timing-function: step-end;
|
|
613
|
-
animation-name: blink-ace-animate;
|
|
614
|
-
animation-iteration-count: infinite;
|
|
615
|
-
}
|
|
616
|
-
|
|
617
|
-
.ace_animate-blinking.ace_smooth-blinking .ace_cursor {
|
|
618
|
-
animation-duration: 1000ms;
|
|
619
|
-
animation-timing-function: ease-in-out;
|
|
620
|
-
animation-name: blink-ace-animate-smooth;
|
|
621
|
-
}
|
|
622
|
-
|
|
623
|
-
@keyframes blink-ace-animate {
|
|
624
|
-
from, to { opacity: 1; }
|
|
625
|
-
60% { opacity: 0; }
|
|
626
|
-
}
|
|
627
|
-
|
|
628
|
-
@keyframes blink-ace-animate-smooth {
|
|
629
|
-
from, to { opacity: 1; }
|
|
630
|
-
45% { opacity: 1; }
|
|
631
|
-
60% { opacity: 0; }
|
|
632
|
-
85% { opacity: 0; }
|
|
633
|
-
}
|
|
634
|
-
|
|
635
|
-
.ace_marker-layer .ace_step, .ace_marker-layer .ace_stack {
|
|
636
|
-
position: absolute;
|
|
637
|
-
z-index: 3;
|
|
638
|
-
}
|
|
639
|
-
|
|
640
|
-
.ace_marker-layer .ace_selection {
|
|
641
|
-
position: absolute;
|
|
642
|
-
z-index: 5;
|
|
643
|
-
}
|
|
644
|
-
|
|
645
|
-
.ace_marker-layer .ace_bracket {
|
|
646
|
-
position: absolute;
|
|
647
|
-
z-index: 6;
|
|
648
|
-
}
|
|
649
|
-
|
|
650
|
-
.ace_marker-layer .ace_error_bracket {
|
|
651
|
-
position: absolute;
|
|
652
|
-
border-bottom: 1px solid #DE5555;
|
|
653
|
-
border-radius: 0;
|
|
654
|
-
}
|
|
655
|
-
|
|
656
|
-
.ace_marker-layer .ace_active-line {
|
|
657
|
-
position: absolute;
|
|
658
|
-
z-index: 2;
|
|
659
|
-
}
|
|
660
|
-
|
|
661
|
-
.ace_marker-layer .ace_selected-word {
|
|
662
|
-
position: absolute;
|
|
663
|
-
z-index: 4;
|
|
664
|
-
box-sizing: border-box;
|
|
665
|
-
}
|
|
666
|
-
|
|
667
|
-
.ace_line .ace_fold {
|
|
668
|
-
box-sizing: border-box;
|
|
669
|
-
|
|
670
|
-
display: inline-block;
|
|
671
|
-
height: 11px;
|
|
672
|
-
margin-top: -2px;
|
|
673
|
-
vertical-align: middle;
|
|
674
|
-
|
|
675
|
-
background-image:
|
|
676
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
|
677
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACJJREFUeNpi+P//fxgTAwPDBxDxD078RSX+YeEyDFMCIMAAI3INmXiwf2YAAAAASUVORK5CYII=");
|
|
678
|
-
background-repeat: no-repeat, repeat-x;
|
|
679
|
-
background-position: center center, top left;
|
|
680
|
-
color: transparent;
|
|
681
|
-
|
|
682
|
-
border: 1px solid black;
|
|
683
|
-
border-radius: 2px;
|
|
684
|
-
|
|
685
|
-
cursor: pointer;
|
|
686
|
-
pointer-events: auto;
|
|
687
|
-
}
|
|
688
|
-
|
|
689
|
-
.ace_dark .ace_fold {
|
|
690
|
-
}
|
|
691
|
-
|
|
692
|
-
.ace_fold:hover{
|
|
693
|
-
background-image:
|
|
694
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAAJCAYAAADU6McMAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJpJREFUeNpi/P//PwOlgAXGYGRklAVSokD8GmjwY1wasKljQpYACtpCFeADcHVQfQyMQAwzwAZI3wJKvCLkfKBaMSClBlR7BOQikCFGQEErIH0VqkabiGCAqwUadAzZJRxQr/0gwiXIal8zQQPnNVTgJ1TdawL0T5gBIP1MUJNhBv2HKoQHHjqNrA4WO4zY0glyNKLT2KIfIMAAQsdgGiXvgnYAAAAASUVORK5CYII="),
|
|
695
|
-
url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAA3CAYAAADNNiA5AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAACBJREFUeNpi+P//fz4TAwPDZxDxD5X4i5fLMEwJgAADAEPVDbjNw87ZAAAAAElFTkSuQmCC");
|
|
696
|
-
}
|
|
697
|
-
|
|
698
|
-
.ace_tooltip {
|
|
699
|
-
background-color: #f5f5f5;
|
|
700
|
-
border: 1px solid gray;
|
|
701
|
-
border-radius: 1px;
|
|
702
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
|
703
|
-
color: black;
|
|
704
|
-
padding: 3px 4px;
|
|
705
|
-
position: fixed;
|
|
706
|
-
z-index: 999999;
|
|
707
|
-
box-sizing: border-box;
|
|
708
|
-
cursor: default;
|
|
709
|
-
white-space: pre-wrap;
|
|
710
|
-
word-wrap: break-word;
|
|
711
|
-
line-height: normal;
|
|
712
|
-
font-style: normal;
|
|
713
|
-
font-weight: normal;
|
|
714
|
-
letter-spacing: normal;
|
|
715
|
-
pointer-events: none;
|
|
716
|
-
overflow: auto;
|
|
717
|
-
max-width: min(33em, 66vw);
|
|
718
|
-
overscroll-behavior: contain;
|
|
719
|
-
}
|
|
720
|
-
.ace_tooltip pre {
|
|
721
|
-
white-space: pre-wrap;
|
|
722
|
-
}
|
|
723
|
-
|
|
724
|
-
.ace_tooltip.ace_dark {
|
|
725
|
-
background-color: #636363;
|
|
726
|
-
color: #fff;
|
|
727
|
-
}
|
|
728
|
-
|
|
729
|
-
.ace_tooltip:focus {
|
|
730
|
-
outline: 1px solid #5E9ED6;
|
|
731
|
-
}
|
|
732
|
-
|
|
733
|
-
.ace_icon {
|
|
734
|
-
display: inline-block;
|
|
735
|
-
width: 18px;
|
|
736
|
-
vertical-align: top;
|
|
737
|
-
}
|
|
738
|
-
|
|
739
|
-
.ace_icon_svg {
|
|
740
|
-
display: inline-block;
|
|
741
|
-
width: 12px;
|
|
742
|
-
vertical-align: top;
|
|
743
|
-
-webkit-mask-repeat: no-repeat;
|
|
744
|
-
-webkit-mask-size: 12px;
|
|
745
|
-
-webkit-mask-position: center;
|
|
746
|
-
}
|
|
747
|
-
|
|
748
|
-
.ace_folding-enabled > .ace_gutter-cell, .ace_folding-enabled > .ace_gutter-cell_svg-icons {
|
|
749
|
-
padding-right: 13px;
|
|
750
|
-
}
|
|
751
|
-
|
|
752
|
-
.ace_fold-widget, .ace_custom-widget {
|
|
753
|
-
box-sizing: border-box;
|
|
754
|
-
|
|
755
|
-
margin: 0 -12px 0 1px;
|
|
756
|
-
display: none;
|
|
757
|
-
width: 11px;
|
|
758
|
-
vertical-align: top;
|
|
759
|
-
|
|
760
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42mWKsQ0AMAzC8ixLlrzQjzmBiEjp0A6WwBCSPgKAXoLkqSot7nN3yMwR7pZ32NzpKkVoDBUxKAAAAABJRU5ErkJggg==");
|
|
761
|
-
background-repeat: no-repeat;
|
|
762
|
-
background-position: center;
|
|
763
|
-
|
|
764
|
-
border-radius: 3px;
|
|
765
|
-
|
|
766
|
-
border: 1px solid transparent;
|
|
767
|
-
cursor: pointer;
|
|
768
|
-
pointer-events: auto;
|
|
769
|
-
}
|
|
770
|
-
|
|
771
|
-
.ace_custom-widget {
|
|
772
|
-
background: none;
|
|
773
|
-
}
|
|
774
|
-
|
|
775
|
-
.ace_folding-enabled .ace_fold-widget {
|
|
776
|
-
display: inline-block;
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
.ace_fold-widget.ace_end {
|
|
780
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAANElEQVR42m3HwQkAMAhD0YzsRchFKI7sAikeWkrxwScEB0nh5e7KTPWimZki4tYfVbX+MNl4pyZXejUO1QAAAABJRU5ErkJggg==");
|
|
781
|
-
}
|
|
782
|
-
|
|
783
|
-
.ace_fold-widget.ace_closed {
|
|
784
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAGCAYAAAAG5SQMAAAAOUlEQVR42jXKwQkAMAgDwKwqKD4EwQ26sSOkVWjgIIHAzPiCgaqiqnJHZnKICBERHN194O5b9vbLuAVRL+l0YWnZAAAAAElFTkSuQmCCXA==");
|
|
785
|
-
}
|
|
786
|
-
|
|
787
|
-
.ace_fold-widget:hover {
|
|
788
|
-
border: 1px solid rgba(0, 0, 0, 0.3);
|
|
789
|
-
background-color: rgba(255, 255, 255, 0.2);
|
|
790
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.7);
|
|
791
|
-
}
|
|
792
|
-
|
|
793
|
-
.ace_fold-widget:active {
|
|
794
|
-
border: 1px solid rgba(0, 0, 0, 0.4);
|
|
795
|
-
background-color: rgba(0, 0, 0, 0.05);
|
|
796
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.8);
|
|
797
|
-
}
|
|
798
|
-
/**
|
|
799
|
-
* Dark version for fold widgets
|
|
800
|
-
*/
|
|
801
|
-
.ace_dark .ace_fold-widget {
|
|
802
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHklEQVQIW2P4//8/AzoGEQ7oGCaLLAhWiSwB146BAQCSTPYocqT0AAAAAElFTkSuQmCC");
|
|
803
|
-
}
|
|
804
|
-
.ace_dark .ace_fold-widget.ace_end {
|
|
805
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAH0lEQVQIW2P4//8/AxQ7wNjIAjDMgC4AxjCVKBirIAAF0kz2rlhxpAAAAABJRU5ErkJggg==");
|
|
806
|
-
}
|
|
807
|
-
.ace_dark .ace_fold-widget.ace_closed {
|
|
808
|
-
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAAFCAYAAACAcVaiAAAAHElEQVQIW2P4//+/AxAzgDADlOOAznHAKgPWAwARji8UIDTfQQAAAABJRU5ErkJggg==");
|
|
809
|
-
}
|
|
810
|
-
.ace_dark .ace_fold-widget:hover {
|
|
811
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
|
812
|
-
background-color: rgba(255, 255, 255, 0.1);
|
|
813
|
-
}
|
|
814
|
-
.ace_dark .ace_fold-widget:active {
|
|
815
|
-
box-shadow: 0 1px 1px rgba(255, 255, 255, 0.2);
|
|
816
|
-
}
|
|
817
|
-
|
|
818
|
-
.ace_inline_button {
|
|
819
|
-
border: 1px solid lightgray;
|
|
820
|
-
display: inline-block;
|
|
821
|
-
margin: -1px 8px;
|
|
822
|
-
padding: 0 5px;
|
|
823
|
-
pointer-events: auto;
|
|
824
|
-
cursor: pointer;
|
|
825
|
-
}
|
|
826
|
-
.ace_inline_button:hover {
|
|
827
|
-
border-color: gray;
|
|
828
|
-
background: rgba(200,200,200,0.2);
|
|
829
|
-
display: inline-block;
|
|
830
|
-
pointer-events: auto;
|
|
831
|
-
}
|
|
832
|
-
|
|
833
|
-
.ace_fold-widget.ace_invalid {
|
|
834
|
-
background-color: #FFB4B4;
|
|
835
|
-
border-color: #DE5555;
|
|
836
|
-
}
|
|
837
|
-
|
|
838
|
-
.ace_fade-fold-widgets .ace_fold-widget {
|
|
839
|
-
transition: opacity 0.4s ease 0.05s;
|
|
840
|
-
opacity: 0;
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
.ace_fade-fold-widgets:hover .ace_fold-widget {
|
|
844
|
-
transition: opacity 0.05s ease 0.05s;
|
|
845
|
-
opacity:1;
|
|
846
|
-
}
|
|
847
|
-
|
|
848
|
-
.ace_underline {
|
|
849
|
-
text-decoration: underline;
|
|
850
|
-
}
|
|
851
|
-
|
|
852
|
-
.ace_bold {
|
|
853
|
-
font-weight: bold;
|
|
854
|
-
}
|
|
855
|
-
|
|
856
|
-
.ace_nobold .ace_bold {
|
|
857
|
-
font-weight: normal;
|
|
858
|
-
}
|
|
859
|
-
|
|
860
|
-
.ace_italic {
|
|
861
|
-
font-style: italic;
|
|
862
|
-
}
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
.ace_error-marker {
|
|
866
|
-
background-color: rgba(255, 0, 0,0.2);
|
|
867
|
-
position: absolute;
|
|
868
|
-
z-index: 9;
|
|
869
|
-
}
|
|
870
|
-
|
|
871
|
-
.ace_highlight-marker {
|
|
872
|
-
background-color: rgba(255, 255, 0,0.2);
|
|
873
|
-
position: absolute;
|
|
874
|
-
z-index: 8;
|
|
875
|
-
}
|
|
876
|
-
|
|
877
|
-
.ace_mobile-menu {
|
|
878
|
-
position: absolute;
|
|
879
|
-
line-height: 1.5;
|
|
880
|
-
border-radius: 4px;
|
|
881
|
-
-ms-user-select: none;
|
|
882
|
-
-moz-user-select: none;
|
|
883
|
-
-webkit-user-select: none;
|
|
884
|
-
user-select: none;
|
|
885
|
-
background: white;
|
|
886
|
-
box-shadow: 1px 3px 2px grey;
|
|
887
|
-
border: 1px solid #dcdcdc;
|
|
888
|
-
color: black;
|
|
889
|
-
}
|
|
890
|
-
.ace_dark > .ace_mobile-menu {
|
|
891
|
-
background: #333;
|
|
892
|
-
color: #ccc;
|
|
893
|
-
box-shadow: 1px 3px 2px grey;
|
|
894
|
-
border: 1px solid #444;
|
|
895
|
-
|
|
896
|
-
}
|
|
897
|
-
.ace_mobile-button {
|
|
898
|
-
padding: 2px;
|
|
899
|
-
cursor: pointer;
|
|
900
|
-
overflow: hidden;
|
|
901
|
-
}
|
|
902
|
-
.ace_mobile-button:hover {
|
|
903
|
-
background-color: #eee;
|
|
904
|
-
opacity:1;
|
|
905
|
-
}
|
|
906
|
-
.ace_mobile-button:active {
|
|
907
|
-
background-color: #ddd;
|
|
908
|
-
}
|
|
909
|
-
|
|
910
|
-
.ace_placeholder {
|
|
911
|
-
position: relative;
|
|
912
|
-
font-family: arial;
|
|
913
|
-
transform: scale(0.9);
|
|
914
|
-
transform-origin: left;
|
|
915
|
-
white-space: pre;
|
|
916
|
-
opacity: 0.7;
|
|
917
|
-
margin: 0 10px;
|
|
918
|
-
z-index: 1;
|
|
919
|
-
}
|
|
920
|
-
|
|
921
|
-
.ace_ghost_text {
|
|
922
|
-
opacity: 0.5;
|
|
923
|
-
font-style: italic;
|
|
924
|
-
}
|
|
925
|
-
|
|
926
|
-
.ace_ghost_text_container > div {
|
|
927
|
-
white-space: pre;
|
|
928
|
-
}
|
|
929
|
-
|
|
930
|
-
.ghost_text_line_wrapped::after {
|
|
931
|
-
content: "↩";
|
|
932
|
-
position: absolute;
|
|
933
|
-
}
|
|
934
|
-
|
|
935
|
-
.ace_lineWidgetContainer.ace_ghost_text {
|
|
936
|
-
margin: 0px 4px
|
|
937
|
-
}
|
|
938
|
-
|
|
939
|
-
.ace_screenreader-only {
|
|
940
|
-
position:absolute;
|
|
941
|
-
left:-10000px;
|
|
942
|
-
top:auto;
|
|
943
|
-
width:1px;
|
|
944
|
-
height:1px;
|
|
945
|
-
overflow:hidden;
|
|
946
|
-
}
|
|
947
|
-
|
|
948
|
-
.ace_hidden_token {
|
|
949
|
-
display: none;
|
|
950
|
-
}`}),ace.define("ace/layer/decorators",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter"],function(R,k,z){var E=R("../lib/dom"),L=R("../lib/oop"),A=R("../lib/event_emitter").EventEmitter,l=function(){function u(i,o){this.parentEl=i,this.canvas=E.createElement("canvas"),this.renderer=o,this.pixelRatio=1,this.maxHeight=o.layerConfig.maxHeight,this.lineHeight=o.layerConfig.lineHeight,this.minDecorationHeight=2*this.pixelRatio|0,this.halfMinDecorationHeight=this.minDecorationHeight/2|0,this.canvas.style.top="0px",this.canvas.style.right="0px",this.canvas.style.zIndex="7px",this.canvas.style.position="absolute",this.colors={},this.colors.dark={error:"rgba(255, 18, 18, 1)",warning:"rgba(18, 136, 18, 1)",info:"rgba(18, 18, 136, 1)"},this.colors.light={error:"rgb(255,51,51)",warning:"rgb(32,133,72)",info:"rgb(35,68,138)"},this.setDimensions(),i.element.appendChild(this.canvas)}return u.prototype.$updateDecorators=function(i){var o=this.renderer.theme.isDark===!0?this.colors.dark:this.colors.light;this.setDimensions(i);var r=this.canvas.getContext("2d");function t($,w){return $.priority<w.priority?-1:$.priority>w.priority?1:0}var e=this.renderer.session.$annotations;if(r.clearRect(0,0,this.canvas.width,this.canvas.height),e){var n={info:1,warning:2,error:3};e.forEach(function($){$.priority=n[$.type]||null}),e=e.sort(t);for(var s=0;s<e.length;s++){var h=e[s].row,f=this.compensateFoldRows(h),C=Math.round((h-f)*this.lineHeight*this.heightRatio),v=Math.round((h-f)*this.lineHeight*this.heightRatio),p=Math.round(((h-f)*this.lineHeight+this.lineHeight)*this.heightRatio),a=p-v;if(a<this.minDecorationHeight){var m=(v+p)/2|0;m<this.halfMinDecorationHeight?m=this.halfMinDecorationHeight:m+this.halfMinDecorationHeight>this.canvasHeight&&(m=this.canvasHeight-this.halfMinDecorationHeight),v=Math.round(m-this.halfMinDecorationHeight),p=Math.round(m+this.halfMinDecorationHeight)}r.fillStyle=o[e[s].type]||null,r.fillRect(0,C,this.canvasWidth,p-v)}}var S=this.renderer.session.selection.getCursor();if(S){var f=this.compensateFoldRows(S.row),C=Math.round((S.row-f)*this.lineHeight*this.heightRatio);r.fillStyle="rgba(0, 0, 0, 0.5)",r.fillRect(0,C,this.canvasWidth,2)}},u.prototype.compensateFoldRows=function(i){var o=this.renderer.session.$foldData,r=0;if(o&&o.length>0)for(var t=0;t<o.length;t++)i>o[t].start.row&&i<o[t].end.row?r+=i-o[t].start.row:i>=o[t].end.row&&(r+=o[t].end.row-o[t].start.row);return r},u.prototype.compensateLineWidgets=function(i){var o=this.renderer.session.widgetManager;if(o){var r=0;return o.lineWidgets.forEach(function(t,e){i>e&&(r+=t.rowCount||0)}),r-1}return 0},u.prototype.setDimensions=function(i){i?(this.maxHeight=i.maxHeight,this.lineHeight=i.lineHeight,this.canvasHeight=i.height,this.maxHeight<this.canvasHeight?this.heightRatio=1:this.heightRatio=this.canvasHeight/this.maxHeight):(this.canvasHeight=this.parentEl.parent.scrollHeight||this.canvasHeight,this.canvasWidth=this.parentEl.width||this.canvasWidth,this.heightRatio=this.canvasHeight/this.maxHeight,this.canvas.width=this.canvasWidth,this.canvas.height=this.canvasHeight)},u}();L.implement(l.prototype,A),k.Decorator=l}),ace.define("ace/virtual_renderer",["require","exports","module","ace/lib/oop","ace/lib/dom","ace/lib/lang","ace/config","ace/layer/gutter","ace/layer/marker","ace/layer/text","ace/layer/cursor","ace/scrollbar","ace/scrollbar","ace/scrollbar_custom","ace/scrollbar_custom","ace/renderloop","ace/layer/font_metrics","ace/lib/event_emitter","ace/css/editor-css","ace/layer/decorators","ace/lib/useragent","ace/layer/text_util"],function(R,k,z){var E=R("./lib/oop"),L=R("./lib/dom"),A=R("./lib/lang"),l=R("./config"),u=R("./layer/gutter").Gutter,i=R("./layer/marker").Marker,o=R("./layer/text").Text,r=R("./layer/cursor").Cursor,t=R("./scrollbar").HScrollBar,e=R("./scrollbar").VScrollBar,n=R("./scrollbar_custom").HScrollBar,s=R("./scrollbar_custom").VScrollBar,h=R("./renderloop").RenderLoop,f=R("./layer/font_metrics").FontMetrics,C=R("./lib/event_emitter").EventEmitter,v=R("./css/editor-css"),p=R("./layer/decorators").Decorator,a=R("./lib/useragent"),m=R("./layer/text_util").isTextToken;L.importCssString(v,"ace_editor.css",!1);var S=function(){function $(w,T){var b=this;this.container=w||L.createElement("div"),L.addCssClass(this.container,"ace_editor"),L.HI_DPI&&L.addCssClass(this.container,"ace_hidpi"),this.setTheme(T),l.get("useStrictCSP")==null&&l.set("useStrictCSP",!1),this.$gutter=L.createElement("div"),this.$gutter.className="ace_gutter",this.container.appendChild(this.$gutter),this.$gutter.setAttribute("aria-hidden","true"),this.scroller=L.createElement("div"),this.scroller.className="ace_scroller",this.container.appendChild(this.scroller),this.content=L.createElement("div"),this.content.className="ace_content",this.scroller.appendChild(this.content),this.$gutterLayer=new u(this.$gutter),this.$gutterLayer.on("changeGutterWidth",this.onGutterResize.bind(this)),this.$markerBack=new i(this.content);var g=this.$textLayer=new o(this.content);this.canvas=g.element,this.$markerFront=new i(this.content),this.$cursorLayer=new r(this.content),this.$horizScroll=!1,this.$vScroll=!1,this.scrollBar=this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.on("scroll",function(d){b.$scrollAnimation||b.session.setScrollTop(d.data-b.scrollMargin.top)}),this.scrollBarH.on("scroll",function(d){b.$scrollAnimation||b.session.setScrollLeft(d.data-b.scrollMargin.left)}),this.scrollTop=0,this.scrollLeft=0,this.cursorPos={row:0,column:0},this.$fontMetrics=new f(this.container),this.$textLayer.$setFontMetrics(this.$fontMetrics),this.$textLayer.on("changeCharacterSize",function(d){b.updateCharacterSize(),b.onResize(!0,b.gutterWidth,b.$size.width,b.$size.height),b._signal("changeCharacterSize",d)}),this.$size={width:0,height:0,scrollerHeight:0,scrollerWidth:0,$dirty:!0},this.layerConfig={width:1,padding:0,firstRow:0,firstRowScreen:0,lastRow:0,lineHeight:0,characterWidth:0,minHeight:1,maxHeight:1,offset:0,height:1,gutterOffset:1},this.scrollMargin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.margin={left:0,right:0,top:0,bottom:0,v:0,h:0},this.$keepTextAreaAtCursor=!a.isIOS,this.$loop=new h(this.$renderChanges.bind(this),this.container.ownerDocument.defaultView),this.$loop.schedule(this.CHANGE_FULL),this.updateCharacterSize(),this.setPadding(4),this.$addResizeObserver(),l.resetOptions(this),l._signal("renderer",this)}return $.prototype.updateCharacterSize=function(){this.$textLayer.allowBoldFonts!=this.$allowBoldFonts&&(this.$allowBoldFonts=this.$textLayer.allowBoldFonts,this.setStyle("ace_nobold",!this.$allowBoldFonts)),this.layerConfig.characterWidth=this.characterWidth=this.$textLayer.getCharacterWidth(),this.layerConfig.lineHeight=this.lineHeight=this.$textLayer.getLineHeight(),this.$updatePrintMargin(),L.setStyle(this.scroller.style,"line-height",this.lineHeight+"px")},$.prototype.setSession=function(w){this.session&&this.session.doc.off("changeNewLineMode",this.onChangeNewLineMode),this.session=w,w&&this.scrollMargin.top&&w.getScrollTop()<=0&&w.setScrollTop(-this.scrollMargin.top),this.$cursorLayer.setSession(w),this.$markerBack.setSession(w),this.$markerFront.setSession(w),this.$gutterLayer.setSession(w),this.$textLayer.setSession(w),w&&(this.$loop.schedule(this.CHANGE_FULL),this.session.$setFontMetrics(this.$fontMetrics),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.onChangeNewLineMode=this.onChangeNewLineMode.bind(this),this.onChangeNewLineMode(),this.session.doc.on("changeNewLineMode",this.onChangeNewLineMode))},$.prototype.updateLines=function(w,T,b){if(T===void 0&&(T=1/0),this.$changedLines?(this.$changedLines.firstRow>w&&(this.$changedLines.firstRow=w),this.$changedLines.lastRow<T&&(this.$changedLines.lastRow=T)):this.$changedLines={firstRow:w,lastRow:T},this.$changedLines.lastRow<this.layerConfig.firstRow)if(b)this.$changedLines.lastRow=this.layerConfig.lastRow;else return;this.$changedLines.firstRow>this.layerConfig.lastRow||this.$loop.schedule(this.CHANGE_LINES)},$.prototype.onChangeNewLineMode=function(){this.$loop.schedule(this.CHANGE_TEXT),this.$textLayer.$updateEolChar(),this.session.$bidiHandler.setEolChar(this.$textLayer.EOL_CHAR)},$.prototype.onChangeTabSize=function(){this.$loop.schedule(this.CHANGE_TEXT|this.CHANGE_MARKER),this.$textLayer.onChangeTabSize()},$.prototype.updateText=function(){this.$loop.schedule(this.CHANGE_TEXT)},$.prototype.updateFull=function(w){w?this.$renderChanges(this.CHANGE_FULL,!0):this.$loop.schedule(this.CHANGE_FULL)},$.prototype.updateFontSize=function(){this.$textLayer.checkForSizeChanges()},$.prototype.$updateSizeAsync=function(){this.$loop.pending?this.$size.$dirty=!0:this.onResize()},$.prototype.onResize=function(w,T,b,g){if(!(this.resizing>2)){this.resizing>0?this.resizing++:this.resizing=w?1:0;var d=this.container;g||(g=d.clientHeight||d.scrollHeight),!g&&this.$maxLines&&this.lineHeight>1&&(!d.style.height||d.style.height=="0px")&&(d.style.height="1px",g=d.clientHeight||d.scrollHeight),b||(b=d.clientWidth||d.scrollWidth);var c=this.$updateCachedSize(w,T,b,g);if(this.$resizeTimer&&this.$resizeTimer.cancel(),!this.$size.scrollerHeight||!b&&!g)return this.resizing=0;w&&(this.$gutterLayer.$padding=null),w?this.$renderChanges(c|this.$changes,!0):this.$loop.schedule(c|this.$changes),this.resizing&&(this.resizing=0),this.scrollBarH.scrollLeft=this.scrollBarV.scrollTop=null,this.$customScrollbar&&this.$updateCustomScrollbar(!0)}},$.prototype.$updateCachedSize=function(w,T,b,g){g-=this.$extraHeight||0;var d=0,c=this.$size,y={width:c.width,height:c.height,scrollerHeight:c.scrollerHeight,scrollerWidth:c.scrollerWidth};if(g&&(w||c.height!=g)&&(c.height=g,d|=this.CHANGE_SIZE,c.scrollerHeight=c.height,this.$horizScroll&&(c.scrollerHeight-=this.scrollBarH.getHeight()),this.scrollBarV.setHeight(c.scrollerHeight),this.scrollBarV.element.style.bottom=this.scrollBarH.getHeight()+"px",d=d|this.CHANGE_SCROLL),b&&(w||c.width!=b)){d|=this.CHANGE_SIZE,c.width=b,T==null&&(T=this.$showGutter?this.$gutter.offsetWidth:0),this.gutterWidth=T,L.setStyle(this.scrollBarH.element.style,"left",T+"px"),L.setStyle(this.scroller.style,"left",T+this.margin.left+"px"),c.scrollerWidth=Math.max(0,b-T-this.scrollBarV.getWidth()-this.margin.h),L.setStyle(this.$gutter.style,"left",this.margin.left+"px");var M=this.scrollBarV.getWidth()+"px";L.setStyle(this.scrollBarH.element.style,"right",M),L.setStyle(this.scroller.style,"right",M),L.setStyle(this.scroller.style,"bottom",this.scrollBarH.getHeight()),this.scrollBarH.setWidth(c.scrollerWidth),(this.session&&this.session.getUseWrapMode()&&this.adjustWrapLimit()||w)&&(d|=this.CHANGE_FULL)}return c.$dirty=!b||!g,d&&this._signal("resize",y),d},$.prototype.onGutterResize=function(w){var T=this.$showGutter?w:0;T!=this.gutterWidth&&(this.$changes|=this.$updateCachedSize(!0,T,this.$size.width,this.$size.height)),this.session.getUseWrapMode()&&this.adjustWrapLimit()?this.$loop.schedule(this.CHANGE_FULL):this.$size.$dirty?this.$loop.schedule(this.CHANGE_FULL):this.$computeLayerConfig()},$.prototype.adjustWrapLimit=function(){var w=this.$size.scrollerWidth-this.$padding*2,T=Math.floor(w/this.characterWidth);return this.session.adjustWrapLimit(T,this.$showPrintMargin&&this.$printMarginColumn)},$.prototype.setAnimatedScroll=function(w){this.setOption("animatedScroll",w)},$.prototype.getAnimatedScroll=function(){return this.$animatedScroll},$.prototype.setShowInvisibles=function(w){this.setOption("showInvisibles",w),this.session.$bidiHandler.setShowInvisibles(w)},$.prototype.getShowInvisibles=function(){return this.getOption("showInvisibles")},$.prototype.getDisplayIndentGuides=function(){return this.getOption("displayIndentGuides")},$.prototype.setDisplayIndentGuides=function(w){this.setOption("displayIndentGuides",w)},$.prototype.getHighlightIndentGuides=function(){return this.getOption("highlightIndentGuides")},$.prototype.setHighlightIndentGuides=function(w){this.setOption("highlightIndentGuides",w)},$.prototype.setShowPrintMargin=function(w){this.setOption("showPrintMargin",w)},$.prototype.getShowPrintMargin=function(){return this.getOption("showPrintMargin")},$.prototype.setPrintMarginColumn=function(w){this.setOption("printMarginColumn",w)},$.prototype.getPrintMarginColumn=function(){return this.getOption("printMarginColumn")},$.prototype.getShowGutter=function(){return this.getOption("showGutter")},$.prototype.setShowGutter=function(w){return this.setOption("showGutter",w)},$.prototype.getFadeFoldWidgets=function(){return this.getOption("fadeFoldWidgets")},$.prototype.setFadeFoldWidgets=function(w){this.setOption("fadeFoldWidgets",w)},$.prototype.setHighlightGutterLine=function(w){this.setOption("highlightGutterLine",w)},$.prototype.getHighlightGutterLine=function(){return this.getOption("highlightGutterLine")},$.prototype.$updatePrintMargin=function(){if(!(!this.$showPrintMargin&&!this.$printMarginEl)){if(!this.$printMarginEl){var w=L.createElement("div");w.className="ace_layer ace_print-margin-layer",this.$printMarginEl=L.createElement("div"),this.$printMarginEl.className="ace_print-margin",w.appendChild(this.$printMarginEl),this.content.insertBefore(w,this.content.firstChild)}var T=this.$printMarginEl.style;T.left=Math.round(this.characterWidth*this.$printMarginColumn+this.$padding)+"px",T.visibility=this.$showPrintMargin?"visible":"hidden",this.session&&this.session.$wrap==-1&&this.adjustWrapLimit()}},$.prototype.getContainerElement=function(){return this.container},$.prototype.getMouseEventTarget=function(){return this.scroller},$.prototype.getTextAreaContainer=function(){return this.container},$.prototype.$moveTextAreaToCursor=function(){if(!this.$isMousePressed){var w=this.textarea.style,T=this.$composition;if(!this.$keepTextAreaAtCursor&&!T){L.translate(this.textarea,-100,0);return}var b=this.$cursorLayer.$pixelPos;if(b){T&&T.markerRange&&(b=this.$cursorLayer.getPixelPosition(T.markerRange.start,!0));var g=this.layerConfig,d=b.top,c=b.left;d-=g.offset;var y=T&&T.useTextareaForIME||a.isMobile?this.lineHeight:1;if(d<0||d>g.height-y){L.translate(this.textarea,0,0);return}var M=1,x=this.$size.height-y;if(!T)d+=this.lineHeight;else if(T.useTextareaForIME){var I=this.textarea.value;M=this.characterWidth*this.session.$getStringScreenWidth(I)[0]}else d+=this.lineHeight+2;c-=this.scrollLeft,c>this.$size.scrollerWidth-M&&(c=this.$size.scrollerWidth-M),c+=this.gutterWidth+this.margin.left,L.setStyle(w,"height",y+"px"),L.setStyle(w,"width",M+"px"),L.translate(this.textarea,Math.min(c,this.$size.scrollerWidth-M),Math.min(d,x))}}},$.prototype.getFirstVisibleRow=function(){return this.layerConfig.firstRow},$.prototype.getFirstFullyVisibleRow=function(){return this.layerConfig.firstRow+(this.layerConfig.offset===0?0:1)},$.prototype.getLastFullyVisibleRow=function(){var w=this.layerConfig,T=w.lastRow,b=this.session.documentToScreenRow(T,0)*w.lineHeight;return b-this.session.getScrollTop()>w.height-w.lineHeight?T-1:T},$.prototype.getLastVisibleRow=function(){return this.layerConfig.lastRow},$.prototype.setPadding=function(w){this.$padding=w,this.$textLayer.setPadding(w),this.$cursorLayer.setPadding(w),this.$markerFront.setPadding(w),this.$markerBack.setPadding(w),this.$loop.schedule(this.CHANGE_FULL),this.$updatePrintMargin()},$.prototype.setScrollMargin=function(w,T,b,g){var d=this.scrollMargin;d.top=w|0,d.bottom=T|0,d.right=g|0,d.left=b|0,d.v=d.top+d.bottom,d.h=d.left+d.right,d.top&&this.scrollTop<=0&&this.session&&this.session.setScrollTop(-d.top),this.updateFull()},$.prototype.setMargin=function(w,T,b,g){var d=this.margin;d.top=w|0,d.bottom=T|0,d.right=g|0,d.left=b|0,d.v=d.top+d.bottom,d.h=d.left+d.right,this.$updateCachedSize(!0,this.gutterWidth,this.$size.width,this.$size.height),this.updateFull()},$.prototype.getHScrollBarAlwaysVisible=function(){return this.$hScrollBarAlwaysVisible},$.prototype.setHScrollBarAlwaysVisible=function(w){this.setOption("hScrollBarAlwaysVisible",w)},$.prototype.getVScrollBarAlwaysVisible=function(){return this.$vScrollBarAlwaysVisible},$.prototype.setVScrollBarAlwaysVisible=function(w){this.setOption("vScrollBarAlwaysVisible",w)},$.prototype.$updateScrollBarV=function(){var w=this.layerConfig.maxHeight,T=this.$size.scrollerHeight;!this.$maxLines&&this.$scrollPastEnd&&(w-=(T-this.lineHeight)*this.$scrollPastEnd,this.scrollTop>w-T&&(w=this.scrollTop+T,this.scrollBarV.scrollTop=null)),this.scrollBarV.setScrollHeight(w+this.scrollMargin.v),this.scrollBarV.setScrollTop(this.scrollTop+this.scrollMargin.top)},$.prototype.$updateScrollBarH=function(){this.scrollBarH.setScrollWidth(this.layerConfig.width+2*this.$padding+this.scrollMargin.h),this.scrollBarH.setScrollLeft(this.scrollLeft+this.scrollMargin.left)},$.prototype.freeze=function(){this.$frozen=!0},$.prototype.unfreeze=function(){this.$frozen=!1},$.prototype.$renderChanges=function(w,T){if(this.$changes&&(w|=this.$changes,this.$changes=0),!this.session||!this.container.offsetWidth||this.$frozen||!w&&!T){this.$changes|=w;return}if(this.$size.$dirty)return this.$changes|=w,this.onResize(!0);this.lineHeight||this.$textLayer.checkForSizeChanges(),this._signal("beforeRender",w),this.session&&this.session.$bidiHandler&&this.session.$bidiHandler.updateCharacterWidths(this.$fontMetrics);var b=this.layerConfig;if(w&this.CHANGE_FULL||w&this.CHANGE_SIZE||w&this.CHANGE_TEXT||w&this.CHANGE_LINES||w&this.CHANGE_SCROLL||w&this.CHANGE_H_SCROLL){if(w|=this.$computeLayerConfig()|this.$loop.clear(),b.firstRow!=this.layerConfig.firstRow&&b.firstRowScreen==this.layerConfig.firstRowScreen){var g=this.scrollTop+(b.firstRow-Math.max(this.layerConfig.firstRow,0))*this.lineHeight;g>0&&(this.scrollTop=g,w=w|this.CHANGE_SCROLL,w|=this.$computeLayerConfig()|this.$loop.clear())}b=this.layerConfig,this.$updateScrollBarV(),w&this.CHANGE_H_SCROLL&&this.$updateScrollBarH(),L.translate(this.content,-this.scrollLeft,-b.offset);var d=b.width+2*this.$padding+"px",c=b.minHeight+"px";L.setStyle(this.content.style,"width",d),L.setStyle(this.content.style,"height",c)}if(w&this.CHANGE_H_SCROLL&&(L.translate(this.content,-this.scrollLeft,-b.offset),this.scroller.className=this.scrollLeft<=0?"ace_scroller ":"ace_scroller ace_scroll-left ",this.enableKeyboardAccessibility&&(this.scroller.className+=this.keyboardFocusClassName)),w&this.CHANGE_FULL){this.$changedLines=null,this.$textLayer.update(b),this.$showGutter&&this.$gutterLayer.update(b),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(b),this.$markerBack.update(b),this.$markerFront.update(b),this.$cursorLayer.update(b),this.$moveTextAreaToCursor(),this._signal("afterRender",w);return}if(w&this.CHANGE_SCROLL){this.$changedLines=null,w&this.CHANGE_TEXT||w&this.CHANGE_LINES?this.$textLayer.update(b):this.$textLayer.scrollLines(b),this.$showGutter&&(w&this.CHANGE_GUTTER||w&this.CHANGE_LINES?this.$gutterLayer.update(b):this.$gutterLayer.scrollLines(b)),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(b),this.$markerBack.update(b),this.$markerFront.update(b),this.$cursorLayer.update(b),this.$moveTextAreaToCursor(),this._signal("afterRender",w);return}w&this.CHANGE_TEXT?(this.$changedLines=null,this.$textLayer.update(b),this.$showGutter&&this.$gutterLayer.update(b),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(b)):w&this.CHANGE_LINES?((this.$updateLines()||w&this.CHANGE_GUTTER&&this.$showGutter)&&this.$gutterLayer.update(b),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(b)):w&this.CHANGE_TEXT||w&this.CHANGE_GUTTER?(this.$showGutter&&this.$gutterLayer.update(b),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(b)):w&this.CHANGE_CURSOR&&(this.$highlightGutterLine&&this.$gutterLayer.updateLineHighlight(b),this.$customScrollbar&&this.$scrollDecorator.$updateDecorators(b)),w&this.CHANGE_CURSOR&&(this.$cursorLayer.update(b),this.$moveTextAreaToCursor()),w&(this.CHANGE_MARKER|this.CHANGE_MARKER_FRONT)&&this.$markerFront.update(b),w&(this.CHANGE_MARKER|this.CHANGE_MARKER_BACK)&&this.$markerBack.update(b),this._signal("afterRender",w)},$.prototype.$autosize=function(){var w=this.session.getScreenLength()*this.lineHeight,T=this.$maxLines*this.lineHeight,b=Math.min(T,Math.max((this.$minLines||1)*this.lineHeight,w))+this.scrollMargin.v+(this.$extraHeight||0);this.$horizScroll&&(b+=this.scrollBarH.getHeight()),this.$maxPixelHeight&&b>this.$maxPixelHeight&&(b=this.$maxPixelHeight);var g=b<=2*this.lineHeight,d=!g&&w>T;if(b!=this.desiredHeight||this.$size.height!=this.desiredHeight||d!=this.$vScroll){d!=this.$vScroll&&(this.$vScroll=d,this.scrollBarV.setVisible(d));var c=this.container.clientWidth;this.container.style.height=b+"px",this.$updateCachedSize(!0,this.$gutterWidth,c,b),this.desiredHeight=b,this._signal("autosize")}},$.prototype.$computeLayerConfig=function(){var w=this.session,T=this.$size,b=T.height<=2*this.lineHeight,g=this.session.getScreenLength(),d=g*this.lineHeight,c=this.$getLongestLine(),y=!b&&(this.$hScrollBarAlwaysVisible||T.scrollerWidth-c-2*this.$padding<0),M=this.$horizScroll!==y;M&&(this.$horizScroll=y,this.scrollBarH.setVisible(y));var x=this.$vScroll;this.$maxLines&&this.lineHeight>1&&(this.$autosize(),b=T.height<=2*this.lineHeight);var I=T.scrollerHeight+this.lineHeight,_=!this.$maxLines&&this.$scrollPastEnd?(T.scrollerHeight-this.lineHeight)*this.$scrollPastEnd:0;d+=_;var D=this.scrollMargin;this.session.setScrollTop(Math.max(-D.top,Math.min(this.scrollTop,d-T.scrollerHeight+D.bottom))),this.session.setScrollLeft(Math.max(-D.left,Math.min(this.scrollLeft,c+2*this.$padding-T.scrollerWidth+D.right)));var H=!b&&(this.$vScrollBarAlwaysVisible||T.scrollerHeight-d+_<0||this.scrollTop>D.top),N=x!==H;N&&(this.$vScroll=H,this.scrollBarV.setVisible(H));var O=this.scrollTop%this.lineHeight,F=Math.ceil(I/this.lineHeight)-1,W=Math.max(0,Math.round((this.scrollTop-O)/this.lineHeight)),B=W+F,P,V,G=this.lineHeight;W=w.screenToDocumentRow(W,0);var Y=w.getFoldLine(W);Y&&(W=Y.start.row),P=w.documentToScreenRow(W,0),V=w.getRowLength(W)*G,B=Math.min(w.screenToDocumentRow(B,0),w.getLength()-1),I=T.scrollerHeight+w.getRowLength(B)*G+V,O=this.scrollTop-P*G,O<0&&P>0&&(P=Math.max(0,P+Math.floor(O/G)),O=this.scrollTop-P*G);var X=0;return(this.layerConfig.width!=c||M)&&(X=this.CHANGE_H_SCROLL),(M||N)&&(X|=this.$updateCachedSize(!0,this.gutterWidth,T.width,T.height),this._signal("scrollbarVisibilityChanged"),N&&(c=this.$getLongestLine())),this.layerConfig={width:c,padding:this.$padding,firstRow:W,firstRowScreen:P,lastRow:B,lineHeight:G,characterWidth:this.characterWidth,minHeight:I,maxHeight:d,offset:O,gutterOffset:G?Math.max(0,Math.ceil((O+T.height-T.scrollerHeight)/G)):0,height:this.$size.scrollerHeight},this.session.$bidiHandler&&this.session.$bidiHandler.setContentWidth(c-this.$padding),X},$.prototype.$updateLines=function(){if(this.$changedLines){var w=this.$changedLines.firstRow,T=this.$changedLines.lastRow;this.$changedLines=null;var b=this.layerConfig;if(!(w>b.lastRow+1)&&!(T<b.firstRow)){if(T===1/0){this.$showGutter&&this.$gutterLayer.update(b),this.$textLayer.update(b);return}return this.$textLayer.updateLines(b,w,T),!0}}},$.prototype.$getLongestLine=function(){var w=this.session.getScreenWidth();return this.showInvisibles&&!this.session.$useWrapMode&&(w+=1),this.$textLayer&&w>this.$textLayer.MAX_LINE_LENGTH&&(w=this.$textLayer.MAX_LINE_LENGTH+30),Math.max(this.$size.scrollerWidth-2*this.$padding,Math.round(w*this.characterWidth))},$.prototype.updateFrontMarkers=function(){this.$markerFront.setMarkers(this.session.getMarkers(!0)),this.$loop.schedule(this.CHANGE_MARKER_FRONT)},$.prototype.updateBackMarkers=function(){this.$markerBack.setMarkers(this.session.getMarkers()),this.$loop.schedule(this.CHANGE_MARKER_BACK)},$.prototype.addGutterDecoration=function(w,T){this.$gutterLayer.addGutterDecoration(w,T)},$.prototype.removeGutterDecoration=function(w,T){this.$gutterLayer.removeGutterDecoration(w,T)},$.prototype.updateBreakpoints=function(w){this._rows=w,this.$loop.schedule(this.CHANGE_GUTTER)},$.prototype.setAnnotations=function(w){this.$gutterLayer.setAnnotations(w),this.$loop.schedule(this.CHANGE_GUTTER)},$.prototype.updateCursor=function(){this.$loop.schedule(this.CHANGE_CURSOR)},$.prototype.hideCursor=function(){this.$cursorLayer.hideCursor()},$.prototype.showCursor=function(){this.$cursorLayer.showCursor()},$.prototype.scrollSelectionIntoView=function(w,T,b){this.scrollCursorIntoView(w,b),this.scrollCursorIntoView(T,b)},$.prototype.scrollCursorIntoView=function(w,T,b){if(this.$size.scrollerHeight!==0){var g=this.$cursorLayer.getPixelPosition(w),d=g.left,c=g.top,y=b&&b.top||0,M=b&&b.bottom||0;this.$scrollAnimation&&(this.$stopAnimation=!0);var x=this.$scrollAnimation?this.session.getScrollTop():this.scrollTop;x+y>c?(T&&x+y>c+this.lineHeight&&(c-=T*this.$size.scrollerHeight),c===0&&(c=-this.scrollMargin.top),this.session.setScrollTop(c)):x+this.$size.scrollerHeight-M<c+this.lineHeight&&(T&&x+this.$size.scrollerHeight-M<c-this.lineHeight&&(c+=T*this.$size.scrollerHeight),this.session.setScrollTop(c+this.lineHeight+M-this.$size.scrollerHeight));var I=this.scrollLeft,_=2*this.layerConfig.characterWidth;d-_<I?(d-=_,d<this.$padding+_&&(d=-this.scrollMargin.left),this.session.setScrollLeft(d)):(d+=_,I+this.$size.scrollerWidth<d+this.characterWidth?this.session.setScrollLeft(Math.round(d+this.characterWidth-this.$size.scrollerWidth)):I<=this.$padding&&d-I<this.characterWidth&&this.session.setScrollLeft(0))}},$.prototype.getScrollTop=function(){return this.session.getScrollTop()},$.prototype.getScrollLeft=function(){return this.session.getScrollLeft()},$.prototype.getScrollTopRow=function(){return this.scrollTop/this.lineHeight},$.prototype.getScrollBottomRow=function(){return Math.max(0,Math.floor((this.scrollTop+this.$size.scrollerHeight)/this.lineHeight)-1)},$.prototype.scrollToRow=function(w){this.session.setScrollTop(w*this.lineHeight)},$.prototype.alignCursor=function(w,T){typeof w=="number"&&(w={row:w,column:0});var b=this.$cursorLayer.getPixelPosition(w),g=this.$size.scrollerHeight-this.lineHeight,d=b.top-g*(T||0);return this.session.setScrollTop(d),d},$.prototype.$calcSteps=function(w,T){var b=0,g=this.STEPS,d=[],c=function(y,M,x){return x*(Math.pow(y-1,3)+1)+M};for(b=0;b<g;++b)d.push(c(b/this.STEPS,w,T-w));return d},$.prototype.scrollToLine=function(w,T,b,g){var d=this.$cursorLayer.getPixelPosition({row:w,column:0}),c=d.top;T&&(c-=this.$size.scrollerHeight/2);var y=this.scrollTop;this.session.setScrollTop(c),b!==!1&&this.animateScrolling(y,g)},$.prototype.animateScrolling=function(w,T){var b=this.scrollTop;if(!this.$animatedScroll)return;var g=this;if(w==b)return;if(this.$scrollAnimation){var d=this.$scrollAnimation.steps;if(d.length&&(w=d[0],w==b))return}var c=g.$calcSteps(w,b);this.$scrollAnimation={from:w,to:b,steps:c},clearInterval(this.$timer),g.session.setScrollTop(c.shift()),g.session.$scrollTop=b;function y(){g.$timer=clearInterval(g.$timer),g.$scrollAnimation=null,g.$stopAnimation=!1,T&&T()}this.$timer=setInterval(function(){if(g.$stopAnimation){y();return}if(!g.session)return clearInterval(g.$timer);c.length?(g.session.setScrollTop(c.shift()),g.session.$scrollTop=b):b!=null?(g.session.$scrollTop=-1,g.session.setScrollTop(b),b=null):y()},10)},$.prototype.scrollToY=function(w){this.scrollTop!==w&&(this.$loop.schedule(this.CHANGE_SCROLL),this.scrollTop=w)},$.prototype.scrollToX=function(w){this.scrollLeft!==w&&(this.scrollLeft=w),this.$loop.schedule(this.CHANGE_H_SCROLL)},$.prototype.scrollTo=function(w,T){this.session.setScrollTop(T),this.session.setScrollLeft(w)},$.prototype.scrollBy=function(w,T){T&&this.session.setScrollTop(this.session.getScrollTop()+T),w&&this.session.setScrollLeft(this.session.getScrollLeft()+w)},$.prototype.isScrollableBy=function(w,T){if(T<0&&this.session.getScrollTop()>=1-this.scrollMargin.top||T>0&&this.session.getScrollTop()+this.$size.scrollerHeight-this.layerConfig.maxHeight<-1+this.scrollMargin.bottom||w<0&&this.session.getScrollLeft()>=1-this.scrollMargin.left||w>0&&this.session.getScrollLeft()+this.$size.scrollerWidth-this.layerConfig.width<-1+this.scrollMargin.right)return!0},$.prototype.pixelToScreenCoordinates=function(w,T){var b;if(this.$hasCssTransforms){b={top:0,left:0};var g=this.$fontMetrics.transformCoordinates([w,T]);w=g[1]-this.gutterWidth-this.margin.left,T=g[0]}else b=this.scroller.getBoundingClientRect();var d=w+this.scrollLeft-b.left-this.$padding,c=d/this.characterWidth,y=Math.floor((T+this.scrollTop-b.top)/this.lineHeight),M=this.$blockCursor?Math.floor(c):Math.round(c);return{row:y,column:M,side:c-M>0?1:-1,offsetX:d}},$.prototype.screenToTextCoordinates=function(w,T){var b;if(this.$hasCssTransforms){b={top:0,left:0};var g=this.$fontMetrics.transformCoordinates([w,T]);w=g[1]-this.gutterWidth-this.margin.left,T=g[0]}else b=this.scroller.getBoundingClientRect();var d=w+this.scrollLeft-b.left-this.$padding,c=d/this.characterWidth,y=this.$blockCursor?Math.floor(c):Math.round(c),M=Math.floor((T+this.scrollTop-b.top)/this.lineHeight);return this.session.screenToDocumentPosition(M,Math.max(y,0),d)},$.prototype.textToScreenCoordinates=function(w,T){var b=this.scroller.getBoundingClientRect(),g=this.session.documentToScreenPosition(w,T),d=this.$padding+(this.session.$bidiHandler.isBidiRow(g.row,w)?this.session.$bidiHandler.getPosLeft(g.column):Math.round(g.column*this.characterWidth)),c=g.row*this.lineHeight;return{pageX:b.left+d-this.scrollLeft,pageY:b.top+c-this.scrollTop}},$.prototype.visualizeFocus=function(){L.addCssClass(this.container,"ace_focus")},$.prototype.visualizeBlur=function(){L.removeCssClass(this.container,"ace_focus")},$.prototype.showComposition=function(w){this.$composition=w,w.cssText||(w.cssText=this.textarea.style.cssText),w.useTextareaForIME==null&&(w.useTextareaForIME=this.$useTextareaForIME),this.$useTextareaForIME?(L.addCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText="",this.$moveTextAreaToCursor(),this.$cursorLayer.element.style.display="none"):w.markerId=this.session.addMarker(w.markerRange,"ace_composition_marker","text")},$.prototype.setCompositionText=function(w){var T=this.session.selection.cursor;this.addToken(w,"composition_placeholder",T.row,T.column),this.$moveTextAreaToCursor()},$.prototype.hideComposition=function(){if(this.$composition){this.$composition.markerId&&this.session.removeMarker(this.$composition.markerId),L.removeCssClass(this.textarea,"ace_composition"),this.textarea.style.cssText=this.$composition.cssText;var w=this.session.selection.cursor;this.removeExtraToken(w.row,w.column),this.$composition=null,this.$cursorLayer.element.style.display=""}},$.prototype.setGhostText=function(w,T){var b=this.session.selection.cursor,g=T||{row:b.row,column:b.column};this.removeGhostText();var d=this.$calculateWrappedTextChunks(w,g);this.addToken(d[0].text,"ghost_text",g.row,g.column),this.$ghostText={text:w,position:{row:g.row,column:g.column}};var c=L.createElement("div");if(d.length>1){var y=this.hideTokensAfterPosition(g.row,g.column),M;d.slice(1).forEach(function(N){var O=L.createElement("div"),F=L.createElement("span");F.className="ace_ghost_text",N.wrapped&&(O.className="ghost_text_line_wrapped"),N.text.length===0&&(N.text=" "),F.appendChild(L.createTextNode(N.text)),O.appendChild(F),c.appendChild(O),M=O}),y.forEach(function(N){var O=L.createElement("span");m(N.type)||(O.className="ace_"+N.type.replace(/\./g," ace_")),O.appendChild(L.createTextNode(N.value)),M.appendChild(O)}),this.$ghostTextWidget={el:c,row:g.row,column:g.column,className:"ace_ghost_text_container"},this.session.widgetManager.addLineWidget(this.$ghostTextWidget);var x=this.$cursorLayer.getPixelPosition(g,!0),I=this.container,_=I.getBoundingClientRect().height,D=d.length*this.lineHeight,H=D<_-x.top;if(H)return;D<_?this.scrollBy(0,(d.length-1)*this.lineHeight):this.scrollToRow(g.row)}},$.prototype.$calculateWrappedTextChunks=function(w,T){var b=this.$size.scrollerWidth-this.$padding*2,g=Math.floor(b/this.characterWidth)-2;g=g<=0?60:g;for(var d=w.split(/\r?\n/),c=[],y=0;y<d.length;y++){var M=this.session.$getDisplayTokens(d[y],T.column),x=this.session.$computeWrapSplits(M,g,this.session.$tabSize);if(x.length>0){var I=0;x.push(d[y].length);for(var _=0;_<x.length;_++){var D=d[y].slice(I,x[_]);c.push({text:D,wrapped:!0}),I=x[_]}}else c.push({text:d[y],wrapped:!1})}return c},$.prototype.removeGhostText=function(){if(this.$ghostText){var w=this.$ghostText.position;this.removeExtraToken(w.row,w.column),this.$ghostTextWidget&&(this.session.widgetManager.removeLineWidget(this.$ghostTextWidget),this.$ghostTextWidget=null),this.$ghostText=null}},$.prototype.addToken=function(w,T,b,g){var d=this.session;d.bgTokenizer.lines[b]=null;var c={type:T,value:w},y=d.getTokens(b);if(g==null||!y.length)y.push(c);else for(var M=0,x=0;x<y.length;x++){var I=y[x];if(M+=I.value.length,g<=M){var _=I.value.length-(M-g),D=I.value.slice(0,_),H=I.value.slice(_);y.splice(x,1,{type:I.type,value:D},c,{type:I.type,value:H});break}}this.updateLines(b,b)},$.prototype.hideTokensAfterPosition=function(w,T){for(var b=this.session.getTokens(w),g=0,d=!1,c=[],y=0;y<b.length;y++){var M=b[y];if(g+=M.value.length,M.type!=="ghost_text"){if(d){c.push({type:M.type,value:M.value}),M.type="hidden_token";continue}g===T&&(d=!0)}}return this.updateLines(w,w),c},$.prototype.removeExtraToken=function(w,T){this.session.bgTokenizer.lines[w]=null,this.updateLines(w,w)},$.prototype.setTheme=function(w,T){var b=this;if(this.$themeId=w,b._dispatchEvent("themeChange",{theme:w}),!w||typeof w=="string"){var g=w||this.$options.theme.initialValue;l.loadModule(["theme",g],d)}else d(w);function d(c){if(b.$themeId!=w)return T&&T();if(!c||!c.cssClass)throw new Error("couldn't load module "+w+" or it didn't call define");c.$id&&(b.$themeId=c.$id),L.importCssString(c.cssText,c.cssClass,b.container),b.theme&&L.removeCssClass(b.container,b.theme.cssClass);var y="padding"in c?c.padding:"padding"in(b.theme||{})?4:b.$padding;b.$padding&&y!=b.$padding&&b.setPadding(y),b.$theme=c.cssClass,b.theme=c,L.addCssClass(b.container,c.cssClass),L.setCssClass(b.container,"ace_dark",c.isDark),b.$size&&(b.$size.width=0,b.$updateSizeAsync()),b._dispatchEvent("themeLoaded",{theme:c}),T&&T(),a.isSafari&&b.scroller&&(b.scroller.style.background="red",b.scroller.style.background="")}},$.prototype.getTheme=function(){return this.$themeId},$.prototype.setStyle=function(w,T){L.setCssClass(this.container,w,T!==!1)},$.prototype.unsetStyle=function(w){L.removeCssClass(this.container,w)},$.prototype.setCursorStyle=function(w){L.setStyle(this.scroller.style,"cursor",w)},$.prototype.setMouseCursor=function(w){L.setStyle(this.scroller.style,"cursor",w)},$.prototype.attachToShadowRoot=function(){L.importCssString(v,"ace_editor.css",this.container)},$.prototype.destroy=function(){this.freeze(),this.$fontMetrics.destroy(),this.$cursorLayer.destroy(),this.removeAllListeners(),this.container.textContent="",this.setOption("useResizeObserver",!1)},$.prototype.$updateCustomScrollbar=function(w){var T=this;this.$horizScroll=this.$vScroll=null,this.scrollBarV.element.remove(),this.scrollBarH.element.remove(),this.$scrollDecorator&&delete this.$scrollDecorator,w===!0?(this.scrollBarV=new s(this.container,this),this.scrollBarH=new n(this.container,this),this.scrollBarV.setHeight(this.$size.scrollerHeight),this.scrollBarH.setWidth(this.$size.scrollerWidth),this.scrollBarV.addEventListener("scroll",function(b){T.$scrollAnimation||T.session.setScrollTop(b.data-T.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(b){T.$scrollAnimation||T.session.setScrollLeft(b.data-T.scrollMargin.left)}),this.$scrollDecorator=new p(this.scrollBarV,this),this.$scrollDecorator.$updateDecorators()):(this.scrollBarV=new e(this.container,this),this.scrollBarH=new t(this.container,this),this.scrollBarV.addEventListener("scroll",function(b){T.$scrollAnimation||T.session.setScrollTop(b.data-T.scrollMargin.top)}),this.scrollBarH.addEventListener("scroll",function(b){T.$scrollAnimation||T.session.setScrollLeft(b.data-T.scrollMargin.left)}))},$.prototype.$addResizeObserver=function(){if(!(!window.ResizeObserver||this.$resizeObserver)){var w=this;this.$resizeTimer=A.delayedCall(function(){w.destroyed||w.onResize()},50),this.$resizeObserver=new window.ResizeObserver(function(T){var b=T[0].contentRect.width,g=T[0].contentRect.height;Math.abs(w.$size.width-b)>1||Math.abs(w.$size.height-g)>1?w.$resizeTimer.delay():w.$resizeTimer.cancel()}),this.$resizeObserver.observe(this.container)}},$}();S.prototype.CHANGE_CURSOR=1,S.prototype.CHANGE_MARKER=2,S.prototype.CHANGE_GUTTER=4,S.prototype.CHANGE_SCROLL=8,S.prototype.CHANGE_LINES=16,S.prototype.CHANGE_TEXT=32,S.prototype.CHANGE_SIZE=64,S.prototype.CHANGE_MARKER_BACK=128,S.prototype.CHANGE_MARKER_FRONT=256,S.prototype.CHANGE_FULL=512,S.prototype.CHANGE_H_SCROLL=1024,S.prototype.$changes=0,S.prototype.$padding=null,S.prototype.$frozen=!1,S.prototype.STEPS=8,E.implement(S.prototype,C),l.defineOptions(S.prototype,"renderer",{useResizeObserver:{set:function($){!$&&this.$resizeObserver?(this.$resizeObserver.disconnect(),this.$resizeTimer.cancel(),this.$resizeTimer=this.$resizeObserver=null):$&&!this.$resizeObserver&&this.$addResizeObserver()}},animatedScroll:{initialValue:!1},showInvisibles:{set:function($){this.$textLayer.setShowInvisibles($)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!1},showPrintMargin:{set:function(){this.$updatePrintMargin()},initialValue:!0},printMarginColumn:{set:function(){this.$updatePrintMargin()},initialValue:80},printMargin:{set:function($){typeof $=="number"&&(this.$printMarginColumn=$),this.$showPrintMargin=!!$,this.$updatePrintMargin()},get:function(){return this.$showPrintMargin&&this.$printMarginColumn}},showGutter:{set:function($){this.$gutter.style.display=$?"block":"none",this.$loop.schedule(this.CHANGE_FULL),this.onGutterResize()},initialValue:!0},useSvgGutterIcons:{set:function($){this.$gutterLayer.$useSvgGutterIcons=$},initialValue:!1},showFoldedAnnotations:{set:function($){this.$gutterLayer.$showFoldedAnnotations=$},initialValue:!1},fadeFoldWidgets:{set:function($){L.setCssClass(this.$gutter,"ace_fade-fold-widgets",$)},initialValue:!1},showFoldWidgets:{set:function($){this.$gutterLayer.setShowFoldWidgets($),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},displayIndentGuides:{set:function($){this.$textLayer.setDisplayIndentGuides($)&&this.$loop.schedule(this.CHANGE_TEXT)},initialValue:!0},highlightIndentGuides:{set:function($){this.$textLayer.setHighlightIndentGuides($)==!0?this.$textLayer.$highlightIndentGuide():this.$textLayer.$clearActiveIndentGuide(this.$textLayer.$lines.cells)},initialValue:!0},highlightGutterLine:{set:function($){this.$gutterLayer.setHighlightGutterLine($),this.$loop.schedule(this.CHANGE_GUTTER)},initialValue:!0},hScrollBarAlwaysVisible:{set:function($){(!this.$hScrollBarAlwaysVisible||!this.$horizScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},vScrollBarAlwaysVisible:{set:function($){(!this.$vScrollBarAlwaysVisible||!this.$vScroll)&&this.$loop.schedule(this.CHANGE_SCROLL)},initialValue:!1},fontSize:{set:function($){typeof $=="number"&&($=$+"px"),this.container.style.fontSize=$,this.updateFontSize()},initialValue:12},fontFamily:{set:function($){this.container.style.fontFamily=$,this.updateFontSize()}},maxLines:{set:function($){this.updateFull()}},minLines:{set:function($){this.$minLines<562949953421311||(this.$minLines=0),this.updateFull()}},maxPixelHeight:{set:function($){this.updateFull()},initialValue:0},scrollPastEnd:{set:function($){$=+$||0,this.$scrollPastEnd!=$&&(this.$scrollPastEnd=$,this.$loop.schedule(this.CHANGE_SCROLL))},initialValue:0,handlesSet:!0},fixedWidthGutter:{set:function($){this.$gutterLayer.$fixedWidth=!!$,this.$loop.schedule(this.CHANGE_GUTTER)}},customScrollbar:{set:function($){this.$updateCustomScrollbar($)},initialValue:!1},theme:{set:function($){this.setTheme($)},get:function(){return this.$themeId||this.theme},initialValue:"./theme/textmate",handlesSet:!0},hasCssTransforms:{},useTextareaForIME:{initialValue:!a.isMobile&&!a.isIE}}),k.VirtualRenderer=S}),ace.define("ace/worker/worker_client",["require","exports","module","ace/lib/oop","ace/lib/net","ace/lib/event_emitter","ace/config"],function(R,k,z){var E=R("../lib/oop"),L=R("../lib/net"),A=R("../lib/event_emitter").EventEmitter,l=R("../config");function u(t){var e="importScripts('"+L.qualifyURL(t)+"');";try{return new Blob([e],{type:"application/javascript"})}catch{var n=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder,s=new n;return s.append(e),s.getBlob("application/javascript")}}function i(t){if(typeof Worker>"u")return{postMessage:function(){},terminate:function(){}};if(l.get("loadWorkerFromBlob")){var e=u(t),n=window.URL||window.webkitURL,s=n.createObjectURL(e);return new Worker(s)}return new Worker(t)}var o=function(t){t.postMessage||(t=this.$createWorkerFromOldConfig.apply(this,arguments)),this.$worker=t,this.$sendDeltaQueue=this.$sendDeltaQueue.bind(this),this.changeListener=this.changeListener.bind(this),this.onMessage=this.onMessage.bind(this),this.callbackId=1,this.callbacks={},this.$worker.onmessage=this.onMessage};(function(){E.implement(this,A),this.$createWorkerFromOldConfig=function(t,e,n,s,h){if(R.nameToUrl&&!R.toUrl&&(R.toUrl=R.nameToUrl),l.get("packaged")||!R.toUrl)s=s||l.moduleUrl(e,"worker");else{var f=this.$normalizePath;s=s||f(R.toUrl("ace/worker/worker.js",null,"_"));var C={};t.forEach(function(v){C[v]=f(R.toUrl(v,null,"_").replace(/(\.js)?(\?.*)?$/,""))})}return this.$worker=i(s),h&&this.send("importScripts",h),this.$worker.postMessage({init:!0,tlns:C,module:e,classname:n}),this.$worker},this.onMessage=function(t){var e=t.data;switch(e.type){case"event":this._signal(e.name,{data:e.data});break;case"call":var n=this.callbacks[e.id];n&&(n(e.data),delete this.callbacks[e.id]);break;case"error":this.reportError(e.data);break;case"log":window.console&&console.log&&console.log.apply(console,e.data);break}},this.reportError=function(t){window.console&&console.error&&console.error(t)},this.$normalizePath=function(t){return L.qualifyURL(t)},this.terminate=function(){this._signal("terminate",{}),this.deltaQueue=null,this.$worker.terminate(),this.$worker.onerror=function(t){t.preventDefault()},this.$worker=null,this.$doc&&this.$doc.off("change",this.changeListener),this.$doc=null},this.send=function(t,e){this.$worker.postMessage({command:t,args:e})},this.call=function(t,e,n){if(n){var s=this.callbackId++;this.callbacks[s]=n,e.push(s)}this.send(t,e)},this.emit=function(t,e){try{e.data&&e.data.err&&(e.data.err={message:e.data.err.message,stack:e.data.err.stack,code:e.data.err.code}),this.$worker&&this.$worker.postMessage({event:t,data:{data:e.data}})}catch(n){console.error(n.stack)}},this.attachToDocument=function(t){this.$doc&&this.terminate(),this.$doc=t,this.call("setValue",[t.getValue()]),t.on("change",this.changeListener,!0)},this.changeListener=function(t){this.deltaQueue||(this.deltaQueue=[],setTimeout(this.$sendDeltaQueue,0)),t.action=="insert"?this.deltaQueue.push(t.start,t.lines):this.deltaQueue.push(t.start,t.end)},this.$sendDeltaQueue=function(){var t=this.deltaQueue;t&&(this.deltaQueue=null,t.length>50&&t.length>this.$doc.getLength()>>1?this.call("setValue",[this.$doc.getValue()]):this.emit("change",{data:t}))}}).call(o.prototype);var r=function(t,e,n){var s=null,h=!1,f=Object.create(A),C=[],v=new o({messageBuffer:C,terminate:function(){},postMessage:function(a){C.push(a),s&&(h?setTimeout(p):p())}});v.setEmitSync=function(a){h=a};var p=function(){var a=C.shift();a.command?s[a.command].apply(s,a.args):a.event&&f._signal(a.event,a.data)};return f.postMessage=function(a){v.onMessage({data:a})},f.callback=function(a,m){this.postMessage({type:"call",id:m,data:a})},f.emit=function(a,m){this.postMessage({type:"event",name:a,data:m})},l.loadModule(["worker",e],function(a){for(s=new a[n](f);C.length;)p()}),v};k.UIWorkerClient=r,k.WorkerClient=o,k.createWorker=i}),ace.define("ace/placeholder",["require","exports","module","ace/range","ace/lib/event_emitter","ace/lib/oop"],function(R,k,z){var E=R("./range").Range,L=R("./lib/event_emitter").EventEmitter,A=R("./lib/oop"),l=function(){function u(i,o,r,t,e,n){var s=this;this.length=o,this.session=i,this.doc=i.getDocument(),this.mainClass=e,this.othersClass=n,this.$onUpdate=this.onUpdate.bind(this),this.doc.on("change",this.$onUpdate,!0),this.$others=t,this.$onCursorChange=function(){setTimeout(function(){s.onCursorChange()})},this.$pos=r;var h=i.getUndoManager().$undoStack||i.getUndoManager().$undostack||{length:-1};this.$undoStackDepth=h.length,this.setup(),i.selection.on("changeCursor",this.$onCursorChange)}return u.prototype.setup=function(){var i=this,o=this.doc,r=this.session;this.selectionBefore=r.selection.toJSON(),r.selection.inMultiSelectMode&&r.selection.toSingleRange(),this.pos=o.createAnchor(this.$pos.row,this.$pos.column);var t=this.pos;t.$insertRight=!0,t.detach(),t.markerId=r.addMarker(new E(t.row,t.column,t.row,t.column+this.length),this.mainClass,null,!1),this.others=[],this.$others.forEach(function(e){var n=o.createAnchor(e.row,e.column);n.$insertRight=!0,n.detach(),i.others.push(n)}),r.setUndoSelect(!1)},u.prototype.showOtherMarkers=function(){if(!this.othersActive){var i=this.session,o=this;this.othersActive=!0,this.others.forEach(function(r){r.markerId=i.addMarker(new E(r.row,r.column,r.row,r.column+o.length),o.othersClass,null,!1)})}},u.prototype.hideOtherMarkers=function(){if(this.othersActive){this.othersActive=!1;for(var i=0;i<this.others.length;i++)this.session.removeMarker(this.others[i].markerId)}},u.prototype.onUpdate=function(i){if(this.$updating)return this.updateAnchors(i);var o=i;if(o.start.row===o.end.row&&o.start.row===this.pos.row){this.$updating=!0;var r=i.action==="insert"?o.end.column-o.start.column:o.start.column-o.end.column,t=o.start.column>=this.pos.column&&o.start.column<=this.pos.column+this.length+1,e=o.start.column-this.pos.column;if(this.updateAnchors(i),t&&(this.length+=r),t&&!this.session.$fromUndo){if(i.action==="insert")for(var n=this.others.length-1;n>=0;n--){var s=this.others[n],h={row:s.row,column:s.column+e};this.doc.insertMergedLines(h,i.lines)}else if(i.action==="remove")for(var n=this.others.length-1;n>=0;n--){var s=this.others[n],h={row:s.row,column:s.column+e};this.doc.remove(new E(h.row,h.column,h.row,h.column-r))}}this.$updating=!1,this.updateMarkers()}},u.prototype.updateAnchors=function(i){this.pos.onChange(i);for(var o=this.others.length;o--;)this.others[o].onChange(i);this.updateMarkers()},u.prototype.updateMarkers=function(){if(!this.$updating){var i=this,o=this.session,r=function(e,n){o.removeMarker(e.markerId),e.markerId=o.addMarker(new E(e.row,e.column,e.row,e.column+i.length),n,null,!1)};r(this.pos,this.mainClass);for(var t=this.others.length;t--;)r(this.others[t],this.othersClass)}},u.prototype.onCursorChange=function(i){if(!(this.$updating||!this.session)){var o=this.session.selection.getCursor();o.row===this.pos.row&&o.column>=this.pos.column&&o.column<=this.pos.column+this.length?(this.showOtherMarkers(),this._emit("cursorEnter",i)):(this.hideOtherMarkers(),this._emit("cursorLeave",i))}},u.prototype.detach=function(){this.session.removeMarker(this.pos&&this.pos.markerId),this.hideOtherMarkers(),this.doc.off("change",this.$onUpdate),this.session.selection.off("changeCursor",this.$onCursorChange),this.session.setUndoSelect(!0),this.session=null},u.prototype.cancel=function(){if(this.$undoStackDepth!==-1){for(var i=this.session.getUndoManager(),o=(i.$undoStack||i.$undostack).length-this.$undoStackDepth,r=0;r<o;r++)i.undo(this.session,!0);this.selectionBefore&&this.session.selection.fromJSON(this.selectionBefore)}},u}();A.implement(l.prototype,L),k.PlaceHolder=l}),ace.define("ace/mouse/multi_select_handler",["require","exports","module","ace/lib/event","ace/lib/useragent"],function(R,k,z){var E=R("../lib/event"),L=R("../lib/useragent");function A(u,i){return u.row==i.row&&u.column==i.column}function l(u){var i=u.domEvent,o=i.altKey,r=i.shiftKey,t=i.ctrlKey,e=u.getAccelKey(),n=u.getButton();if(t&&L.isMac&&(n=i.button),u.editor.inMultiSelectMode&&n==2){u.editor.textInput.onContextMenu(u.domEvent);return}if(!t&&!o&&!e){n===0&&u.editor.inMultiSelectMode&&u.editor.exitMultiSelectMode();return}if(n===0){var s=u.editor,h=s.selection,f=s.inMultiSelectMode,C=u.getDocumentPosition(),v=h.getCursor(),p=u.inSelection()||h.isEmpty()&&A(C,v),a=u.x,m=u.y,S=function(D){a=D.clientX,m=D.clientY},$=s.session,w=s.renderer.pixelToScreenCoordinates(a,m),T=w,b;if(s.$mouseHandler.$enableJumpToDef)t&&o||e&&o?b=r?"block":"add":o&&s.$blockSelectEnabled&&(b="block");else if(e&&!o){if(b="add",!f&&r)return}else o&&s.$blockSelectEnabled&&(b="block");if(b&&L.isMac&&i.ctrlKey&&s.$mouseHandler.cancelContextMenu(),b=="add"){if(!f&&p)return;if(!f){var g=h.toOrientedRange();s.addSelectionMarker(g)}var d=h.rangeList.rangeAtPoint(C);s.inVirtualSelectionMode=!0,r&&(d=null,g=h.ranges[0]||g,s.removeSelectionMarker(g)),s.once("mouseup",function(){var D=h.toOrientedRange();d&&D.isEmpty()&&A(d.cursor,D.cursor)?h.substractPoint(D.cursor):(r?h.substractPoint(g.cursor):g&&(s.removeSelectionMarker(g),h.addRange(g)),h.addRange(D)),s.inVirtualSelectionMode=!1})}else if(b=="block"){u.stop(),s.inVirtualSelectionMode=!0;var c,y=[],M=function(){var D=s.renderer.pixelToScreenCoordinates(a,m),H=$.screenToDocumentPosition(D.row,D.column,D.offsetX);A(T,D)&&A(H,h.lead)||(T=D,s.selection.moveToPosition(H),s.renderer.scrollCursorIntoView(),s.removeSelectionMarkers(y),y=h.rectangularRangeBlock(T,w),s.$mouseHandler.$clickSelection&&y.length==1&&y[0].isEmpty()&&(y[0]=s.$mouseHandler.$clickSelection.clone()),y.forEach(s.addSelectionMarker,s),s.updateSelectionMarkers())};f&&!e?h.toSingleRange():!f&&e&&(c=h.toOrientedRange(),s.addSelectionMarker(c)),r?w=$.documentToScreenPosition(h.lead):h.moveToPosition(C),T={row:-1,column:-1};var x=function(D){M(),clearInterval(_),s.removeSelectionMarkers(y),y.length||(y=[h.toOrientedRange()]),c&&(s.removeSelectionMarker(c),h.toSingleRange(c));for(var H=0;H<y.length;H++)h.addRange(y[H]);s.inVirtualSelectionMode=!1,s.$mouseHandler.$clickSelection=null},I=M;E.capture(s.container,S,x);var _=setInterval(function(){I()},20);return u.preventDefault()}}}k.onMouseDown=l}),ace.define("ace/commands/multi_select_commands",["require","exports","module","ace/keyboard/hash_handler"],function(R,k,z){k.defaultCommands=[{name:"addCursorAbove",description:"Add cursor above",exec:function(L){L.selectMoreLines(-1)},bindKey:{win:"Ctrl-Alt-Up",mac:"Ctrl-Alt-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelow",description:"Add cursor below",exec:function(L){L.selectMoreLines(1)},bindKey:{win:"Ctrl-Alt-Down",mac:"Ctrl-Alt-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorAboveSkipCurrent",description:"Add cursor above (skip current)",exec:function(L){L.selectMoreLines(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Up",mac:"Ctrl-Alt-Shift-Up"},scrollIntoView:"cursor",readOnly:!0},{name:"addCursorBelowSkipCurrent",description:"Add cursor below (skip current)",exec:function(L){L.selectMoreLines(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Down",mac:"Ctrl-Alt-Shift-Down"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreBefore",description:"Select more before",exec:function(L){L.selectMore(-1)},bindKey:{win:"Ctrl-Alt-Left",mac:"Ctrl-Alt-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectMoreAfter",description:"Select more after",exec:function(L){L.selectMore(1)},bindKey:{win:"Ctrl-Alt-Right",mac:"Ctrl-Alt-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextBefore",description:"Select next before",exec:function(L){L.selectMore(-1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Left",mac:"Ctrl-Alt-Shift-Left"},scrollIntoView:"cursor",readOnly:!0},{name:"selectNextAfter",description:"Select next after",exec:function(L){L.selectMore(1,!0)},bindKey:{win:"Ctrl-Alt-Shift-Right",mac:"Ctrl-Alt-Shift-Right"},scrollIntoView:"cursor",readOnly:!0},{name:"toggleSplitSelectionIntoLines",description:"Split selection into lines",exec:function(L){L.multiSelect.rangeCount>1?L.multiSelect.joinSelections():L.multiSelect.splitIntoLines()},bindKey:{win:"Ctrl-Alt-L",mac:"Ctrl-Alt-L"},readOnly:!0},{name:"splitSelectionIntoLines",description:"Split into lines",exec:function(L){L.multiSelect.splitIntoLines()},readOnly:!0},{name:"alignCursors",description:"Align cursors",exec:function(L){L.alignCursors()},bindKey:{win:"Ctrl-Alt-A",mac:"Ctrl-Alt-A"},scrollIntoView:"cursor"},{name:"findAll",description:"Find all",exec:function(L){L.findAll()},bindKey:{win:"Ctrl-Alt-K",mac:"Ctrl-Alt-G"},scrollIntoView:"cursor",readOnly:!0}],k.multiSelectCommands=[{name:"singleSelection",description:"Single selection",bindKey:"esc",exec:function(L){L.exitMultiSelectMode()},scrollIntoView:"cursor",readOnly:!0,isAvailable:function(L){return L&&L.inMultiSelectMode}}];var E=R("../keyboard/hash_handler").HashHandler;k.keyboardHandler=new E(k.multiSelectCommands)}),ace.define("ace/multi_select",["require","exports","module","ace/range_list","ace/range","ace/selection","ace/mouse/multi_select_handler","ace/lib/event","ace/lib/lang","ace/commands/multi_select_commands","ace/search","ace/edit_session","ace/editor","ace/config"],function(R,k,z){var E=R("./range_list").RangeList,L=R("./range").Range,A=R("./selection").Selection,l=R("./mouse/multi_select_handler").onMouseDown,u=R("./lib/event"),i=R("./lib/lang"),o=R("./commands/multi_select_commands");k.commands=o.defaultCommands.concat(o.multiSelectCommands);var r=R("./search").Search,t=new r;function e(v,p,a){return t.$options.wrap=!0,t.$options.needle=p,t.$options.backwards=a==-1,t.find(v)}var n=R("./edit_session").EditSession;(function(){this.getSelectionMarkers=function(){return this.$selectionMarkers}}).call(n.prototype),(function(){this.ranges=null,this.rangeList=null,this.addRange=function(v,p){if(v){if(!this.inMultiSelectMode&&this.rangeCount===0){var a=this.toOrientedRange();if(this.rangeList.add(a),this.rangeList.add(v),this.rangeList.ranges.length!=2)return this.rangeList.removeAll(),p||this.fromOrientedRange(v);this.rangeList.removeAll(),this.rangeList.add(a),this.$onAddRange(a)}v.cursor||(v.cursor=v.end);var m=this.rangeList.add(v);return this.$onAddRange(v),m.length&&this.$onRemoveRange(m),this.rangeCount>1&&!this.inMultiSelectMode&&(this._signal("multiSelect"),this.inMultiSelectMode=!0,this.session.$undoSelect=!1,this.rangeList.attach(this.session)),p||this.fromOrientedRange(v)}},this.toSingleRange=function(v){v=v||this.ranges[0];var p=this.rangeList.removeAll();p.length&&this.$onRemoveRange(p),v&&this.fromOrientedRange(v)},this.substractPoint=function(v){var p=this.rangeList.substractPoint(v);if(p)return this.$onRemoveRange(p),p[0]},this.mergeOverlappingRanges=function(){var v=this.rangeList.merge();v.length&&this.$onRemoveRange(v)},this.$onAddRange=function(v){this.rangeCount=this.rangeList.ranges.length,this.ranges.unshift(v),this._signal("addRange",{range:v})},this.$onRemoveRange=function(v){if(this.rangeCount=this.rangeList.ranges.length,this.rangeCount==1&&this.inMultiSelectMode){var p=this.rangeList.ranges.pop();v.push(p),this.rangeCount=0}for(var a=v.length;a--;){var m=this.ranges.indexOf(v[a]);this.ranges.splice(m,1)}this._signal("removeRange",{ranges:v}),this.rangeCount===0&&this.inMultiSelectMode&&(this.inMultiSelectMode=!1,this._signal("singleSelect"),this.session.$undoSelect=!0,this.rangeList.detach(this.session)),p=p||this.ranges[0],p&&!p.isEqual(this.getRange())&&this.fromOrientedRange(p)},this.$initRangeList=function(){this.rangeList||(this.rangeList=new E,this.ranges=[],this.rangeCount=0)},this.getAllRanges=function(){return this.rangeCount?this.rangeList.ranges.concat():[this.getRange()]},this.splitIntoLines=function(){for(var v=this.ranges.length?this.ranges:[this.getRange()],p=[],a=0;a<v.length;a++){var m=v[a],S=m.start.row,$=m.end.row;if(S===$)p.push(m.clone());else{for(p.push(new L(S,m.start.column,S,this.session.getLine(S).length));++S<$;)p.push(this.getLineRange(S,!0));p.push(new L($,0,$,m.end.column))}a==0&&!this.isBackwards()&&(p=p.reverse())}this.toSingleRange();for(var a=p.length;a--;)this.addRange(p[a])},this.joinSelections=function(){var v=this.rangeList.ranges,p=v[v.length-1],a=L.fromPoints(v[0].start,p.end);this.toSingleRange(),this.setSelectionRange(a,p.cursor==p.start)},this.toggleBlockSelection=function(){if(this.rangeCount>1){var v=this.rangeList.ranges,p=v[v.length-1],a=L.fromPoints(v[0].start,p.end);this.toSingleRange(),this.setSelectionRange(a,p.cursor==p.start)}else{var m=this.session.documentToScreenPosition(this.cursor),S=this.session.documentToScreenPosition(this.anchor),$=this.rectangularRangeBlock(m,S);$.forEach(this.addRange,this)}},this.rectangularRangeBlock=function(v,p,a){var m=[],S=v.column<p.column;if(S)var $=v.column,w=p.column,T=v.offsetX,b=p.offsetX;else var $=p.column,w=v.column,T=p.offsetX,b=v.offsetX;var g=v.row<p.row;if(g)var d=v.row,c=p.row;else var d=p.row,c=v.row;$<0&&($=0),d<0&&(d=0),d==c&&(a=!0);for(var y,M=d;M<=c;M++){var x=L.fromPoints(this.session.screenToDocumentPosition(M,$,T),this.session.screenToDocumentPosition(M,w,b));if(x.isEmpty()){if(y&&h(x.end,y))break;y=x.end}x.cursor=S?x.start:x.end,m.push(x)}if(g&&m.reverse(),!a){for(var I=m.length-1;m[I].isEmpty()&&I>0;)I--;if(I>0)for(var _=0;m[_].isEmpty();)_++;for(var D=I;D>=_;D--)m[D].isEmpty()&&m.splice(D,1)}return m}}).call(A.prototype);var s=R("./editor").Editor;(function(){this.updateSelectionMarkers=function(){this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.addSelectionMarker=function(v){v.cursor||(v.cursor=v.end);var p=this.getSelectionStyle();return v.marker=this.session.addMarker(v,"ace_selection",p),this.session.$selectionMarkers.push(v),this.session.selectionMarkerCount=this.session.$selectionMarkers.length,v},this.removeSelectionMarker=function(v){if(v.marker){this.session.removeMarker(v.marker);var p=this.session.$selectionMarkers.indexOf(v);p!=-1&&this.session.$selectionMarkers.splice(p,1),this.session.selectionMarkerCount=this.session.$selectionMarkers.length}},this.removeSelectionMarkers=function(v){for(var p=this.session.$selectionMarkers,a=v.length;a--;){var m=v[a];if(m.marker){this.session.removeMarker(m.marker);var S=p.indexOf(m);S!=-1&&p.splice(S,1)}}this.session.selectionMarkerCount=p.length},this.$onAddRange=function(v){this.addSelectionMarker(v.range),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onRemoveRange=function(v){this.removeSelectionMarkers(v.ranges),this.renderer.updateCursor(),this.renderer.updateBackMarkers()},this.$onMultiSelect=function(v){this.inMultiSelectMode||(this.inMultiSelectMode=!0,this.setStyle("ace_multiselect"),this.keyBinding.addKeyboardHandler(o.keyboardHandler),this.commands.setDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers())},this.$onSingleSelect=function(v){this.session.multiSelect.inVirtualMode||(this.inMultiSelectMode=!1,this.unsetStyle("ace_multiselect"),this.keyBinding.removeKeyboardHandler(o.keyboardHandler),this.commands.removeDefaultHandler("exec",this.$onMultiSelectExec),this.renderer.updateCursor(),this.renderer.updateBackMarkers(),this._emit("changeSelection"))},this.$onMultiSelectExec=function(v){var p=v.command,a=v.editor;if(a.multiSelect){if(p.multiSelectAction)p.multiSelectAction=="forEach"?m=a.forEachSelection(p,v.args):p.multiSelectAction=="forEachLine"?m=a.forEachSelection(p,v.args,!0):p.multiSelectAction=="single"?(a.exitMultiSelectMode(),m=p.exec(a,v.args||{})):m=p.multiSelectAction(a,v.args||{});else{var m=p.exec(a,v.args||{});a.multiSelect.addRange(a.multiSelect.toOrientedRange()),a.multiSelect.mergeOverlappingRanges()}return m}},this.forEachSelection=function(v,p,a){if(!this.inVirtualSelectionMode){var m=a&&a.keepOrder,S=a==!0||a&&a.$byLines,$=this.session,w=this.selection,T=w.rangeList,b=(m?w:T).ranges,g;if(!b.length)return v.exec?v.exec(this,p||{}):v(this,p||{});var d=w._eventRegistry;w._eventRegistry={};var c=new A($);this.inVirtualSelectionMode=!0;for(var y=b.length;y--;){if(S)for(;y>0&&b[y].start.row==b[y-1].end.row;)y--;c.fromOrientedRange(b[y]),c.index=y,this.selection=$.selection=c;var M=v.exec?v.exec(this,p||{}):v(this,p||{});!g&&M!==void 0&&(g=M),c.toOrientedRange(b[y])}c.detach(),this.selection=$.selection=w,this.inVirtualSelectionMode=!1,w._eventRegistry=d,w.mergeOverlappingRanges(),w.ranges[0]&&w.fromOrientedRange(w.ranges[0]);var x=this.renderer.$scrollAnimation;return this.onCursorChange(),this.onSelectionChange(),x&&x.from==x.to&&this.renderer.animateScrolling(x.from),g}},this.exitMultiSelectMode=function(){!this.inMultiSelectMode||this.inVirtualSelectionMode||this.multiSelect.toSingleRange()},this.getSelectedText=function(){var v="";if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){for(var p=this.multiSelect.rangeList.ranges,a=[],m=0;m<p.length;m++)a.push(this.session.getTextRange(p[m]));var S=this.session.getDocument().getNewLineCharacter();v=a.join(S),v.length==(a.length-1)*S.length&&(v="")}else this.selection.isEmpty()||(v=this.session.getTextRange(this.getSelectionRange()));return v},this.$checkMultiselectChange=function(v,p){if(this.inMultiSelectMode&&!this.inVirtualSelectionMode){var a=this.multiSelect.ranges[0];if(this.multiSelect.isEmpty()&&p==this.multiSelect.anchor)return;var m=p==this.multiSelect.anchor?a.cursor==a.start?a.end:a.start:a.cursor;m.row!=p.row||this.session.$clipPositionToDocument(m.row,m.column).column!=p.column?this.multiSelect.toSingleRange(this.multiSelect.toOrientedRange()):this.multiSelect.mergeOverlappingRanges()}},this.findAll=function(v,p,a){if(p=p||{},p.needle=v||p.needle,p.needle==null){var m=this.selection.isEmpty()?this.selection.getWordRange():this.selection.getRange();p.needle=this.session.getTextRange(m)}this.$search.set(p);var S=this.$search.findAll(this.session);if(!S.length)return 0;var $=this.multiSelect;a||$.toSingleRange(S[0]);for(var w=S.length;w--;)$.addRange(S[w],!0);return m&&$.rangeList.rangeAtPoint(m.start)&&$.addRange(m,!0),S.length},this.selectMoreLines=function(v,p){var a=this.selection.toOrientedRange(),m=a.cursor==a.end,S=this.session.documentToScreenPosition(a.cursor);this.selection.$desiredColumn&&(S.column=this.selection.$desiredColumn);var $=this.session.screenToDocumentPosition(S.row+v,S.column);if(a.isEmpty())var T=$;else var w=this.session.documentToScreenPosition(m?a.end:a.start),T=this.session.screenToDocumentPosition(w.row+v,w.column);if(m){var b=L.fromPoints($,T);b.cursor=b.start}else{var b=L.fromPoints(T,$);b.cursor=b.end}if(b.desiredColumn=S.column,!this.selection.inMultiSelectMode)this.selection.addRange(a);else if(p)var g=a.cursor;this.selection.addRange(b),g&&this.selection.substractPoint(g)},this.transposeSelections=function(v){for(var p=this.session,a=p.multiSelect,m=a.ranges,S=m.length;S--;){var $=m[S];if($.isEmpty()){var w=p.getWordRange($.start.row,$.start.column);$.start.row=w.start.row,$.start.column=w.start.column,$.end.row=w.end.row,$.end.column=w.end.column}}a.mergeOverlappingRanges();for(var T=[],S=m.length;S--;){var $=m[S];T.unshift(p.getTextRange($))}v<0?T.unshift(T.pop()):T.push(T.shift());for(var S=m.length;S--;){var $=m[S],b=$.clone();p.replace($,T[S]),$.start.row=b.start.row,$.start.column=b.start.column}a.fromOrientedRange(a.ranges[0])},this.selectMore=function(v,p,a){var m=this.session,S=m.multiSelect,$=S.toOrientedRange();if(!($.isEmpty()&&($=m.getWordRange($.start.row,$.start.column),$.cursor=v==-1?$.start:$.end,this.multiSelect.addRange($),a))){var w=m.getTextRange($),T=e(m,w,v);T&&(T.cursor=v==-1?T.start:T.end,this.session.unfold(T),this.multiSelect.addRange(T),this.renderer.scrollCursorIntoView(null,.5)),p&&this.multiSelect.substractPoint($.cursor)}},this.alignCursors=function(){var v=this.session,p=v.multiSelect,a=p.ranges,m=-1,S=a.filter(function(I){if(I.cursor.row==m)return!0;m=I.cursor.row});if(!a.length||S.length==a.length-1){var $=this.selection.getRange(),w=$.start.row,T=$.end.row,b=w==T;if(b){var g=this.session.getLength(),d;do d=this.session.getLine(T);while(/[=:]/.test(d)&&++T<g);do d=this.session.getLine(w);while(/[=:]/.test(d)&&--w>0);w<0&&(w=0),T>=g&&(T=g-1)}var c=this.session.removeFullLines(w,T);c=this.$reAlignText(c,b),this.session.insert({row:w,column:0},c.join(`
|
|
951
|
-
`)+`
|
|
952
|
-
`),b||($.start.column=0,$.end.column=c[c.length-1].length),this.selection.setRange($)}else{S.forEach(function(I){p.substractPoint(I.cursor)});var y=0,M=1/0,x=a.map(function(I){var _=I.cursor,D=v.getLine(_.row),H=D.substr(_.column).search(/\S/g);return H==-1&&(H=0),_.column>y&&(y=_.column),H<M&&(M=H),H});a.forEach(function(I,_){var D=I.cursor,H=y-D.column,N=x[_]-M;H>N?v.insert(D,i.stringRepeat(" ",H-N)):v.remove(new L(D.row,D.column,D.row,D.column-H+N)),I.start.column=I.end.column=y,I.start.row=I.end.row=D.row,I.cursor=I.end}),p.fromOrientedRange(a[0]),this.renderer.updateCursor(),this.renderer.updateBackMarkers()}},this.$reAlignText=function(v,p){var a=!0,m=!0,S,$,w;return v.map(function(c){var y=c.match(/(\s*)(.*?)(\s*)([=:].*)/);return y?S==null?(S=y[1].length,$=y[2].length,w=y[3].length,y):(S+$+w!=y[1].length+y[2].length+y[3].length&&(m=!1),S!=y[1].length&&(a=!1),S>y[1].length&&(S=y[1].length),$<y[2].length&&($=y[2].length),w>y[3].length&&(w=y[3].length),y):[c]}).map(p?b:a?m?g:b:d);function T(c){return i.stringRepeat(" ",c)}function b(c){return c[2]?T(S)+c[2]+T($-c[2].length+w)+c[4].replace(/^([=:])\s+/,"$1 "):c[0]}function g(c){return c[2]?T(S+$-c[2].length)+c[2]+T(w)+c[4].replace(/^([=:])\s+/,"$1 "):c[0]}function d(c){return c[2]?T(S)+c[2]+T(w)+c[4].replace(/^([=:])\s+/,"$1 "):c[0]}}}).call(s.prototype);function h(v,p){return v.row==p.row&&v.column==p.column}k.onSessionChange=function(v){var p=v.session;p&&!p.multiSelect&&(p.$selectionMarkers=[],p.selection.$initRangeList(),p.multiSelect=p.selection),this.multiSelect=p&&p.multiSelect;var a=v.oldSession;a&&(a.multiSelect.off("addRange",this.$onAddRange),a.multiSelect.off("removeRange",this.$onRemoveRange),a.multiSelect.off("multiSelect",this.$onMultiSelect),a.multiSelect.off("singleSelect",this.$onSingleSelect),a.multiSelect.lead.off("change",this.$checkMultiselectChange),a.multiSelect.anchor.off("change",this.$checkMultiselectChange)),p&&(p.multiSelect.on("addRange",this.$onAddRange),p.multiSelect.on("removeRange",this.$onRemoveRange),p.multiSelect.on("multiSelect",this.$onMultiSelect),p.multiSelect.on("singleSelect",this.$onSingleSelect),p.multiSelect.lead.on("change",this.$checkMultiselectChange),p.multiSelect.anchor.on("change",this.$checkMultiselectChange)),p&&this.inMultiSelectMode!=p.selection.inMultiSelectMode&&(p.selection.inMultiSelectMode?this.$onMultiSelect():this.$onSingleSelect())};function f(v){v.$multiselectOnSessionChange||(v.$onAddRange=v.$onAddRange.bind(v),v.$onRemoveRange=v.$onRemoveRange.bind(v),v.$onMultiSelect=v.$onMultiSelect.bind(v),v.$onSingleSelect=v.$onSingleSelect.bind(v),v.$multiselectOnSessionChange=k.onSessionChange.bind(v),v.$checkMultiselectChange=v.$checkMultiselectChange.bind(v),v.$multiselectOnSessionChange(v),v.on("changeSession",v.$multiselectOnSessionChange),v.on("mousedown",l),v.commands.addCommands(o.defaultCommands),C(v))}function C(v){if(!v.textInput)return;var p=v.textInput.getElement(),a=!1;u.addListener(p,"keydown",function(S){var $=S.keyCode==18&&!(S.ctrlKey||S.shiftKey||S.metaKey);v.$blockSelectEnabled&&$?a||(v.renderer.setMouseCursor("crosshair"),a=!0):a&&m()},v),u.addListener(p,"keyup",m,v),u.addListener(p,"blur",m,v);function m(S){a&&(v.renderer.setMouseCursor(""),a=!1)}}k.MultiSelect=f,R("./config").defineOptions(s.prototype,"editor",{enableMultiselect:{set:function(v){f(this),v?this.on("mousedown",l):this.off("mousedown",l)},value:!0},enableBlockSelect:{set:function(v){this.$blockSelectEnabled=v},value:!0}})}),ace.define("ace/mode/folding/fold_mode",["require","exports","module","ace/range"],function(R,k,z){var E=R("../../range").Range,L=k.FoldMode=function(){};(function(){this.foldingStartMarker=null,this.foldingStopMarker=null,this.getFoldWidget=function(A,l,u){var i=A.getLine(u);return this.foldingStartMarker.test(i)?"start":l=="markbeginend"&&this.foldingStopMarker&&this.foldingStopMarker.test(i)?"end":""},this.getFoldWidgetRange=function(A,l,u){return null},this.indentationBlock=function(A,l,u){var i=/\S/,o=A.getLine(l),r=o.search(i);if(r!=-1){for(var t=u||o.length,e=A.getLength(),n=l,s=l;++l<e;){var h=A.getLine(l).search(i);if(h!=-1){if(h<=r){var f=A.getTokenAt(l,0);if(!f||f.type!=="string")break}s=l}}if(s>n){var C=A.getLine(s).length;return new E(n,t,s,C)}}},this.openingBracketBlock=function(A,l,u,i,o){var r={row:u,column:i+1},t=A.$findClosingBracket(l,r,o);if(t){var e=A.foldWidgets[t.row];return e==null&&(e=A.getFoldWidget(t.row)),e=="start"&&t.row>r.row&&(t.row--,t.column=A.getLine(t.row).length),E.fromPoints(r,t)}},this.closingBracketBlock=function(A,l,u,i,o){var r={row:u,column:i},t=A.$findOpeningBracket(l,r);if(t)return t.column++,r.column--,E.fromPoints(t,r)}}).call(L.prototype)}),ace.define("ace/ext/error_marker",["require","exports","module","ace/lib/dom","ace/range","ace/config"],function(R,k,z){var E=R("../lib/dom"),L=R("../range").Range,A=R("../config").nls;function l(i,o,r){for(var t=0,e=i.length-1;t<=e;){var n=t+e>>1,s=r(o,i[n]);if(s>0)t=n+1;else if(s<0)e=n-1;else return n}return-(t+1)}function u(i,o,r){var t=i.getAnnotations().sort(L.comparePoints);if(t.length){var e=l(t,{row:o,column:-1},L.comparePoints);e<0&&(e=-e-1),e>=t.length?e=r>0?0:t.length-1:e===0&&r<0&&(e=t.length-1);var n=t[e];if(!(!n||!r)){if(n.row===o){do n=t[e+=r];while(n&&n.row===o);if(!n)return t.slice()}var s=[];o=n.row;do s[r<0?"unshift":"push"](n),n=t[e+=r];while(n&&n.row==o);return s.length&&s}}}k.showErrorMarker=function(i,o){var r=i.session,t=i.getCursorPosition(),e=t.row,n=r.widgetManager.getWidgetsAtRow(e).filter(function(S){return S.type=="errorMarker"})[0];n?n.destroy():e-=o;var s=u(r,e,o),h;if(s){var f=s[0];t.column=(f.pos&&typeof f.column!="number"?f.pos.sc:f.column)||0,t.row=f.row,h=i.renderer.$gutterLayer.$annotations[t.row]}else{if(n)return;h={displayText:[A("error-marker.good-state","Looks good!")],className:"ace_ok"}}i.session.unfold(t.row),i.selection.moveToPosition(t);var C={row:t.row,fixedWidth:!0,coverGutter:!0,el:E.createElement("div"),type:"errorMarker"},v=C.el.appendChild(E.createElement("div")),p=C.el.appendChild(E.createElement("div"));p.className="error_widget_arrow "+h.className;var a=i.renderer.$cursorLayer.getPixelPosition(t).left;p.style.left=a+i.renderer.gutterWidth-5+"px",C.el.className="error_widget_wrapper",v.className="error_widget "+h.className,h.displayText.forEach(function(S,$){v.appendChild(E.createTextNode(S)),$<h.displayText.length-1&&v.appendChild(E.createElement("br"))}),v.appendChild(E.createElement("div"));var m=function(S,$,w){if($===0&&(w==="esc"||w==="return"))return C.destroy(),{command:"null"}};C.destroy=function(){i.$mouseHandler.isMousePressed||(i.keyBinding.removeKeyboardHandler(m),r.widgetManager.removeLineWidget(C),i.off("changeSelection",C.destroy),i.off("changeSession",C.destroy),i.off("mouseup",C.destroy),i.off("change",C.destroy))},i.keyBinding.addKeyboardHandler(m),i.on("changeSelection",C.destroy),i.on("changeSession",C.destroy),i.on("mouseup",C.destroy),i.on("change",C.destroy),i.session.widgetManager.addLineWidget(C),C.el.onmousedown=i.focus.bind(i),i.renderer.scrollCursorIntoView(null,.5,{bottom:C.el.offsetHeight})},E.importCssString(`
|
|
953
|
-
.error_widget_wrapper {
|
|
954
|
-
background: inherit;
|
|
955
|
-
color: inherit;
|
|
956
|
-
border:none
|
|
957
|
-
}
|
|
958
|
-
.error_widget {
|
|
959
|
-
border-top: solid 2px;
|
|
960
|
-
border-bottom: solid 2px;
|
|
961
|
-
margin: 5px 0;
|
|
962
|
-
padding: 10px 40px;
|
|
963
|
-
white-space: pre-wrap;
|
|
964
|
-
}
|
|
965
|
-
.error_widget.ace_error, .error_widget_arrow.ace_error{
|
|
966
|
-
border-color: #ff5a5a
|
|
967
|
-
}
|
|
968
|
-
.error_widget.ace_warning, .error_widget_arrow.ace_warning{
|
|
969
|
-
border-color: #F1D817
|
|
970
|
-
}
|
|
971
|
-
.error_widget.ace_info, .error_widget_arrow.ace_info{
|
|
972
|
-
border-color: #5a5a5a
|
|
973
|
-
}
|
|
974
|
-
.error_widget.ace_ok, .error_widget_arrow.ace_ok{
|
|
975
|
-
border-color: #5aaa5a
|
|
976
|
-
}
|
|
977
|
-
.error_widget_arrow {
|
|
978
|
-
position: absolute;
|
|
979
|
-
border: solid 5px;
|
|
980
|
-
border-top-color: transparent!important;
|
|
981
|
-
border-right-color: transparent!important;
|
|
982
|
-
border-left-color: transparent!important;
|
|
983
|
-
top: -5px;
|
|
984
|
-
}
|
|
985
|
-
`,"error_marker.css",!1)}),ace.define("ace/ace",["require","exports","module","ace/lib/dom","ace/range","ace/editor","ace/edit_session","ace/undomanager","ace/virtual_renderer","ace/worker/worker_client","ace/keyboard/hash_handler","ace/placeholder","ace/multi_select","ace/mode/folding/fold_mode","ace/theme/textmate","ace/ext/error_marker","ace/config","ace/loader_build"],function(R,k,z){R("./loader_build")(k);var E=R("./lib/dom"),L=R("./range").Range,A=R("./editor").Editor,l=R("./edit_session").EditSession,u=R("./undomanager").UndoManager,i=R("./virtual_renderer").VirtualRenderer;R("./worker/worker_client"),R("./keyboard/hash_handler"),R("./placeholder"),R("./multi_select"),R("./mode/folding/fold_mode"),R("./theme/textmate"),R("./ext/error_marker"),k.config=R("./config"),k.edit=function(r,t){if(typeof r=="string"){var e=r;if(r=document.getElementById(e),!r)throw new Error("ace.edit can't find div #"+e)}if(r&&r.env&&r.env.editor instanceof A)return r.env.editor;var n="";if(r&&/input|textarea/i.test(r.tagName)){var s=r;n=s.value,r=E.createElement("pre"),s.parentNode.replaceChild(r,s)}else r&&(n=r.textContent,r.innerHTML="");var h=k.createEditSession(n),f=new A(new i(r),h,t),C={document:h,editor:f,onResize:f.resize.bind(f,null)};return s&&(C.textarea=s),f.on("destroy",function(){C.editor.container.env=null}),f.container.env=f.env=C,f},k.createEditSession=function(r,t){var e=new l(r,t);return e.setUndoManager(new u),e},k.Range=L,k.Editor=A,k.EditSession=l,k.UndoManager=u,k.VirtualRenderer=i;var o=k.config.version;k.version=o}),function(){ace.require(["ace/ace"],function(R){R&&(R.config.init(!0),R.define=ace.define);var k=function(){return this}();!k&&typeof window<"u"&&(k=window),!k&&typeof self<"u"&&(k=self),k.ace||(k.ace=R);for(var z in R)R.hasOwnProperty(z)&&(k.ace[z]=R[z]);k.ace.default=k.ace,le&&(le.exports=k.ace)})}()}(ve)),ve.exports}var Se=Te();const ke=Le(Se),Ie=xe({__proto__:null,default:ke},[Se]),_e="/assets/mode-yaml.CIYL8U3d.0.0.69.js",De="data:text/javascript;base64,YWNlLmRlZmluZSgiYWNlL3RoZW1lL3R3aWxpZ2h0LWNzcyIsWyJyZXF1aXJlIiwiZXhwb3J0cyIsIm1vZHVsZSJdLCBmdW5jdGlvbihyZXF1aXJlLCBleHBvcnRzLCBtb2R1bGUpe21vZHVsZS5leHBvcnRzID0gIi5hY2UtdHdpbGlnaHQgLmFjZV9ndXR0ZXIge1xuICBiYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICBjb2xvcjogI0UyRTJFMlxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfcHJpbnQtbWFyZ2luIHtcbiAgd2lkdGg6IDFweDtcbiAgYmFja2dyb3VuZDogIzIzMjMyM1xufVxuXG4uYWNlLXR3aWxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE0MTQxNDtcbiAgY29sb3I6ICNGOEY4Rjhcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2N1cnNvciB7XG4gIGNvbG9yOiAjQTdBN0E3XG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIyMSwgMjQwLCAyNTUsIDAuMjApXG59XG5cbi5hY2UtdHdpbGlnaHQuYWNlX211bHRpc2VsZWN0IC5hY2Vfc2VsZWN0aW9uLmFjZV9zdGFydCB7XG4gIGJveC1zaGFkb3c6IDAgMCAzcHggMHB4ICMxNDE0MTQ7XG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9zdGVwIHtcbiAgYmFja2dyb3VuZDogcmdiKDEwMiwgODIsIDApXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9icmFja2V0IHtcbiAgbWFyZ2luOiAtMXB4IDAgMCAtMXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9tYXJrZXItbGF5ZXIgLmFjZV9hY3RpdmUtbGluZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMzEpXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9ndXR0ZXItYWN0aXZlLWxpbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMxKVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfbWFya2VyLWxheWVyIC5hY2Vfc2VsZWN0ZWQtd29yZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjIxLCAyNDAsIDI1NSwgMC4yMClcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2ludmlzaWJsZSB7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9rZXl3b3JkLFxuLmFjZS10d2lsaWdodCAuYWNlX21ldGEge1xuICBjb2xvcjogI0NEQTg2OVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfY29uc3RhbnQsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfY29uc3RhbnQuYWNlX2NoYXJhY3Rlcixcbi5hY2UtdHdpbGlnaHQgLmFjZV9jb25zdGFudC5hY2VfY2hhcmFjdGVyLmFjZV9lc2NhcGUsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfY29uc3RhbnQuYWNlX290aGVyLFxuLmFjZS10d2lsaWdodCAuYWNlX2hlYWRpbmcsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfbWFya3VwLmFjZV9oZWFkaW5nLFxuLmFjZS10d2lsaWdodCAuYWNlX3N1cHBvcnQuYWNlX2NvbnN0YW50IHtcbiAgY29sb3I6ICNDRjZBNENcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2ludmFsaWQuYWNlX2lsbGVnYWwge1xuICBjb2xvcjogI0Y4RjhGODtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg4NiwgNDUsIDg2LCAwLjc1KVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfaW52YWxpZC5hY2VfZGVwcmVjYXRlZCB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjRDJBOEExXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV9zdXBwb3J0IHtcbiAgY29sb3I6ICM5Qjg1OURcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2ZvbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUM4ODVCO1xuICBib3JkZXItY29sb3I6ICNGOEY4Rjhcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX3N1cHBvcnQuYWNlX2Z1bmN0aW9uIHtcbiAgY29sb3I6ICNEQUQwODVcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2xpc3QsXG4uYWNlLXR3aWxpZ2h0IC5hY2VfbWFya3VwLmFjZV9saXN0LFxuLmFjZS10d2lsaWdodCAuYWNlX3N0b3JhZ2Uge1xuICBjb2xvcjogI0Y5RUU5OFxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfZW50aXR5LmFjZV9uYW1lLmFjZV9mdW5jdGlvbixcbi5hY2UtdHdpbGlnaHQgLmFjZV9tZXRhLmFjZV90YWcge1xuICBjb2xvcjogI0FDODg1QlxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2Vfc3RyaW5nIHtcbiAgY29sb3I6ICM4RjlENkFcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX3N0cmluZy5hY2VfcmVnZXhwIHtcbiAgY29sb3I6ICNFOUMwNjJcbn1cblxuLmFjZS10d2lsaWdodCAuYWNlX2NvbW1lbnQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjNUY1QTYwXG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV92YXJpYWJsZSB7XG4gIGNvbG9yOiAjNzU4N0E2XG59XG5cbi5hY2UtdHdpbGlnaHQgLmFjZV94bWwtcGUge1xuICBjb2xvcjogIzQ5NDk0OVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfaW5kZW50LWd1aWRlIHtcbiAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQUVBQUFBQ0NBWUFBQUNaZ2JZbkFBQUFFa2xFUVZRSW1XTVFFUkZwWUxDMXRmMFBBQWdPQW5Qbmh4eWlBQUFBQUVsRlRrU3VRbUNDKSByaWdodCByZXBlYXQteVxufVxuXG4uYWNlLXR3aWxpZ2h0IC5hY2VfaW5kZW50LWd1aWRlLWFjdGl2ZSB7XG4gIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUNDQVlBQUFDWmdiWW5BQUFBRWtsRVFWUUlXMlBRMWRYOXp6Qno1c3ovQUJDY0JGRmVudExsQUFBQUFFbEZUa1N1UW1DQykgcmlnaHQgcmVwZWF0LXk7XG59XG4iOwoKfSk7CgphY2UuZGVmaW5lKCJhY2UvdGhlbWUvdHdpbGlnaHQiLFsicmVxdWlyZSIsImV4cG9ydHMiLCJtb2R1bGUiLCJhY2UvdGhlbWUvdHdpbGlnaHQtY3NzIiwiYWNlL2xpYi9kb20iXSwgZnVuY3Rpb24ocmVxdWlyZSwgZXhwb3J0cywgbW9kdWxlKXtleHBvcnRzLmlzRGFyayA9IHRydWU7CmV4cG9ydHMuY3NzQ2xhc3MgPSAiYWNlLXR3aWxpZ2h0IjsKZXhwb3J0cy5jc3NUZXh0ID0gcmVxdWlyZSgiLi90d2lsaWdodC1jc3MiKTsKdmFyIGRvbSA9IHJlcXVpcmUoIi4uL2xpYi9kb20iKTsKZG9tLmltcG9ydENzc1N0cmluZyhleHBvcnRzLmNzc1RleHQsIGV4cG9ydHMuY3NzQ2xhc3MsIGZhbHNlKTsKCn0pOyAgICAgICAgICAgICAgICAoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgICAgICAgICAgYWNlLnJlcXVpcmUoWyJhY2UvdGhlbWUvdHdpbGlnaHQiXSwgZnVuY3Rpb24obSkgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG1vZHVsZSA9PSAib2JqZWN0IiAmJiB0eXBlb2YgZXhwb3J0cyA9PSAib2JqZWN0IiAmJiBtb2R1bGUpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gbTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICAgICAgfSkoKTsKICAgICAgICAgICAg",Ne="/assets/worker-base.jEXLGV2h.0.0.69.js",Oe="/assets/worker-yaml.B3uUYINB.0.0.69.js";var ye={exports:{}},Ce;function Ee(){return Ce||(Ce=1,function(le,de){ace.define("ace/snippets",["require","exports","module","ace/lib/dom","ace/lib/oop","ace/lib/event_emitter","ace/lib/lang","ace/range","ace/range_list","ace/keyboard/hash_handler","ace/tokenizer","ace/clipboard","ace/editor"],function(R,k,z){var E=R("./lib/dom"),L=R("./lib/oop"),A=R("./lib/event_emitter").EventEmitter,l=R("./lib/lang"),u=R("./range").Range,i=R("./range_list").RangeList,o=R("./keyboard/hash_handler").HashHandler,r=R("./tokenizer").Tokenizer,t=R("./clipboard"),e={CURRENT_WORD:function(a){return a.session.getTextRange(a.session.getWordRange())},SELECTION:function(a,m,S){var $=a.session.getTextRange();return S?$.replace(/\n\r?([ \t]*\S)/g,`
|
|
986
|
-
`+S+"$1"):$},CURRENT_LINE:function(a){return a.session.getLine(a.getCursorPosition().row)},PREV_LINE:function(a){return a.session.getLine(a.getCursorPosition().row-1)},LINE_INDEX:function(a){return a.getCursorPosition().row},LINE_NUMBER:function(a){return a.getCursorPosition().row+1},SOFT_TABS:function(a){return a.session.getUseSoftTabs()?"YES":"NO"},TAB_SIZE:function(a){return a.session.getTabSize()},CLIPBOARD:function(a){return t.getText&&t.getText()},FILENAME:function(a){return/[^/\\]*$/.exec(this.FILEPATH(a))[0]},FILENAME_BASE:function(a){return/[^/\\]*$/.exec(this.FILEPATH(a))[0].replace(/\.[^.]*$/,"")},DIRECTORY:function(a){return this.FILEPATH(a).replace(/[^/\\]*$/,"")},FILEPATH:function(a){return"/not implemented.txt"},WORKSPACE_NAME:function(){return"Unknown"},FULLNAME:function(){return"Unknown"},BLOCK_COMMENT_START:function(a){var m=a.session.$mode||{};return m.blockComment&&m.blockComment.start||""},BLOCK_COMMENT_END:function(a){var m=a.session.$mode||{};return m.blockComment&&m.blockComment.end||""},LINE_COMMENT:function(a){var m=a.session.$mode||{};return m.lineCommentStart||""},CURRENT_YEAR:n.bind(null,{year:"numeric"}),CURRENT_YEAR_SHORT:n.bind(null,{year:"2-digit"}),CURRENT_MONTH:n.bind(null,{month:"numeric"}),CURRENT_MONTH_NAME:n.bind(null,{month:"long"}),CURRENT_MONTH_NAME_SHORT:n.bind(null,{month:"short"}),CURRENT_DATE:n.bind(null,{day:"2-digit"}),CURRENT_DAY_NAME:n.bind(null,{weekday:"long"}),CURRENT_DAY_NAME_SHORT:n.bind(null,{weekday:"short"}),CURRENT_HOUR:n.bind(null,{hour:"2-digit",hour12:!1}),CURRENT_MINUTE:n.bind(null,{minute:"2-digit"}),CURRENT_SECOND:n.bind(null,{second:"2-digit"})};e.SELECTED_TEXT=e.SELECTION;function n(a){var m=new Date().toLocaleString("en-us",a);return m.length==1?"0"+m:m}var s=function(){function a(){this.snippetMap={},this.snippetNameMap={},this.variables=e}return a.prototype.getTokenizer=function(){return a.$tokenizer||this.createTokenizer()},a.prototype.createTokenizer=function(){function m(w){return w=w.substr(1),/^\d+$/.test(w)?[{tabstopId:parseInt(w,10)}]:[{text:w}]}function S(w){return"(?:[^\\\\"+w+"]|\\\\.)"}var $={regex:"/("+S("/")+"+)/",onMatch:function(w,T,b){var g=b[0];return g.fmtString=!0,g.guard=w.slice(1,-1),g.flag="",""},next:"formatString"};return a.$tokenizer=new r({start:[{regex:/\\./,onMatch:function(w,T,b){var g=w[1];return(g=="}"&&b.length||"`$\\".indexOf(g)!=-1)&&(w=g),[w]}},{regex:/}/,onMatch:function(w,T,b){return[b.length?b.shift():w]}},{regex:/\$(?:\d+|\w+)/,onMatch:m},{regex:/\$\{[\dA-Z_a-z]+/,onMatch:function(w,T,b){var g=m(w.substr(1));return b.unshift(g[0]),g},next:"snippetVar"},{regex:/\n/,token:"newline",merge:!1}],snippetVar:[{regex:"\\|"+S("\\|")+"*\\|",onMatch:function(w,T,b){var g=w.slice(1,-1).replace(/\\[,|\\]|,/g,function(d){return d.length==2?d[1]:"\0"}).split("\0").map(function(d){return{value:d}});return b[0].choices=g,[g[0]]},next:"start"},$,{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"start"}],formatString:[{regex:/:/,onMatch:function(w,T,b){return b.length&&b[0].expectElse?(b[0].expectElse=!1,b[0].ifEnd={elseEnd:b[0]},[b[0].ifEnd]):":"}},{regex:/\\./,onMatch:function(w,T,b){var g=w[1];return g=="}"&&b.length||"`$\\".indexOf(g)!=-1?w=g:g=="n"?w=`
|
|
987
|
-
`:g=="t"?w=" ":"ulULE".indexOf(g)!=-1&&(w={changeCase:g,local:g>"a"}),[w]}},{regex:"/\\w*}",onMatch:function(w,T,b){var g=b.shift();return g&&(g.flag=w.slice(1,-1)),this.next=g&&g.tabstopId?"start":"",[g||w]},next:"start"},{regex:/\$(?:\d+|\w+)/,onMatch:function(w,T,b){return[{text:w.slice(1)}]}},{regex:/\${\w+/,onMatch:function(w,T,b){var g={text:w.slice(2)};return b.unshift(g),[g]},next:"formatStringVar"},{regex:/\n/,token:"newline",merge:!1},{regex:/}/,onMatch:function(w,T,b){var g=b.shift();return this.next=g&&g.tabstopId?"start":"",[g||w]},next:"start"}],formatStringVar:[{regex:/:\/\w+}/,onMatch:function(w,T,b){var g=b[0];return g.formatFunction=w.slice(2,-1),[b.shift()]},next:"formatString"},$,{regex:/:[\?\-+]?/,onMatch:function(w,T,b){w[1]=="+"&&(b[0].ifEnd=b[0]),w[1]=="?"&&(b[0].expectElse=!0)},next:"formatString"},{regex:"([^:}\\\\]|\\\\.)*:?",token:"",next:"formatString"}]}),a.$tokenizer},a.prototype.tokenizeTmSnippet=function(m,S){return this.getTokenizer().getLineTokens(m,S).tokens.map(function($){return $.value||$})},a.prototype.getVariableValue=function(m,S,$){if(/^\d+$/.test(S))return(this.variables.__||{})[S]||"";if(/^[A-Z]\d+$/.test(S))return(this.variables[S[0]+"__"]||{})[S.substr(1)]||"";if(S=S.replace(/^TM_/,""),!this.variables.hasOwnProperty(S))return"";var w=this.variables[S];return typeof w=="function"&&(w=this.variables[S](m,S,$)),w??""},a.prototype.tmStrFormat=function(m,S,$){if(!S.fmt)return m;var w=S.flag||"",T=S.guard;T=new RegExp(T,w.replace(/[^gim]/g,""));var b=typeof S.fmt=="string"?this.tokenizeTmSnippet(S.fmt,"formatString"):S.fmt,g=this,d=m.replace(T,function(){var c=g.variables.__;g.variables.__=[].slice.call(arguments);for(var y=g.resolveVariables(b,$),M="E",x=0;x<y.length;x++){var I=y[x];if(typeof I=="object")if(y[x]="",I.changeCase&&I.local){var _=y[x+1];_&&typeof _=="string"&&(I.changeCase=="u"?y[x]=_[0].toUpperCase():y[x]=_[0].toLowerCase(),y[x+1]=_.substr(1))}else I.changeCase&&(M=I.changeCase);else M=="U"?y[x]=I.toUpperCase():M=="L"&&(y[x]=I.toLowerCase())}return g.variables.__=c,y.join("")});return d},a.prototype.tmFormatFunction=function(m,S,$){return S.formatFunction=="upcase"?m.toUpperCase():S.formatFunction=="downcase"?m.toLowerCase():m},a.prototype.resolveVariables=function(m,S){for(var $=[],w="",T=!0,b=0;b<m.length;b++){var g=m[b];if(typeof g=="string"){$.push(g),g==`
|
|
988
|
-
`?(T=!0,w=""):T&&(w=/^\t*/.exec(g)[0],T=/\S/.test(g));continue}if(g){if(T=!1,g.fmtString){var d=m.indexOf(g,b+1);d==-1&&(d=m.length),g.fmt=m.slice(b+1,d),b=d}if(g.text){var c=this.getVariableValue(S,g.text,w)+"";g.fmtString&&(c=this.tmStrFormat(c,g,S)),g.formatFunction&&(c=this.tmFormatFunction(c,g,S)),c&&!g.ifEnd?($.push(c),y(g)):!c&&g.ifEnd&&y(g.ifEnd)}else g.elseEnd?y(g.elseEnd):(g.tabstopId!=null||g.changeCase!=null)&&$.push(g)}}function y(M){var x=m.indexOf(M,b+1);x!=-1&&(b=x)}return $},a.prototype.getDisplayTextForSnippet=function(m,S){var $=h.call(this,m,S);return $.text},a.prototype.insertSnippetForSelection=function(m,S,$){$===void 0&&($={});var w=h.call(this,m,S,$),T=m.getSelectionRange(),b=m.session.replace(T,w.text),g=new f(m),d=m.inVirtualSelectionMode&&m.selection.index;g.addTabstops(w.tabstops,T.start,b,d)},a.prototype.insertSnippet=function(m,S,$){$===void 0&&($={});var w=this;if(m.inVirtualSelectionMode)return w.insertSnippetForSelection(m,S,$);m.forEachSelection(function(){w.insertSnippetForSelection(m,S,$)},null,{keepOrder:!0}),m.tabstopManager&&m.tabstopManager.tabNext()},a.prototype.$getScope=function(m){var S=m.session.$mode.$id||"";if(S=S.split("/").pop(),S==="html"||S==="php"){S==="php"&&!m.session.$mode.inlinePhp&&(S="html");var $=m.getCursorPosition(),w=m.session.getState($.row);typeof w=="object"&&(w=w[0]),w.substring&&(w.substring(0,3)=="js-"?S="javascript":w.substring(0,4)=="css-"?S="css":w.substring(0,4)=="php-"&&(S="php"))}return S},a.prototype.getActiveScopes=function(m){var S=this.$getScope(m),$=[S],w=this.snippetMap;return w[S]&&w[S].includeScopes&&$.push.apply($,w[S].includeScopes),$.push("_"),$},a.prototype.expandWithTab=function(m,S){var $=this,w=m.forEachSelection(function(){return $.expandSnippetForSelection(m,S)},null,{keepOrder:!0});return w&&m.tabstopManager&&m.tabstopManager.tabNext(),w},a.prototype.expandSnippetForSelection=function(m,S){var $=m.getCursorPosition(),w=m.session.getLine($.row),T=w.substring(0,$.column),b=w.substr($.column),g=this.snippetMap,d;return this.getActiveScopes(m).some(function(c){var y=g[c];return y&&(d=this.findMatchingSnippet(y,T,b)),!!d},this),d?(S&&S.dryRun||(m.session.doc.removeInLine($.row,$.column-d.replaceBefore.length,$.column+d.replaceAfter.length),this.variables.M__=d.matchBefore,this.variables.T__=d.matchAfter,this.insertSnippetForSelection(m,d.content),this.variables.M__=this.variables.T__=null),!0):!1},a.prototype.findMatchingSnippet=function(m,S,$){for(var w=m.length;w--;){var T=m[w];if(!(T.startRe&&!T.startRe.test(S))&&!(T.endRe&&!T.endRe.test($))&&!(!T.startRe&&!T.endRe))return T.matchBefore=T.startRe?T.startRe.exec(S):[""],T.matchAfter=T.endRe?T.endRe.exec($):[""],T.replaceBefore=T.triggerRe?T.triggerRe.exec(S)[0]:"",T.replaceAfter=T.endTriggerRe?T.endTriggerRe.exec($)[0]:"",T}},a.prototype.register=function(m,S){var $=this.snippetMap,w=this.snippetNameMap,T=this;m||(m=[]);function b(c){return c&&!/^\^?\(.*\)\$?$|^\\b$/.test(c)&&(c="(?:"+c+")"),c||""}function g(c,y,M){return c=b(c),y=b(y),c=y+c,c&&c[c.length-1]!="$"&&(c=c+"$"),new RegExp(c)}function d(c){c.scope||(c.scope=S||"_"),S=c.scope,$[S]||($[S]=[],w[S]={});var y=w[S];if(c.name){var M=y[c.name];M&&T.unregister(M),y[c.name]=c}$[S].push(c),c.prefix&&(c.tabTrigger=c.prefix),!c.content&&c.body&&(c.content=Array.isArray(c.body)?c.body.join(`
|
|
989
|
-
`):c.body),c.tabTrigger&&!c.trigger&&(!c.guard&&/^\w/.test(c.tabTrigger)&&(c.guard="\\b"),c.trigger=l.escapeRegExp(c.tabTrigger)),!(!c.trigger&&!c.guard&&!c.endTrigger&&!c.endGuard)&&(c.startRe=g(c.trigger,c.guard),c.triggerRe=new RegExp(c.trigger),c.endRe=g(c.endTrigger,c.endGuard),c.endTriggerRe=new RegExp(c.endTrigger))}Array.isArray(m)?m.forEach(d):Object.keys(m).forEach(function(c){d(m[c])}),this._signal("registerSnippets",{scope:S})},a.prototype.unregister=function(m,S){var $=this.snippetMap,w=this.snippetNameMap;function T(b){var g=w[b.scope||S];if(g&&g[b.name]){delete g[b.name];var d=$[b.scope||S],c=d&&d.indexOf(b);c>=0&&d.splice(c,1)}}m.content?T(m):Array.isArray(m)&&m.forEach(T)},a.prototype.parseSnippetFile=function(m){m=m.replace(/\r/g,"");for(var S=[],$={},w=/^#.*|^({[\s\S]*})\s*$|^(\S+) (.*)$|^((?:\n*\t.*)+)/gm,T;T=w.exec(m);){if(T[1])try{$=JSON.parse(T[1]),S.push($)}catch{}if(T[4])$.content=T[4].replace(/^\t/gm,""),S.push($),$={};else{var b=T[2],g=T[3];if(b=="regex"){var d=/\/((?:[^\/\\]|\\.)*)|$/g;$.guard=d.exec(g)[1],$.trigger=d.exec(g)[1],$.endTrigger=d.exec(g)[1],$.endGuard=d.exec(g)[1]}else b=="snippet"?($.tabTrigger=g.match(/^\S*/)[0],$.name||($.name=g)):b&&($[b]=g)}}return S},a.prototype.getSnippetByName=function(m,S){var $=this.snippetNameMap,w;return this.getActiveScopes(S).some(function(T){var b=$[T];return b&&(w=b[m]),!!w},this),w},a}();L.implement(s.prototype,A);var h=function(a,m,S){S===void 0&&(S={});var $=a.getCursorPosition(),w=a.session.getLine($.row),T=a.session.getTabString(),b=w.match(/^\s*/)[0];$.column<b.length&&(b=b.slice(0,$.column)),m=m.replace(/\r/g,"");var g=this.tokenizeTmSnippet(m);g=this.resolveVariables(g,a),g=g.map(function(W){return W==`
|
|
990
|
-
`&&!S.excludeExtraIndent?W+b:typeof W=="string"?W.replace(/\t/g,T):W});var d=[];g.forEach(function(W,B){if(typeof W=="object"){var P=W.tabstopId,V=d[P];if(V||(V=d[P]=[],V.index=P,V.value="",V.parents={}),V.indexOf(W)===-1){W.choices&&!V.choices&&(V.choices=W.choices),V.push(W);var G=g.indexOf(W,B+1);if(G!==-1){var Y=g.slice(B+1,G),X=Y.some(function(q){return typeof q=="object"});X&&!V.value?V.value=Y:Y.length&&(!V.value||typeof V.value!="string")&&(V.value=Y.join(""))}}}}),d.forEach(function(W){W.length=0});var c={};function y(W){for(var B=[],P=0;P<W.length;P++){var V=W[P];if(typeof V=="object"){if(c[V.tabstopId])continue;var G=W.lastIndexOf(V,P-1);V=B[G]||{tabstopId:V.tabstopId}}B[P]=V}return B}for(var M=0;M<g.length;M++){var x=g[M];if(typeof x=="object"){var I=x.tabstopId,_=d[I],D=g.indexOf(x,M+1);if(c[I]){c[I]===x&&(delete c[I],Object.keys(c).forEach(function(W){_.parents[W]=!0}));continue}c[I]=x;var H=_.value;typeof H!="string"?H=y(H):x.fmt&&(H=this.tmStrFormat(H,x,a)),g.splice.apply(g,[M+1,Math.max(0,D-M)].concat(H,x)),_.indexOf(x)===-1&&_.push(x)}}var N=0,O=0,F="";return g.forEach(function(W){if(typeof W=="string"){var B=W.split(`
|
|
991
|
-
`);B.length>1?(O=B[B.length-1].length,N+=B.length-1):O+=W.length,F+=W}else W&&(W.start?W.end={row:N,column:O}:W.start={row:N,column:O})}),{text:F,tabstops:d,tokens:g}},f=function(){function a(m){if(this.index=0,this.ranges=[],this.tabstops=[],m.tabstopManager)return m.tabstopManager;m.tabstopManager=this,this.$onChange=this.onChange.bind(this),this.$onChangeSelection=l.delayedCall(this.onChangeSelection.bind(this)).schedule,this.$onChangeSession=this.onChangeSession.bind(this),this.$onAfterExec=this.onAfterExec.bind(this),this.attach(m)}return a.prototype.attach=function(m){this.$openTabstops=null,this.selectedTabstop=null,this.editor=m,this.session=m.session,this.editor.on("change",this.$onChange),this.editor.on("changeSelection",this.$onChangeSelection),this.editor.on("changeSession",this.$onChangeSession),this.editor.commands.on("afterExec",this.$onAfterExec),this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler)},a.prototype.detach=function(){this.tabstops.forEach(this.removeTabstopMarkers,this),this.ranges.length=0,this.tabstops.length=0,this.selectedTabstop=null,this.editor.off("change",this.$onChange),this.editor.off("changeSelection",this.$onChangeSelection),this.editor.off("changeSession",this.$onChangeSession),this.editor.commands.off("afterExec",this.$onAfterExec),this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.tabstopManager=null,this.session=null,this.editor=null},a.prototype.onChange=function(m){for(var S=m.action[0]=="r",$=this.selectedTabstop||{},w=$.parents||{},T=this.tabstops.slice(),b=0;b<T.length;b++){var g=T[b],d=g==$||w[g.index];if(g.rangeList.$bias=d?0:1,m.action=="remove"&&g!==$){var c=g.parents&&g.parents[$.index],y=g.rangeList.pointIndex(m.start,c);y=y<0?-y-1:y+1;var M=g.rangeList.pointIndex(m.end,c);M=M<0?-M-1:M-1;for(var x=g.rangeList.ranges.slice(y,M),I=0;I<x.length;I++)this.removeRange(x[I])}g.rangeList.$onChange(m)}var _=this.session;!this.$inChange&&S&&_.getLength()==1&&!_.getValue()&&this.detach()},a.prototype.updateLinkedFields=function(){var m=this.selectedTabstop;if(!(!m||!m.hasLinkedRanges||!m.firstNonLinked)){this.$inChange=!0;for(var S=this.session,$=S.getTextRange(m.firstNonLinked),w=0;w<m.length;w++){var T=m[w];if(T.linked){var b=T.original,g=k.snippetManager.tmStrFormat($,b,this.editor);S.replace(T,g)}}this.$inChange=!1}},a.prototype.onAfterExec=function(m){m.command&&!m.command.readOnly&&this.updateLinkedFields()},a.prototype.onChangeSelection=function(){if(this.editor){for(var m=this.editor.selection.lead,S=this.editor.selection.anchor,$=this.editor.selection.isEmpty(),w=0;w<this.ranges.length;w++)if(!this.ranges[w].linked){var T=this.ranges[w].contains(m.row,m.column),b=$||this.ranges[w].contains(S.row,S.column);if(T&&b)return}this.detach()}},a.prototype.onChangeSession=function(){this.detach()},a.prototype.tabNext=function(m){var S=this.tabstops.length,$=this.index+(m||1);$=Math.min(Math.max($,1),S),$==S&&($=0),this.selectTabstop($),this.updateTabstopMarkers(),$===0&&this.detach()},a.prototype.selectTabstop=function(m){this.$openTabstops=null;var S=this.tabstops[this.index];if(S&&this.addTabstopMarkers(S),this.index=m,S=this.tabstops[this.index],!(!S||!S.length)){this.selectedTabstop=S;var $=S.firstNonLinked||S;if(S.choices&&($.cursor=$.start),this.editor.inVirtualSelectionMode)this.editor.selection.fromOrientedRange($);else{var w=this.editor.multiSelect;w.toSingleRange($);for(var T=0;T<S.length;T++)S.hasLinkedRanges&&S[T].linked||w.addRange(S[T].clone(),!0)}this.editor.keyBinding.addKeyboardHandler(this.keyboardHandler),this.selectedTabstop&&this.selectedTabstop.choices&&this.editor.execCommand("startAutocomplete",{matches:this.selectedTabstop.choices})}},a.prototype.addTabstops=function(m,S,$){var w=this.useLink||!this.editor.getOption("enableMultiselect");if(this.$openTabstops||(this.$openTabstops=[]),!m[0]){var T=u.fromPoints($,$);v(T.start,S),v(T.end,S),m[0]=[T],m[0].index=0}var b=this.index,g=[b+1,0],d=this.ranges,c=this.snippetId=(this.snippetId||0)+1;m.forEach(function(y,M){var x=this.$openTabstops[M]||y;x.snippetId=c;for(var I=0;I<y.length;I++){var _=y[I],D=u.fromPoints(_.start,_.end||_.start);C(D.start,S),C(D.end,S),D.original=_,D.tabstop=x,d.push(D),x!=y?x.unshift(D):x[I]=D,_.fmtString||x.firstNonLinked&&w?(D.linked=!0,x.hasLinkedRanges=!0):x.firstNonLinked||(x.firstNonLinked=D)}x.firstNonLinked||(x.hasLinkedRanges=!1),x===y&&(g.push(x),this.$openTabstops[M]=x),this.addTabstopMarkers(x),x.rangeList=x.rangeList||new i,x.rangeList.$bias=0,x.rangeList.addList(x)},this),g.length>2&&(this.tabstops.length&&g.push(g.splice(2,1)[0]),this.tabstops.splice.apply(this.tabstops,g))},a.prototype.addTabstopMarkers=function(m){var S=this.session;m.forEach(function($){$.markerId||($.markerId=S.addMarker($,"ace_snippet-marker","text"))})},a.prototype.removeTabstopMarkers=function(m){var S=this.session;m.forEach(function($){S.removeMarker($.markerId),$.markerId=null})},a.prototype.updateTabstopMarkers=function(){if(this.selectedTabstop){var m=this.selectedTabstop.snippetId;this.selectedTabstop.index===0&&m--,this.tabstops.forEach(function(S){S.snippetId===m?this.addTabstopMarkers(S):this.removeTabstopMarkers(S)},this)}},a.prototype.removeRange=function(m){var S=m.tabstop.indexOf(m);S!=-1&&m.tabstop.splice(S,1),S=this.ranges.indexOf(m),S!=-1&&this.ranges.splice(S,1),S=m.tabstop.rangeList.ranges.indexOf(m),S!=-1&&m.tabstop.splice(S,1),this.session.removeMarker(m.markerId),m.tabstop.length||(S=this.tabstops.indexOf(m.tabstop),S!=-1&&this.tabstops.splice(S,1),this.tabstops.length||this.detach())},a}();f.prototype.keyboardHandler=new o,f.prototype.keyboardHandler.bindKeys({Tab:function(a){k.snippetManager&&k.snippetManager.expandWithTab(a)||(a.tabstopManager.tabNext(1),a.renderer.scrollCursorIntoView())},"Shift-Tab":function(a){a.tabstopManager.tabNext(-1),a.renderer.scrollCursorIntoView()},Esc:function(a){a.tabstopManager.detach()}});var C=function(a,m){a.row==0&&(a.column+=m.column),a.row+=m.row},v=function(a,m){a.row==m.row&&(a.column-=m.column),a.row-=m.row};E.importCssString(`
|
|
992
|
-
.ace_snippet-marker {
|
|
993
|
-
-moz-box-sizing: border-box;
|
|
994
|
-
box-sizing: border-box;
|
|
995
|
-
background: rgba(194, 193, 208, 0.09);
|
|
996
|
-
border: 1px dotted rgba(211, 208, 235, 0.62);
|
|
997
|
-
position: absolute;
|
|
998
|
-
}`,"snippets.css",!1),k.snippetManager=new s;var p=R("./editor").Editor;(function(){this.insertSnippet=function(a,m){return k.snippetManager.insertSnippet(this,a,m)},this.expandSnippet=function(a){return k.snippetManager.expandWithTab(this,a)}}).call(p.prototype)}),ace.define("ace/autocomplete/popup",["require","exports","module","ace/virtual_renderer","ace/editor","ace/range","ace/lib/event","ace/lib/lang","ace/lib/dom","ace/config","ace/lib/useragent"],function(R,k,z){var E=R("../virtual_renderer").VirtualRenderer,L=R("../editor").Editor,A=R("../range").Range,l=R("../lib/event"),u=R("../lib/lang"),i=R("../lib/dom"),o=R("../config").nls,r=R("./../lib/useragent"),t=function(C){return"suggest-aria-id:".concat(C)},e=r.isSafari?"menu":"listbox",n=r.isSafari?"menuitem":"option",s=r.isSafari?"aria-current":"aria-selected",h=function(C){var v=new E(C);v.$maxLines=4;var p=new L(v);return p.setHighlightActiveLine(!1),p.setShowPrintMargin(!1),p.renderer.setShowGutter(!1),p.renderer.setHighlightGutterLine(!1),p.$mouseHandler.$focusTimeout=0,p.$highlightTagPending=!0,p},f=function(){function C(v){var p=i.createElement("div"),a=h(p);v&&v.appendChild(p),p.style.display="none",a.renderer.content.style.cursor="default",a.renderer.setStyle("ace_autocomplete"),a.renderer.$textLayer.element.setAttribute("role",e),a.renderer.$textLayer.element.setAttribute("aria-roledescription",o("autocomplete.popup.aria-roledescription","Autocomplete suggestions")),a.renderer.$textLayer.element.setAttribute("aria-label",o("autocomplete.popup.aria-label","Autocomplete suggestions")),a.renderer.textarea.setAttribute("aria-hidden","true"),a.setOption("displayIndentGuides",!1),a.setOption("dragDelay",150);var m=function(){};a.focus=m,a.$isFocused=!0,a.renderer.$cursorLayer.restartTimer=m,a.renderer.$cursorLayer.element.style.opacity="0",a.renderer.$maxLines=8,a.renderer.$keepTextAreaAtCursor=!1,a.setHighlightActiveLine(!1),a.session.highlight(""),a.session.$searchHighlight.clazz="ace_highlight-marker",a.on("mousedown",function(d){var c=d.getDocumentPosition();a.selection.moveToPosition(c),w.start.row=w.end.row=c.row,d.stop()});var S,$=new A(-1,0,-1,1/0),w=new A(-1,0,-1,1/0);w.id=a.session.addMarker(w,"ace_active-line","fullLine"),a.setSelectOnHover=function(d){d?$.id&&(a.session.removeMarker($.id),$.id=null):$.id=a.session.addMarker($,"ace_line-hover","fullLine")},a.setSelectOnHover(!1),a.on("mousemove",function(d){if(!S){S=d;return}if(!(S.x==d.x&&S.y==d.y)){S=d,S.scrollTop=a.renderer.scrollTop,a.isMouseOver=!0;var c=S.getDocumentPosition().row;$.start.row!=c&&($.id||a.setRow(c),b(c))}}),a.renderer.on("beforeRender",function(){if(S&&$.start.row!=-1){S.$pos=null;var d=S.getDocumentPosition().row;$.id||a.setRow(d),b(d,!0)}}),a.renderer.on("afterRender",function(){for(var d=a.renderer.$textLayer,c=d.config.firstRow,y=d.config.lastRow;c<=y;c++){var M=d.element.childNodes[c-d.config.firstRow];M.setAttribute("role",n),M.setAttribute("aria-roledescription",o("autocomplete.popup.item.aria-roledescription","item")),M.setAttribute("aria-setsize",a.data.length),M.setAttribute("aria-describedby","doc-tooltip"),M.setAttribute("aria-posinset",c+1);var x=a.getData(c);if(x){var I="".concat(x.caption||x.value).concat(x.meta?", ".concat(x.meta):"");M.setAttribute("aria-label",I)}var _=M.querySelectorAll(".ace_completion-highlight");_.forEach(function(D){D.setAttribute("role","mark")})}}),a.renderer.on("afterRender",function(){var d=a.getRow(),c=a.renderer.$textLayer,y=c.element.childNodes[d-c.config.firstRow],M=document.activeElement;if(y!==a.selectedNode&&a.selectedNode&&(i.removeCssClass(a.selectedNode,"ace_selected"),a.selectedNode.removeAttribute(s),a.selectedNode.removeAttribute("id")),M.removeAttribute("aria-activedescendant"),a.selectedNode=y,y){var x=t(d);i.addCssClass(y,"ace_selected"),y.id=x,c.element.setAttribute("aria-activedescendant",x),M.setAttribute("aria-activedescendant",x),y.setAttribute(s,"true")}});var T=function(){b(-1)},b=function(d,c){d!==$.start.row&&($.start.row=$.end.row=d,c||a.session._emit("changeBackMarker"),a._emit("changeHoverMarker"))};a.getHoveredRow=function(){return $.start.row},l.addListener(a.container,"mouseout",function(){a.isMouseOver=!1,T()}),a.on("hide",T),a.on("changeSelection",T),a.session.doc.getLength=function(){return a.data.length},a.session.doc.getLine=function(d){var c=a.data[d];return typeof c=="string"?c:c&&c.value||""};var g=a.session.bgTokenizer;return g.$tokenizeRow=function(d){var c=a.data[d],y=[];if(!c)return y;typeof c=="string"&&(c={value:c});var M=c.caption||c.value||c.name;function x(W,B){W&&y.push({type:(c.className||"")+(B||""),value:W})}for(var I=M.toLowerCase(),_=(a.filterText||"").toLowerCase(),D=0,H=0,N=0;N<=_.length;N++)if(N!=H&&(c.matchMask&1<<N||N==_.length)){var O=_.slice(H,N);H=N;var F=I.indexOf(O,D);if(F==-1)continue;x(M.slice(D,F),""),D=F+O.length,x(M.slice(F,D),"completion-highlight")}return x(M.slice(D,M.length),""),y.push({type:"completion-spacer",value:" "}),c.meta&&y.push({type:"completion-meta",value:c.meta}),c.message&&y.push({type:"completion-message",value:c.message}),y},g.$updateOnChange=m,g.start=m,a.session.$computeWidth=function(){return this.screenWidth=0},a.isOpen=!1,a.isTopdown=!1,a.autoSelect=!0,a.filterText="",a.isMouseOver=!1,a.data=[],a.setData=function(d,c){a.filterText=c||"",a.setValue(u.stringRepeat(`
|
|
999
|
-
`,d.length),-1),a.data=d||[],a.setRow(0)},a.getData=function(d){return a.data[d]},a.getRow=function(){return w.start.row},a.setRow=function(d){d=Math.max(this.autoSelect?0:-1,Math.min(this.data.length-1,d)),w.start.row!=d&&(a.selection.clearSelection(),w.start.row=w.end.row=d||0,a.session._emit("changeBackMarker"),a.moveCursorTo(d||0,0),a.isOpen&&a._signal("select"))},a.on("changeSelection",function(){a.isOpen&&a.setRow(a.selection.lead.row),a.renderer.scrollCursorIntoView()}),a.hide=function(){this.container.style.display="none",a.anchorPos=null,a.anchor=null,a.isOpen&&(a.isOpen=!1,this._signal("hide"))},a.tryShow=function(d,c,y,M){if(!M&&a.isOpen&&a.anchorPos&&a.anchor&&a.anchorPos.top===d.top&&a.anchorPos.left===d.left&&a.anchor===y)return!0;var x=this.container,I=this.renderer.scrollBar.width||10,_=window.innerHeight-I,D=window.innerWidth-I,H=this.renderer,N=H.$maxLines*c*1.4,O={top:0,bottom:0},F=_-d.top-3*this.$borderSize-c,W=d.top-3*this.$borderSize;y||(W<=F||F>=N?y="bottom":y="top"),y==="top"?(O.bottom=d.top-this.$borderSize,O.top=O.bottom-N):y==="bottom"&&(O.top=d.top+c+this.$borderSize,O.bottom=O.top+N);var B=O.top>=0&&O.bottom<=_;if(!M&&!B)return!1;B?H.$maxPixelHeight=null:y==="top"?H.$maxPixelHeight=W:H.$maxPixelHeight=F,y==="top"?(x.style.top="",x.style.bottom=_+I-O.bottom+"px",a.isTopdown=!1):(x.style.top=O.top+"px",x.style.bottom="",a.isTopdown=!0),x.style.display="";var P=d.left;return P+x.offsetWidth>D&&(P=D-x.offsetWidth),x.style.left=P+"px",x.style.right="",a.isOpen||(a.isOpen=!0,this._signal("show"),S=null),a.anchorPos=d,a.anchor=y,!0},a.show=function(d,c,y){this.tryShow(d,c,y?"bottom":void 0,!0)},a.goTo=function(d){var c=this.getRow(),y=this.session.getLength()-1;switch(d){case"up":c=c<=0?y:c-1;break;case"down":c=c>=y?-1:c+1;break;case"start":c=0;break;case"end":c=y;break}this.setRow(c)},a.getTextLeftOffset=function(){return this.$borderSize+this.renderer.$padding+this.$imageSize},a.$imageSize=0,a.$borderSize=1,a}return C}();i.importCssString(`
|
|
1000
|
-
.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
|
|
1001
|
-
background-color: #CAD6FA;
|
|
1002
|
-
z-index: 1;
|
|
1003
|
-
}
|
|
1004
|
-
.ace_dark.ace_editor.ace_autocomplete .ace_marker-layer .ace_active-line {
|
|
1005
|
-
background-color: #3a674e;
|
|
1006
|
-
}
|
|
1007
|
-
.ace_editor.ace_autocomplete .ace_line-hover {
|
|
1008
|
-
border: 1px solid #abbffe;
|
|
1009
|
-
margin-top: -1px;
|
|
1010
|
-
background: rgba(233,233,253,0.4);
|
|
1011
|
-
position: absolute;
|
|
1012
|
-
z-index: 2;
|
|
1013
|
-
}
|
|
1014
|
-
.ace_dark.ace_editor.ace_autocomplete .ace_line-hover {
|
|
1015
|
-
border: 1px solid rgba(109, 150, 13, 0.8);
|
|
1016
|
-
background: rgba(58, 103, 78, 0.62);
|
|
1017
|
-
}
|
|
1018
|
-
.ace_completion-meta {
|
|
1019
|
-
opacity: 0.5;
|
|
1020
|
-
margin-left: 0.9em;
|
|
1021
|
-
}
|
|
1022
|
-
.ace_completion-message {
|
|
1023
|
-
margin-left: 0.9em;
|
|
1024
|
-
color: blue;
|
|
1025
|
-
}
|
|
1026
|
-
.ace_editor.ace_autocomplete .ace_completion-highlight{
|
|
1027
|
-
color: #2d69c7;
|
|
1028
|
-
}
|
|
1029
|
-
.ace_dark.ace_editor.ace_autocomplete .ace_completion-highlight{
|
|
1030
|
-
color: #93ca12;
|
|
1031
|
-
}
|
|
1032
|
-
.ace_editor.ace_autocomplete {
|
|
1033
|
-
width: 300px;
|
|
1034
|
-
z-index: 200000;
|
|
1035
|
-
border: 1px lightgray solid;
|
|
1036
|
-
position: fixed;
|
|
1037
|
-
box-shadow: 2px 3px 5px rgba(0,0,0,.2);
|
|
1038
|
-
line-height: 1.4;
|
|
1039
|
-
background: #fefefe;
|
|
1040
|
-
color: #111;
|
|
1041
|
-
}
|
|
1042
|
-
.ace_dark.ace_editor.ace_autocomplete {
|
|
1043
|
-
border: 1px #484747 solid;
|
|
1044
|
-
box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.51);
|
|
1045
|
-
line-height: 1.4;
|
|
1046
|
-
background: #25282c;
|
|
1047
|
-
color: #c1c1c1;
|
|
1048
|
-
}
|
|
1049
|
-
.ace_autocomplete .ace_text-layer {
|
|
1050
|
-
width: calc(100% - 8px);
|
|
1051
|
-
}
|
|
1052
|
-
.ace_autocomplete .ace_line {
|
|
1053
|
-
display: flex;
|
|
1054
|
-
align-items: center;
|
|
1055
|
-
}
|
|
1056
|
-
.ace_autocomplete .ace_line > * {
|
|
1057
|
-
min-width: 0;
|
|
1058
|
-
flex: 0 0 auto;
|
|
1059
|
-
}
|
|
1060
|
-
.ace_autocomplete .ace_line .ace_ {
|
|
1061
|
-
flex: 0 1 auto;
|
|
1062
|
-
overflow: hidden;
|
|
1063
|
-
text-overflow: ellipsis;
|
|
1064
|
-
}
|
|
1065
|
-
.ace_autocomplete .ace_completion-spacer {
|
|
1066
|
-
flex: 1;
|
|
1067
|
-
}
|
|
1068
|
-
.ace_autocomplete.ace_loading:after {
|
|
1069
|
-
content: "";
|
|
1070
|
-
position: absolute;
|
|
1071
|
-
top: 0px;
|
|
1072
|
-
height: 2px;
|
|
1073
|
-
width: 8%;
|
|
1074
|
-
background: blue;
|
|
1075
|
-
z-index: 100;
|
|
1076
|
-
animation: ace_progress 3s infinite linear;
|
|
1077
|
-
animation-delay: 300ms;
|
|
1078
|
-
transform: translateX(-100%) scaleX(1);
|
|
1079
|
-
}
|
|
1080
|
-
@keyframes ace_progress {
|
|
1081
|
-
0% { transform: translateX(-100%) scaleX(1) }
|
|
1082
|
-
50% { transform: translateX(625%) scaleX(2) }
|
|
1083
|
-
100% { transform: translateX(1500%) scaleX(3) }
|
|
1084
|
-
}
|
|
1085
|
-
@media (prefers-reduced-motion) {
|
|
1086
|
-
.ace_autocomplete.ace_loading:after {
|
|
1087
|
-
transform: translateX(625%) scaleX(2);
|
|
1088
|
-
animation: none;
|
|
1089
|
-
}
|
|
1090
|
-
}
|
|
1091
|
-
`,"autocompletion.css",!1),k.AcePopup=f,k.$singleLineEditor=h,k.getAriaId=t}),ace.define("ace/autocomplete/inline_screenreader",["require","exports","module"],function(R,k,z){var E=function(){function L(A){this.editor=A,this.screenReaderDiv=document.createElement("div"),this.screenReaderDiv.classList.add("ace_screenreader-only"),this.editor.container.appendChild(this.screenReaderDiv)}return L.prototype.setScreenReaderContent=function(A){for(!this.popup&&this.editor.completer&&this.editor.completer.popup&&(this.popup=this.editor.completer.popup,this.popup.renderer.on("afterRender",(function(){var u=this.popup.getRow(),i=this.popup.renderer.$textLayer,o=i.element.childNodes[u-i.config.firstRow];if(o){for(var r="doc-tooltip ",t=0;t<this._lines.length;t++)r+="ace-inline-screenreader-line-".concat(t," ");o.setAttribute("aria-describedby",r)}}).bind(this)));this.screenReaderDiv.firstChild;)this.screenReaderDiv.removeChild(this.screenReaderDiv.firstChild);this._lines=A.split(/\r\n|\r|\n/);var l=this.createCodeBlock();this.screenReaderDiv.appendChild(l)},L.prototype.destroy=function(){this.screenReaderDiv.remove()},L.prototype.createCodeBlock=function(){var A=document.createElement("pre");A.setAttribute("id","ace-inline-screenreader");for(var l=0;l<this._lines.length;l++){var u=document.createElement("code");u.setAttribute("id","ace-inline-screenreader-line-".concat(l));var i=document.createTextNode(this._lines[l]);u.appendChild(i),A.appendChild(u)}return A},L}();k.AceInlineScreenReader=E}),ace.define("ace/autocomplete/inline",["require","exports","module","ace/snippets","ace/autocomplete/inline_screenreader"],function(R,k,z){var E=R("../snippets").snippetManager,L=R("./inline_screenreader").AceInlineScreenReader,A=function(){function l(){this.editor=null}return l.prototype.show=function(u,i,o){if(o=o||"",u&&this.editor&&this.editor!==u&&(this.hide(),this.editor=null,this.inlineScreenReader=null),!u||!i)return!1;this.inlineScreenReader||(this.inlineScreenReader=new L(u));var r=i.snippet?E.getDisplayTextForSnippet(u,i.snippet):i.value;return i.hideInlinePreview||!r||!r.startsWith(o)?!1:(this.editor=u,this.inlineScreenReader.setScreenReaderContent(r),r=r.slice(o.length),r===""?u.removeGhostText():u.setGhostText(r),!0)},l.prototype.isOpen=function(){return this.editor?!!this.editor.renderer.$ghostText:!1},l.prototype.hide=function(){return this.editor?(this.editor.removeGhostText(),!0):!1},l.prototype.destroy=function(){this.hide(),this.editor=null,this.inlineScreenReader&&(this.inlineScreenReader.destroy(),this.inlineScreenReader=null)},l}();k.AceInline=A}),ace.define("ace/autocomplete/util",["require","exports","module"],function(R,k,z){k.parForEach=function(L,A,l){var u=0,i=L.length;i===0&&l();for(var o=0;o<i;o++)A(L[o],function(r,t){u++,u===i&&l(r,t)})};var E=/[a-zA-Z_0-9\$\-\u00A2-\u2000\u2070-\uFFFF]/;k.retrievePrecedingIdentifier=function(L,A,l){l=l||E;for(var u=[],i=A-1;i>=0&&l.test(L[i]);i--)u.push(L[i]);return u.reverse().join("")},k.retrieveFollowingIdentifier=function(L,A,l){l=l||E;for(var u=[],i=A;i<L.length&&l.test(L[i]);i++)u.push(L[i]);return u},k.getCompletionPrefix=function(L){var A=L.getCursorPosition(),l=L.session.getLine(A.row),u;return L.completers.forEach((function(i){i.identifierRegexps&&i.identifierRegexps.forEach((function(o){!u&&o&&(u=this.retrievePrecedingIdentifier(l,A.column,o))}).bind(this))}).bind(this)),u||this.retrievePrecedingIdentifier(l,A.column)},k.triggerAutocomplete=function(L,l){var l=l??L.session.getPrecedingCharacter();return L.completers.some(function(u){if(u.triggerCharacters&&Array.isArray(u.triggerCharacters))return u.triggerCharacters.includes(l)})}}),ace.define("ace/autocomplete",["require","exports","module","ace/keyboard/hash_handler","ace/autocomplete/popup","ace/autocomplete/inline","ace/autocomplete/popup","ace/autocomplete/util","ace/lib/lang","ace/lib/dom","ace/snippets","ace/config","ace/lib/event","ace/lib/scroll"],function(R,k,z){var E=R("./keyboard/hash_handler").HashHandler,L=R("./autocomplete/popup").AcePopup,A=R("./autocomplete/inline").AceInline,l=R("./autocomplete/popup").getAriaId,u=R("./autocomplete/util"),i=R("./lib/lang"),o=R("./lib/dom"),r=R("./snippets").snippetManager,t=R("./config"),e=R("./lib/event"),n=R("./lib/scroll").preventParentScroll,s=function(v,p){p.completer&&p.completer.destroy()},h=function(){function v(){this.autoInsert=!1,this.autoSelect=!0,this.autoShown=!1,this.exactMatch=!1,this.inlineEnabled=!1,this.keyboardHandler=new E,this.keyboardHandler.bindKeys(this.commands),this.parentNode=null,this.setSelectOnHover=!1,this.hasSeen=new Set,this.showLoadingState=!1,this.stickySelectionDelay=500,this.blurListener=this.blurListener.bind(this),this.changeListener=this.changeListener.bind(this),this.mousedownListener=this.mousedownListener.bind(this),this.mousewheelListener=this.mousewheelListener.bind(this),this.onLayoutChange=this.onLayoutChange.bind(this),this.changeTimer=i.delayedCall((function(){this.updateCompletions(!0)}).bind(this)),this.tooltipTimer=i.delayedCall(this.updateDocTooltip.bind(this),50),this.popupTimer=i.delayedCall(this.$updatePopupPosition.bind(this),50),this.stickySelectionTimer=i.delayedCall((function(){this.stickySelection=!0}).bind(this),this.stickySelectionDelay),this.$firstOpenTimer=i.delayedCall((function(){var p=this.completionProvider&&this.completionProvider.initialPosition;this.autoShown||this.popup&&this.popup.isOpen||!p||this.editor.completers.length===0||(this.completions=new C(v.completionsForLoading),this.openPopup(this.editor,p.prefix,!1),this.popup.renderer.setStyle("ace_loading",!0))}).bind(this),this.stickySelectionDelay)}return Object.defineProperty(v,"completionsForLoading",{get:function(){return[{caption:t.nls("autocomplete.loading","Loading..."),value:""}]},enumerable:!1,configurable:!0}),v.prototype.$init=function(){return this.popup=new L(this.parentNode||document.body||document.documentElement),this.popup.on("click",(function(p){this.insertMatch(),p.stop()}).bind(this)),this.popup.focus=this.editor.focus.bind(this.editor),this.popup.on("show",this.$onPopupShow.bind(this)),this.popup.on("hide",this.$onHidePopup.bind(this)),this.popup.on("select",this.$onPopupChange.bind(this)),e.addListener(this.popup.container,"mouseout",this.mouseOutListener.bind(this)),this.popup.on("changeHoverMarker",this.tooltipTimer.bind(null,null)),this.popup.renderer.on("afterRender",this.$onPopupRender.bind(this)),this.popup},v.prototype.$initInline=function(){if(!(!this.inlineEnabled||this.inlineRenderer))return this.inlineRenderer=new A,this.inlineRenderer},v.prototype.getPopup=function(){return this.popup||this.$init()},v.prototype.$onHidePopup=function(){this.inlineRenderer&&this.inlineRenderer.hide(),this.hideDocTooltip(),this.stickySelectionTimer.cancel(),this.popupTimer.cancel(),this.stickySelection=!1},v.prototype.$seen=function(p){!this.hasSeen.has(p)&&p&&p.completer&&p.completer.onSeen&&typeof p.completer.onSeen=="function"&&(p.completer.onSeen(this.editor,p),this.hasSeen.add(p))},v.prototype.$onPopupChange=function(p){if(this.inlineRenderer&&this.inlineEnabled){var a=p?null:this.popup.getData(this.popup.getRow());if(this.$updateGhostText(a),this.popup.isMouseOver&&this.setSelectOnHover){this.tooltipTimer.call(null,null);return}this.popupTimer.schedule(),this.tooltipTimer.schedule()}else this.popupTimer.call(null,null),this.tooltipTimer.call(null,null)},v.prototype.$updateGhostText=function(p){var a=this.base.row,m=this.base.column,S=this.editor.getCursorPosition().column,$=this.editor.session.getLine(a).slice(m,S);this.inlineRenderer.show(this.editor,p,$)?this.$seen(p):this.inlineRenderer.hide()},v.prototype.$onPopupRender=function(){var p=this.inlineRenderer&&this.inlineEnabled;if(this.completions&&this.completions.filtered&&this.completions.filtered.length>0)for(var a=this.popup.getFirstVisibleRow();a<=this.popup.getLastVisibleRow();a++){var m=this.popup.getData(a);m&&(!p||m.hideInlinePreview)&&this.$seen(m)}},v.prototype.$onPopupShow=function(p){this.$onPopupChange(p),this.stickySelection=!1,this.stickySelectionDelay>=0&&this.stickySelectionTimer.schedule(this.stickySelectionDelay)},v.prototype.observeLayoutChanges=function(){if(!(this.$elements||!this.editor)){window.addEventListener("resize",this.onLayoutChange,{passive:!0}),window.addEventListener("wheel",this.mousewheelListener);for(var p=this.editor.container.parentNode,a=[];p;)a.push(p),p.addEventListener("scroll",this.onLayoutChange,{passive:!0}),p=p.parentNode;this.$elements=a}},v.prototype.unObserveLayoutChanges=function(){var p=this;window.removeEventListener("resize",this.onLayoutChange,{passive:!0}),window.removeEventListener("wheel",this.mousewheelListener),this.$elements&&this.$elements.forEach(function(a){a.removeEventListener("scroll",p.onLayoutChange,{passive:!0})}),this.$elements=null},v.prototype.onLayoutChange=function(){if(!this.popup.isOpen)return this.unObserveLayoutChanges();this.$updatePopupPosition(),this.updateDocTooltip()},v.prototype.$updatePopupPosition=function(){var p=this.editor,a=p.renderer,m=a.layerConfig.lineHeight,S=a.$cursorLayer.getPixelPosition(this.base,!0);S.left-=this.popup.getTextLeftOffset();var $=p.container.getBoundingClientRect();S.top+=$.top-a.layerConfig.offset,S.left+=$.left-p.renderer.scrollLeft,S.left+=a.gutterWidth;var w={top:S.top,left:S.left};a.$ghostText&&a.$ghostTextWidget&&this.base.row===a.$ghostText.position.row&&(w.top+=a.$ghostTextWidget.el.offsetHeight);var T=p.container.getBoundingClientRect().bottom-m,b=T<w.top?{top:T,left:w.left}:w;this.popup.tryShow(b,m,"bottom")||this.popup.tryShow(S,m,"top")||this.popup.show(S,m)},v.prototype.openPopup=function(p,a,m){this.$firstOpenTimer.cancel(),this.popup||this.$init(),this.inlineEnabled&&!this.inlineRenderer&&this.$initInline(),this.popup.autoSelect=this.autoSelect,this.popup.setSelectOnHover(this.setSelectOnHover);var S=this.popup.getRow(),$=this.popup.data[S];this.popup.setData(this.completions.filtered,this.completions.filterText),this.editor.textInput.setAriaOptions&&this.editor.textInput.setAriaOptions({activeDescendant:l(this.popup.getRow()),inline:this.inlineEnabled}),p.keyBinding.addKeyboardHandler(this.keyboardHandler);var w;this.stickySelection&&(w=this.popup.data.indexOf($)),(!w||w===-1)&&(w=0),this.popup.setRow(this.autoSelect?w:-1),w===S&&$!==this.completions.filtered[w]&&this.$onPopupChange();var T=this.inlineRenderer&&this.inlineEnabled;if(w===S&&T){var b=this.popup.getData(this.popup.getRow());this.$updateGhostText(b)}m||(this.popup.setTheme(p.getTheme()),this.popup.setFontSize(p.getFontSize()),this.$updatePopupPosition(),this.tooltipNode&&this.updateDocTooltip()),this.changeTimer.cancel(),this.observeLayoutChanges()},v.prototype.detach=function(){this.editor&&(this.editor.keyBinding.removeKeyboardHandler(this.keyboardHandler),this.editor.off("changeSelection",this.changeListener),this.editor.off("blur",this.blurListener),this.editor.off("mousedown",this.mousedownListener),this.editor.off("mousewheel",this.mousewheelListener)),this.$firstOpenTimer.cancel(),this.changeTimer.cancel(),this.hideDocTooltip(),this.completionProvider&&this.completionProvider.detach(),this.popup&&this.popup.isOpen&&this.popup.hide(),this.popup&&this.popup.renderer&&this.popup.renderer.off("afterRender",this.$onPopupRender),this.base&&this.base.detach(),this.activated=!1,this.completionProvider=this.completions=this.base=null,this.unObserveLayoutChanges()},v.prototype.changeListener=function(p){var a=this.editor.selection.lead;(a.row!=this.base.row||a.column<this.base.column)&&this.detach(),this.activated?this.changeTimer.schedule():this.detach()},v.prototype.blurListener=function(p){var a=document.activeElement,m=this.editor.textInput.getElement(),S=p.relatedTarget&&this.tooltipNode&&this.tooltipNode.contains(p.relatedTarget),$=this.popup&&this.popup.container;a!=m&&a.parentNode!=$&&!S&&a!=this.tooltipNode&&p.relatedTarget!=m&&this.detach()},v.prototype.mousedownListener=function(p){this.detach()},v.prototype.mousewheelListener=function(p){this.popup&&!this.popup.isMouseOver&&this.detach()},v.prototype.mouseOutListener=function(p){this.popup.isOpen&&this.$updatePopupPosition()},v.prototype.goTo=function(p){this.popup.goTo(p)},v.prototype.insertMatch=function(p,a){if(p||(p=this.popup.getData(this.popup.getRow())),!p)return!1;if(p.value==="")return this.detach();var m=this.completions,S=this.getCompletionProvider().insertMatch(this.editor,p,m.filterText,a);return this.completions==m&&this.detach(),S},v.prototype.showPopup=function(p,a){this.editor&&this.detach(),this.activated=!0,this.editor=p,p.completer!=this&&(p.completer&&p.completer.detach(),p.completer=this),p.on("changeSelection",this.changeListener),p.on("blur",this.blurListener),p.on("mousedown",this.mousedownListener),p.on("mousewheel",this.mousewheelListener),this.updateCompletions(!1,a)},v.prototype.getCompletionProvider=function(p){return this.completionProvider||(this.completionProvider=new f(p)),this.completionProvider},v.prototype.gatherCompletions=function(p,a){return this.getCompletionProvider().gatherCompletions(p,a)},v.prototype.updateCompletions=function(p,a){if(p&&this.base&&this.completions){var S=this.editor.getCursorPosition(),$=this.editor.session.getTextRange({start:this.base,end:S});if($==this.completions.filterText)return;if(this.completions.setFilter($),!this.completions.filtered.length)return this.detach();if(this.completions.filtered.length==1&&this.completions.filtered[0].value==$&&!this.completions.filtered[0].snippet)return this.detach();this.openPopup(this.editor,$,p);return}if(a&&a.matches){var S=this.editor.getSelectionRange().start;return this.base=this.editor.session.doc.createAnchor(S.row,S.column),this.base.$insertRight=!0,this.completions=new C(a.matches),this.getCompletionProvider().completions=this.completions,this.openPopup(this.editor,"",p)}var m=this.editor.getSession(),S=this.editor.getCursorPosition(),$=u.getCompletionPrefix(this.editor);this.base=m.doc.createAnchor(S.row,S.column-$.length),this.base.$insertRight=!0;var w={exactMatch:this.exactMatch,ignoreCaption:this.ignoreCaption};this.getCompletionProvider({prefix:$,pos:S}).provideCompletions(this.editor,w,(function(T,b,g){var d=b.filtered,c=u.getCompletionPrefix(this.editor);if(this.$firstOpenTimer.cancel(),g){if(!d.length){var y=!this.autoShown&&this.emptyMessage;if(typeof y=="function"&&(y=this.emptyMessage(c)),y){var M=[{caption:y,value:""}];this.completions=new C(M),this.openPopup(this.editor,c,p),this.popup.renderer.setStyle("ace_loading",!1),this.popup.renderer.setStyle("ace_empty-message",!0);return}return this.detach()}if(d.length==1&&d[0].value==c&&!d[0].snippet)return this.detach();if(this.autoInsert&&!this.autoShown&&d.length==1)return this.insertMatch(d[0])}this.completions=!g&&this.showLoadingState?new C(v.completionsForLoading.concat(d),b.filterText):b,this.openPopup(this.editor,c,p),this.popup.renderer.setStyle("ace_empty-message",!1),this.popup.renderer.setStyle("ace_loading",!g)}).bind(this)),this.showLoadingState&&!this.autoShown&&!(this.popup&&this.popup.isOpen)&&this.$firstOpenTimer.delay(this.stickySelectionDelay/2)},v.prototype.cancelContextMenu=function(){this.editor.$mouseHandler.cancelContextMenu()},v.prototype.updateDocTooltip=function(){var p=this.popup,a=this.completions&&this.completions.filtered,m=a&&(a[p.getHoveredRow()]||a[p.getRow()]),S=null;if(!m||!this.editor||!this.popup.isOpen)return this.hideDocTooltip();for(var $=this.editor.completers.length,w=0;w<$;w++){var T=this.editor.completers[w];if(T.getDocTooltip&&m.completerId===T.id){S=T.getDocTooltip(m);break}}if(!S&&typeof m!="string"&&(S=m),typeof S=="string"&&(S={docText:S}),!S||!(S.docHTML||S.docText))return this.hideDocTooltip();this.showDocTooltip(S)},v.prototype.showDocTooltip=function(p){this.tooltipNode||(this.tooltipNode=o.createElement("div"),this.tooltipNode.style.margin="0",this.tooltipNode.style.pointerEvents="auto",this.tooltipNode.style.overscrollBehavior="contain",this.tooltipNode.tabIndex=-1,this.tooltipNode.onblur=this.blurListener.bind(this),this.tooltipNode.onclick=this.onTooltipClick.bind(this),this.tooltipNode.id="doc-tooltip",this.tooltipNode.setAttribute("role","tooltip"),this.tooltipNode.addEventListener("wheel",n));var a=this.editor.renderer.theme;this.tooltipNode.className="ace_tooltip ace_doc-tooltip "+(a.isDark?"ace_dark ":"")+(a.cssClass||"");var m=this.tooltipNode;p.docHTML?m.innerHTML=p.docHTML:p.docText&&(m.textContent=p.docText),m.parentNode||this.popup.container.appendChild(this.tooltipNode);var S=this.popup,$=S.container.getBoundingClientRect(),w=400,T=300,b=S.renderer.scrollBar.width||10,g=$.left,d=window.innerWidth-$.right-b,c=S.isTopdown?$.top:window.innerHeight-b-$.bottom,y=[Math.min(d/w,1),Math.min(g/w,1),Math.min(c/T*.9)],M=Math.max.apply(Math,y),x=m.style;x.display="block",M==y[0]?(x.left=$.right+1+"px",x.right="",x.maxWidth=w*M+"px",x.top=$.top+"px",x.bottom="",x.maxHeight=Math.min(window.innerHeight-b-$.top,T)+"px"):M==y[1]?(x.right=window.innerWidth-$.left+"px",x.left="",x.maxWidth=w*M+"px",x.top=$.top+"px",x.bottom="",x.maxHeight=Math.min(window.innerHeight-b-$.top,T)+"px"):M==y[2]&&(x.left=window.innerWidth-$.left+"px",x.maxWidth=Math.min(w,window.innerWidth)+"px",S.isTopdown?(x.top=$.bottom+"px",x.left=$.left+"px",x.right="",x.bottom="",x.maxHeight=Math.min(window.innerHeight-b-$.bottom,T)+"px"):(x.top=S.container.offsetTop-m.offsetHeight+"px",x.left=$.left+"px",x.right="",x.bottom="",x.maxHeight=Math.min(S.container.offsetTop,T)+"px"))},v.prototype.hideDocTooltip=function(){if(this.tooltipTimer.cancel(),!!this.tooltipNode){var p=this.tooltipNode;!this.editor.isFocused()&&document.activeElement==p&&this.editor.focus(),this.tooltipNode=null,p.parentNode&&p.parentNode.removeChild(p)}},v.prototype.onTooltipClick=function(p){for(var a=p.target;a&&a!=this.tooltipNode;){if(a.nodeName=="A"&&a.href){a.rel="noreferrer",a.target="_blank";break}a=a.parentNode}},v.prototype.destroy=function(){if(this.detach(),this.popup){this.popup.destroy();var p=this.popup.container;p&&p.parentNode&&p.parentNode.removeChild(p)}this.editor&&this.editor.completer==this&&(this.editor.off("destroy",s),this.editor.completer=null),this.inlineRenderer=this.popup=this.editor=null},v.for=function(p){return p.completer instanceof v||(p.completer&&(p.completer.destroy(),p.completer=null),t.get("sharedPopups")?(v.$sharedInstance||(v.$sharedInstance=new v),p.completer=v.$sharedInstance):(p.completer=new v,p.once("destroy",s))),p.completer},v}();h.prototype.commands={Up:function(v){v.completer.goTo("up")},Down:function(v){v.completer.goTo("down")},"Ctrl-Up|Ctrl-Home":function(v){v.completer.goTo("start")},"Ctrl-Down|Ctrl-End":function(v){v.completer.goTo("end")},Esc:function(v){v.completer.detach()},Return:function(v){return v.completer.insertMatch()},"Shift-Return":function(v){v.completer.insertMatch(null,{deleteSuffix:!0})},Tab:function(v){var p=v.completer.insertMatch();if(!p&&!v.tabstopManager)v.completer.goTo("down");else return p},Backspace:function(v){v.execCommand("backspace");var p=u.getCompletionPrefix(v);!p&&v.completer&&v.completer.detach()},PageUp:function(v){v.completer.popup.gotoPageUp()},PageDown:function(v){v.completer.popup.gotoPageDown()}},h.startCommand={name:"startAutocomplete",exec:function(v,p){var a=h.for(v);a.autoInsert=!1,a.autoSelect=!0,a.autoShown=!1,a.showPopup(v,p),a.cancelContextMenu()},bindKey:"Ctrl-Space|Ctrl-Shift-Space|Alt-Space"};var f=function(){function v(p){this.initialPosition=p,this.active=!0}return v.prototype.insertByIndex=function(p,a,m){return!this.completions||!this.completions.filtered?!1:this.insertMatch(p,this.completions.filtered[a],m)},v.prototype.insertMatch=function(p,a,m){if(!a)return!1;if(p.startOperation({command:{name:"insertMatch"}}),a.completer&&a.completer.insertMatch)a.completer.insertMatch(p,a);else{if(!this.completions)return!1;var S=this.completions.filterText.length,$=0;if(a.range&&a.range.start.row===a.range.end.row&&(S-=this.initialPosition.prefix.length,S+=this.initialPosition.pos.column-a.range.start.column,$+=a.range.end.column-this.initialPosition.pos.column),S||$){var w;p.selection.getAllRanges?w=p.selection.getAllRanges():w=[p.getSelectionRange()];for(var T=0,b;b=w[T];T++)b.start.column-=S,b.end.column+=$,p.session.remove(b)}a.snippet?r.insertSnippet(p,a.snippet):this.$insertString(p,a),a.completer&&a.completer.onInsert&&typeof a.completer.onInsert=="function"&&a.completer.onInsert(p,a),a.command&&a.command==="startAutocomplete"&&p.execCommand(a.command)}return p.endOperation(),!0},v.prototype.$insertString=function(p,a){var m=a.value||a;p.execCommand("insertstring",m)},v.prototype.gatherCompletions=function(p,a){var m=p.getSession(),S=p.getCursorPosition(),$=u.getCompletionPrefix(p),w=[];this.completers=p.completers;var T=p.completers.length;return p.completers.forEach(function(b,g){b.getCompletions(p,m,S,$,function(d,c){b.hideInlinePreview&&(c=c.map(function(y){return Object.assign(y,{hideInlinePreview:b.hideInlinePreview})})),!d&&c&&(w=w.concat(c)),a(null,{prefix:u.getCompletionPrefix(p),matches:w,finished:--T===0})})}),!0},v.prototype.provideCompletions=function(p,a,m){var S=(function(b){var g=b.prefix,d=b.matches;this.completions=new C(d),a.exactMatch&&(this.completions.exactMatch=!0),a.ignoreCaption&&(this.completions.ignoreCaption=!0),this.completions.setFilter(g),(b.finished||this.completions.filtered.length)&&m(null,this.completions,b.finished)}).bind(this),$=!0,w=null;if(this.gatherCompletions(p,(function(b,g){if(this.active){b&&(m(b,[],!0),this.detach());var d=g.prefix;if(d.indexOf(g.prefix)===0){if($){w=g;return}S(g)}}}).bind(this)),$=!1,w){var T=w;w=null,S(T)}},v.prototype.detach=function(){this.active=!1,this.completers&&this.completers.forEach(function(p){typeof p.cancel=="function"&&p.cancel()})},v}(),C=function(){function v(p,a){this.all=p,this.filtered=p,this.filterText=a||"",this.exactMatch=!1,this.ignoreCaption=!1}return v.prototype.setFilter=function(p){if(p.length>this.filterText&&p.lastIndexOf(this.filterText,0)===0)var a=this.filtered;else var a=this.all;this.filterText=p,a=this.filterCompletions(a,this.filterText),a=a.sort(function(S,$){return $.exactMatch-S.exactMatch||$.$score-S.$score||(S.caption||S.value).localeCompare($.caption||$.value)});var m=null;a=a.filter(function(S){var $=S.snippet||S.caption||S.value;return $===m?!1:(m=$,!0)}),this.filtered=a},v.prototype.filterCompletions=function(p,a){var m=[],S=a.toUpperCase(),$=a.toLowerCase();e:for(var w=0,T;T=p[w];w++){if(T.skipFilter){T.$score=T.score,m.push(T);continue}var b=!this.ignoreCaption&&T.caption||T.value||T.snippet;if(b){var g=-1,d=0,c=0,y,M;if(this.exactMatch){if(a!==b.substr(0,a.length))continue e}else{var x=b.toLowerCase().indexOf($);if(x>-1)c=x;else for(var I=0;I<a.length;I++){var _=b.indexOf($[I],g+1),D=b.indexOf(S[I],g+1);if(y=_>=0&&(D<0||_<D)?_:D,y<0)continue e;M=y-g-1,M>0&&(g===-1&&(c+=10),c+=M,d=d|1<<I),g=y}}T.matchMask=d,T.exactMatch=c?0:1,T.$score=(T.score||0)-c,m.push(T)}}return m},v}();k.Autocomplete=h,k.CompletionProvider=f,k.FilteredList=C}),ace.define("ace/marker_group",["require","exports","module"],function(R,k,z){var E=function(){function L(A,l){l&&(this.markerType=l.markerType),this.markers=[],this.session=A,A.addDynamicMarker(this)}return L.prototype.getMarkerAtPosition=function(A){return this.markers.find(function(l){return l.range.contains(A.row,A.column)})},L.prototype.markersComparator=function(A,l){return A.range.start.row-l.range.start.row},L.prototype.setMarkers=function(A){this.markers=A.sort(this.markersComparator).slice(0,this.MAX_MARKERS),this.session._signal("changeBackMarker")},L.prototype.update=function(A,l,u,i){if(!(!this.markers||!this.markers.length))for(var o=i.firstRow,r=i.lastRow,t,e=0,n=0,s=0;s<this.markers.length;s++){var h=this.markers[s];if(!(h.range.end.row<o)&&!(h.range.start.row>r)&&(h.range.start.row===n?e++:(n=h.range.start.row,e=0),!(e>200))){var f=h.range.clipRows(o,r);if(!(f.start.row===f.end.row&&f.start.column===f.end.column)){var C=f.toScreenRange(u);if(C.isEmpty()){t=u.getNextFoldLine(f.end.row,t),t&&t.end.row>f.end.row&&(o=t.end.row);continue}this.markerType==="fullLine"?l.drawFullLineMarker(A,C,h.className,i):C.isMultiLine()?this.markerType==="line"?l.drawMultiLineMarker(A,C,h.className,i):l.drawTextMarker(A,C,h.className,i):l.drawSingleLineMarker(A,C,h.className+" ace_br15",i)}}}},L}();E.prototype.MAX_MARKERS=1e4,k.MarkerGroup=E}),ace.define("ace/autocomplete/text_completer",["require","exports","module","ace/range"],function(R,k,z){var E=R("../range").Range,L=/[^a-zA-Z_0-9\$\-\u00C0-\u1FFF\u2C00-\uD7FF\w]+/;function A(u,i){var o=u.getTextRange(E.fromPoints({row:0,column:0},i));return o.split(L).length-1}function l(u,i){var o=A(u,i),r=u.getValue().split(L),t=Object.create(null),e=r[o];return r.forEach(function(n,s){if(!(!n||n===e)){var h=Math.abs(o-s),f=r.length-h;t[n]?t[n]=Math.max(f,t[n]):t[n]=f}}),t}k.getCompletions=function(u,i,o,r,t){var e=l(i,o),n=Object.keys(e);t(null,n.map(function(s){return{caption:s,value:s,score:e[s],meta:"local"}}))}}),ace.define("ace/ext/language_tools",["require","exports","module","ace/snippets","ace/autocomplete","ace/config","ace/lib/lang","ace/autocomplete/util","ace/marker_group","ace/autocomplete/text_completer","ace/editor","ace/config"],function(R,k,z){var E=R("../snippets").snippetManager,L=R("../autocomplete").Autocomplete,A=R("../config"),l=R("../lib/lang"),u=R("../autocomplete/util"),i=R("../marker_group").MarkerGroup,o=R("../autocomplete/text_completer"),r={getCompletions:function($,w,T,b,g){if(w.$mode.completer)return w.$mode.completer.getCompletions($,w,T,b,g);var d=$.session.getState(T.row),c=w.$mode.getCompletions(d,w,T,b);c=c.map(function(y){return y.completerId=r.id,y}),g(null,c)},id:"keywordCompleter"},t=function($){var w={};return $.replace(/\${(\d+)(:(.*?))?}/g,function(T,b,g,d){return w[b]=d||""}).replace(/\$(\d+?)/g,function(T,b){return w[b]})},e={getCompletions:function($,w,T,b,g){var d=[],c=w.getTokenAt(T.row,T.column);c&&c.type.match(/(tag-name|tag-open|tag-whitespace|attribute-name|attribute-value)\.xml$/)?d.push("html-tag"):d=E.getActiveScopes($);var y=E.snippetMap,M=[];d.forEach(function(x){for(var I=y[x]||[],_=I.length;_--;){var D=I[_],H=D.name||D.tabTrigger;H&&M.push({caption:H,snippet:D.content,meta:D.tabTrigger&&!D.name?D.tabTrigger+"⇥ ":"snippet",completerId:e.id})}},this),g(null,M)},getDocTooltip:function($){$.snippet&&!$.docHTML&&($.docHTML=["<b>",l.escapeHTML($.caption),"</b>","<hr></hr>",l.escapeHTML(t($.snippet))].join(""))},id:"snippetCompleter"},n=[e,o,r];k.setCompleters=function($){n.length=0,$&&n.push.apply(n,$)},k.addCompleter=function($){n.push($)},k.textCompleter=o,k.keyWordCompleter=r,k.snippetCompleter=e;var s={name:"expandSnippet",exec:function($){return E.expandWithTab($)},bindKey:"Tab"},h=function($,w){f(w.session.$mode)},f=function($){typeof $=="string"&&($=A.$modes[$]),$&&(E.files||(E.files={}),C($.$id,$.snippetFileId),$.modes&&$.modes.forEach(f))},C=function($,w){!w||!$||E.files[$]||(E.files[$]={},A.loadModule(w,function(T){T&&(E.files[$]=T,!T.snippets&&T.snippetText&&(T.snippets=E.parseSnippetFile(T.snippetText)),E.register(T.snippets||[],T.scope),T.includeScopes&&(E.snippetMap[T.scope].includeScopes=T.includeScopes,T.includeScopes.forEach(function(b){f("ace/mode/"+b)})))}))},v=function($){var w=$.editor,T=w.completer&&w.completer.activated;if($.command.name==="backspace")T&&!u.getCompletionPrefix(w)&&w.completer.detach();else if($.command.name==="insertstring"&&!T){p=$;var b=$.editor.$liveAutocompletionDelay;b?a.delay(b):m($)}},p,a=l.delayedCall(function(){m(p)},0),m=function($){var w=$.editor,T=u.getCompletionPrefix(w),b=$.args,g=u.triggerAutocomplete(w,b);if(T&&T.length>=w.$liveAutocompletionThreshold||g){var d=L.for(w);d.autoShown=!0,d.showPopup(w)}},S=R("../editor").Editor;R("../config").defineOptions(S.prototype,"editor",{enableBasicAutocompletion:{set:function($){$?(L.for(this),this.completers||(this.completers=Array.isArray($)?$:n),this.commands.addCommand(L.startCommand)):this.commands.removeCommand(L.startCommand)},value:!1},enableLiveAutocompletion:{set:function($){$?(this.completers||(this.completers=Array.isArray($)?$:n),this.commands.on("afterExec",v)):this.commands.off("afterExec",v)},value:!1},liveAutocompletionDelay:{initialValue:0},liveAutocompletionThreshold:{initialValue:0},enableSnippets:{set:function($){$?(this.commands.addCommand(s),this.on("changeMode",h),h(null,this)):(this.commands.removeCommand(s),this.off("changeMode",h))},value:!1}}),k.MarkerGroup=i}),function(){ace.require(["ace/ext/language_tools"],function(R){le&&(le.exports=R)})}()}(ye)),ye.exports}Ee();export{Ie as a,ke as b,Oe as c,_e as m,De as t,Ne as w};
|